VXLAN

os_ken.lib.packet.vxlan.vni_from_bin(buf)

Converts binary representation VNI to integer.

Parameters

buf -- binary representation of VNI.

Returns

VNI integer.

os_ken.lib.packet.vxlan.vni_to_bin(vni)

Converts integer VNI to binary representation.

Parameters

vni -- integer of VNI

Returns

binary representation of VNI.

class os_ken.lib.packet.vxlan.vxlan(vni)

VXLAN (RFC 7348) 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

vni

VXLAN Network Identifier

classmethod 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.