Geneve packet parser/serializer
os_ken.lib.packet.geneve.
Option
(option_class=None, type_=None, length=0)¶Tunnel Options
os_ken.lib.packet.geneve.
OptionDataUnknown
(buf, option_class=None, type_=None, length=0)¶Unknown Option Class and Type specific Option
os_ken.lib.packet.geneve.
geneve
(version=0, opt_len=0, flags=0, protocol=25944, vni=None, options=None)¶Geneve (RFC draft-ietf-nvo3-geneve-03) 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 |
---|---|
version | Version. |
opt_len | The length of the options fields. |
flags | Flag field for OAM packet and Critical options present. |
protocol | Protocol Type field. The Protocol Type is defined as "ETHER TYPES". |
vni | Identifier for unique element of virtual network. |
options | List of Option* instance. |
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.
serialize
(payload=None, prev=None)¶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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.