scapy.contrib.geneve

Geneve: Generic Network Virtualization Encapsulation

https://datatracker.ietf.org/doc/html/rfc8926

class scapy.contrib.geneve.GENEVE(_pkt, /, *, version=0, optionlen=None, oam=0, critical=0, reserved=0, proto=0, vni=0, reserved2=0, options=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.geneve.GENEVE'>, <class 'scapy.packet.Packet'>]
answers(other)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (GENEVE).version>, <BitField (GENEVE).optionlen>, <BitField (GENEVE).oam>, <BitField (GENEVE).critical>, <BitField (GENEVE).reserved>, <XShortEnumField (GENEVE).proto>, <X3BytesField (GENEVE).vni>, <XByteField (GENEVE).reserved2>, <PacketListField (GENEVE).options>]
mysummary()[source]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'proto': 25944}, <class 'scapy.layers.l2.Ether'>), ({'proto': 2048}, <class 'scapy.layers.inet.IP'>), ({'proto': 34525}, <class 'scapy.layers.inet6.IPv6'>)]
post_build(p, pay)[source]
class scapy.contrib.geneve.GeneveOptions(_pkt, /, *, classid=0, type=0, reserved=0, length=None, data=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.geneve.GeneveOptions'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (GeneveOptions).classid>, <XByteField (GeneveOptions).type>, <BitField (GeneveOptions).reserved>, <BitField (GeneveOptions).length>, <StrLenField (GeneveOptions).data>]
post_build(p, pay)[source]