os_ken.lib.packet.icmpv6.
echo
(id_=0, seq=0, data=None)¶ICMPv6 sub encoder/decoder class for Echo Request and Echo Reply messages.
This is used with os_ken.lib.packet.icmpv6.icmpv6 for ICMPv6 Echo Request and Echo Reply messages.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
id |
Identifier |
seq |
Sequence Number |
data |
Data |
os_ken.lib.packet.icmpv6.
icmpv6
(type_=0, code=0, csum=0, data=b'')¶ICMPv6 (RFC 2463) header encoder/decoder class.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
type_ |
Type |
code |
Code |
csum |
CheckSum (0 means automatically-calculate when encoding) |
data |
Payload. os_ken.lib.packet.icmpv6.echo object, os_ken.lib.packet.icmpv6.nd_neighbor object, os_ken.lib.packet.icmpv6.nd_router_solicit object, os_ken.lib.packet.icmpv6.nd_router_advert object, os_ken.lib.packet.icmpv6.mld object, or a bytearray. |
parser
(buf)¶Decode a protocol header.
This method is used only when decoding a packet.
Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.
An object to describe the decoded header.
A packet_base.PacketBase subclass appropriate for the rest of the packet. None when the rest of the packet should be considered as raw payload.
The rest of packet.
serialize
(payload, prev)¶Encode a protocol header.
This method is used only when encoding a packet.
Encode a protocol header. Returns a bytearray which contains the header.
payload is the rest of the packet which will immediately follow this header.
prev is a packet_base.PacketBase subclass for the outer protocol header. prev is None if the current header is the outer-most. For example, prev is ipv4 or ipv6 for tcp.serialize.
os_ken.lib.packet.icmpv6.
mld
(maxresp=0, address='::')¶ICMPv6 sub encoder/decoder class for MLD Lister Query, MLD Listener Report, and MLD Listener Done messages. (RFC 2710)
http://www.ietf.org/rfc/rfc2710.txt
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
maxresp |
max response time in millisecond. it is meaningful only in Query Message. |
address |
a group address value. |
os_ken.lib.packet.icmpv6.
mldv2_query
(maxresp=0, address='::', s_flg=0, qrv=2, qqic=0, num=0, srcs=None)¶ICMPv6 sub encoder/decoder class for MLD v2 Lister Query messages. (RFC 3810)
http://www.ietf.org/rfc/rfc3810.txt
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
maxresp |
max response time in millisecond. it is meaningful only in Query Message. |
address |
a group address value. |
s_flg |
when set to 1, routers suppress the timer process. |
qrv |
robustness variable for a querier. |
qqic |
an interval time for a querier in unit of seconds. |
num |
a number of the multicast servers. |
srcs |
a list of IPv6 addresses of the multicast servers. |
os_ken.lib.packet.icmpv6.
mldv2_report
(record_num=0, records=None)¶ICMPv6 sub encoder/decoder class for MLD v2 Lister Report messages. (RFC 3810)
http://www.ietf.org/rfc/rfc3810.txt
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
record_num |
a number of the group records. |
records |
a list of os_ken.lib.packet.icmpv6.mldv2_report_group. None if no records. |
os_ken.lib.packet.icmpv6.
mldv2_report_group
(type_=0, aux_len=0, num=0, address='::', srcs=None, aux=None)¶ICMPv6 sub encoder/decoder class for MLD v2 Lister Report Group Record messages. (RFC 3810)
This is used with os_ken.lib.packet.icmpv6.mldv2_report.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
type_ |
a group record type for v3. |
aux_len |
the length of the auxiliary data in 32-bit words. |
num |
a number of the multicast servers. |
address |
a group address value. |
srcs |
a list of IPv6 addresses of the multicast servers. |
aux |
the auxiliary data. |
os_ken.lib.packet.icmpv6.
nd_neighbor
(res=0, dst='::', option=None)¶ICMPv6 sub encoder/decoder class for Neighbor Solicitation and Neighbor Advertisement messages. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
res |
R,S,O Flags for Neighbor Advertisement. The 3 MSBs of "Reserved" field for Neighbor Solicitation. |
dst |
Target Address |
option |
a derived object of os_ken.lib.packet.icmpv6.nd_option or a bytearray. None if no options. |
os_ken.lib.packet.icmpv6.
nd_option_pi
(length=0, pl=0, res1=0, val_l=0, pre_l=0, res2=0, prefix='::')¶ICMPv6 sub encoder/decoder class for Neighbor discovery Prefix Information Option. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.nd_router_advert.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
length |
length of the option. (0 means automatically-calculate when encoding) |
pl |
Prefix Length. |
res1 |
L,A,R* Flags for Prefix Information. |
val_l |
Valid Lifetime. |
pre_l |
Preferred Lifetime. |
res2 |
This field is unused. It MUST be initialized to zero. |
prefix |
An IP address or a prefix of an IP address. |
*R flag is defined in (RFC 3775)
os_ken.lib.packet.icmpv6.
nd_option_sla
(length=0, hw_src='00:00:00:00:00:00', data=None)¶ICMPv6 sub encoder/decoder class for Neighbor discovery Source Link-Layer Address Option. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.nd_neighbor, os_ken.lib.packet.icmpv6.nd_router_solicit or os_ken.lib.packet.icmpv6.nd_router_advert.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
length |
length of the option. (0 means automatically-calculate when encoding) |
hw_src |
Link-Layer Address. NOTE: If the address is longer than 6 octets this contains the first 6 octets in the address. This implementation assumes the address has at least 6 octets. |
data |
A bytearray which contains the rest of Link-Layer Address and padding. When encoding a packet, it's user's responsibility to provide necessary padding for 8-octets alignment required by the protocol. |
os_ken.lib.packet.icmpv6.
nd_option_tla
(length=0, hw_src='00:00:00:00:00:00', data=None)¶ICMPv6 sub encoder/decoder class for Neighbor discovery Target Link-Layer Address Option. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.nd_neighbor.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
length |
length of the option. (0 means automatically-calculate when encoding) |
hw_src |
Link-Layer Address. NOTE: If the address is longer than 6 octets this contains the first 6 octets in the address. This implementation assumes the address has at least 6 octets. |
data |
A bytearray which contains the rest of Link-Layer Address and padding. When encoding a packet, it's user's responsibility to provide necessary padding for 8-octets alignment required by the protocol. |
os_ken.lib.packet.icmpv6.
nd_router_advert
(ch_l=0, res=0, rou_l=0, rea_t=0, ret_t=0, options=None)¶ICMPv6 sub encoder/decoder class for Router Advertisement messages. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
ch_l |
Cur Hop Limit. |
res |
M,O Flags for Router Advertisement. |
rou_l |
Router Lifetime. |
rea_t |
Reachable Time. |
ret_t |
Retrans Timer. |
options |
List of a derived object of os_ken.lib.packet.icmpv6.nd_option or a bytearray. None if no options. |
os_ken.lib.packet.icmpv6.
nd_router_solicit
(res=0, option=None)¶ICMPv6 sub encoder/decoder class for Router Solicitation messages. (RFC 4861)
This is used with os_ken.lib.packet.icmpv6.icmpv6.
An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.
Attribute |
Description |
---|---|
res |
This field is unused. It MUST be initialized to zero. |
option |
a derived object of os_ken.lib.packet.icmpv6.nd_option or a bytearray. None if no options. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.