class PacketGen::Header::IGMPv3::MQ
IGMPv3
Membership Query.
This is a subpayload for IGMPv3
packets only. This kind of payload is sent by IP
multicast routers to query the multicast reception state of neighboring interfaces. Queries has following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Resv |S| QRV | QQIC | Number of Sources (N) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address [1] | +- -+ | Source Address [2] | +- . -+ . . . . . . +- -+ | Source Address [N] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Fields are:
-
32-bit {#group_addr} field ({Header::IP::Addr} type),
-
4-bit {#resv}, a reserved field,
-
1-bit {#flag_s} (Suppress Router-Side Processing),
-
3-bit {#qrv} (Querier's Robustness Variable),
-
8-bit {#qqic} (Querier's Query Interval Code),
-
16-bit {#number_of_sources},
-
{#source_addr} field, a {IP::ArrayOfAddr} to handle sources addresses.
@author Sylvain Daubert
Public Instance Methods
Get QQIC value @note May return a different value from value previously set, as a
float encoding is used to encode big values. See {IGMPv3.decode}.
@return [Integer]
# File lib/packetgen/header/igmpv3/mq.rb, line 83 def qqic IGMPv3.decode self[:qqic].to_i end
Set QQIC value @note See {IGMPv3.encode}. @param [Integer] value @return [Integer]
# File lib/packetgen/header/igmpv3/mq.rb, line 91 def qqic=(value) self[:qqic].value = IGMPv3.encode(value) end