os_ken.lib.packet.gre.
gre
(version=0, protocol=2048, checksum=None, key=None, vsid=None, flow_id=None, seq_number=None)¶GRE (RFC2784,RFC2890) 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. |
protocol |
Protocol Type field. The Protocol Type is defined as "ETHER TYPES". |
checksum |
Checksum field(optional). When you set a value other than None, this field will be automatically calculated. |
key |
Key field(optional) This field is intended to be used for identifying an individual traffic flow within a tunnel. |
vsid |
Virtual Subnet ID field(optional) This field is a 24-bit value that is used to identify the NVGRE-based Virtual Layer 2 Network. |
flow_id |
FlowID field(optional) This field is an 8-bit value that is used to provide per-flow entropy for flows in the same VSID. |
seq_number |
Sequence Number field(optional) |
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=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.
os_ken.lib.packet.gre.
nvgre
(version=0, vsid=0, flow_id=0)¶Generate instance of GRE class with information for NVGRE (RFC7637).
version -- Version.
vsid -- Virtual Subnet ID.
flow_id -- FlowID.
Instance of GRE class with information for NVGRE.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.