:py:mod:`vspyx.Frames.EthernetFrameBuilder` =========================================== .. py:module:: vspyx.Frames.EthernetFrameBuilder Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: vspyx.Frames.EthernetFrameBuilder.ARPBuilder vspyx.Frames.EthernetFrameBuilder.Base vspyx.Frames.EthernetFrameBuilder.FrameBuilder vspyx.Frames.EthernetFrameBuilder.ICMPBuilder vspyx.Frames.EthernetFrameBuilder.IPv4Builder vspyx.Frames.EthernetFrameBuilder.IPv4RawBuilder vspyx.Frames.EthernetFrameBuilder.TCPBuilder vspyx.Frames.EthernetFrameBuilder.UDPBuilder vspyx.Frames.EthernetFrameBuilder.VLANBuilder .. py:class:: ARPBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ARPBuilder :parts: 1 :private-bases: ARPBuilder .. py:class:: HardwareTypes Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ARPBuilder.HardwareTypes :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: Ethernet :annotation: = 1 .. py:attribute:: Reserved :annotation: = 0 .. py:class:: Operations Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ARPBuilder.Operations :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: Reply :annotation: = 2 .. py:attribute:: Request :annotation: = 1 .. py:class:: ProtocolTypes Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ARPBuilder.ProtocolTypes :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: IPv4 :annotation: = 2048 .. py:attribute:: Reserved :annotation: = 0 .. py:method:: HardwareAddressLength(self, hal: int) -> ARPBuilder .. py:method:: HardwareType(self, ht: ARPBuilder.HardwareTypes) -> ARPBuilder .. py:method:: Operation(self, operation: ARPBuilder.Operations) -> ARPBuilder .. py:method:: ProtocolAddressLength(self, pal: int) -> ARPBuilder .. py:method:: ProtocolType(self, pt: ARPBuilder.ProtocolTypes) -> ARPBuilder .. py:method:: SenderHardwareAddress(self, set: str) -> ARPBuilder .. py:method:: SenderProtocolAddress(self, set: str) -> ARPBuilder .. py:method:: TargetHardwareAddress(self, set: str) -> ARPBuilder .. py:method:: TargetProtocolAddress(self, set: str) -> ARPBuilder .. py:class:: Base Bases: :py:obj:`vspyx.Frames.EthernetFrame` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.Base :parts: 1 :private-bases: Base .. py:attribute:: Arbitrary :annotation: :int .. py:attribute:: Data :annotation: :vspyx.Core.BytesView .. py:attribute:: IsFCSAvailable :annotation: :bool .. py:attribute:: IsFrameTooShort :annotation: :bool .. py:attribute:: IsNoPadding :annotation: :bool .. py:attribute:: IsPreemptionEnabled :annotation: :bool .. py:attribute:: MaskView :annotation: :vspyx.Core.BytesView .. py:attribute:: Network :annotation: :vspyx.Frames.NetworkIdentifier .. py:attribute:: PreemptionFlags :annotation: :int .. py:attribute:: Source :annotation: :vspyx.Frames.SourceIdentifier .. py:attribute:: Timestamp :annotation: :vspyx.Runtime.Timestamp .. py:attribute:: Type :annotation: :vspyx.Frames.FrameType .. py:method:: BuildFrame(self) -> vspyx.Frames.Frame .. py:method:: Clone(self) -> vspyx.Frames.NetworkEvent .. py:method:: GetBytes(self) -> List[int] .. py:method:: GetMask(self) -> List[int] .. py:class:: FrameBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.FrameBuilder :parts: 1 :private-bases: FrameBuilder .. py:class:: EtherTypes Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.FrameBuilder.EtherTypes :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: ARP :annotation: = 2054 .. py:attribute:: IPv4 :annotation: = 2048 .. py:attribute:: IPv6 :annotation: = 34525 .. py:attribute:: VLAN :annotation: = 33024 .. py:method:: ARP(self) -> ARPBuilder .. py:method:: DestinationMACAddress(self, set: str) -> FrameBuilder .. py:method:: EtherType(self, set: FrameBuilder.EtherTypes) -> FrameBuilder .. py:method:: IPv4(self) -> IPv4Builder .. py:method:: SourceMACAddress(self, set: str) -> FrameBuilder .. py:method:: VLAN(self) -> VLANBuilder .. py:class:: ICMPBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ICMPBuilder :parts: 1 :private-bases: ICMPBuilder .. py:class:: Codes Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ICMPBuilder.Codes :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: AddressMaskReply :annotation: = 0 .. py:attribute:: AddressMaskRequest :annotation: = 0 .. py:attribute:: BadLength :annotation: = 2 .. py:attribute:: CommunicationAdministrativelyProhibited :annotation: = 13 .. py:attribute:: DestinationHostUnknown :annotation: = 7 .. py:attribute:: DestinationHostUnreachable :annotation: = 1 .. py:attribute:: DestinationNetworkUnknown :annotation: = 6 .. py:attribute:: DestinationNetworkUnreachable :annotation: = 0 .. py:attribute:: DestinationPortUnreachable :annotation: = 3 .. py:attribute:: DestinationProtocolUnreachable :annotation: = 2 .. py:attribute:: EchoReply :annotation: = 0 .. py:attribute:: EchoRequest :annotation: = 0 .. py:attribute:: FragmentReassemblyTimeExceeded :annotation: = 1 .. py:attribute:: FragmentationRequired :annotation: = 4 .. py:attribute:: HostAdministrativelyProhibited :annotation: = 10 .. py:attribute:: HostPrecedenceViolation :annotation: = 14 .. py:attribute:: HostUnreachable :annotation: = 12 .. py:attribute:: InformationReply :annotation: = 0 .. py:attribute:: InformationRequest :annotation: = 0 .. py:attribute:: MalformedQuery :annotation: = 1 .. py:attribute:: MissingARequiredOption :annotation: = 1 .. py:attribute:: MultipleInterfacesSatisfyQuery :annotation: = 4 .. py:attribute:: NetworkAdministrativelyProhibited :annotation: = 9 .. py:attribute:: NetworkUnreachable :annotation: = 11 .. py:attribute:: NoError :annotation: = 0 .. py:attribute:: NoSuchInterface :annotation: = 2 .. py:attribute:: NoSuchTableEntry :annotation: = 3 .. py:attribute:: PointerIndicatesTheError :annotation: = 0 .. py:attribute:: PrecedenceCutoffInEffect :annotation: = 15 .. py:attribute:: RedirectDatagramForTheHost :annotation: = 1 .. py:attribute:: RedirectDatagramForTheNetwork :annotation: = 0 .. py:attribute:: RedirectDatagramForTheToSAndHost :annotation: = 3 .. py:attribute:: RedirectDatagramForTheToSAndNetwork :annotation: = 2 .. py:attribute:: RequestExtendedEcho :annotation: = 0 .. py:attribute:: RouterAdvertisement :annotation: = 0 .. py:attribute:: RouterSolicitation :annotation: = 0 .. py:attribute:: SourceHostIsolated :annotation: = 8 .. py:attribute:: SourceQuench :annotation: = 0 .. py:attribute:: SourceRouteFailed :annotation: = 5 .. py:attribute:: TTLExpiredInTransit :annotation: = 0 .. py:attribute:: Timestamp :annotation: = 0 .. py:attribute:: TimestampReply :annotation: = 0 .. py:class:: Types Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.ICMPBuilder.Types :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: AddressMaskReply :annotation: = 18 .. py:attribute:: AddressMaskRequst :annotation: = 17 .. py:attribute:: DestinationUnreachable :annotation: = 3 .. py:attribute:: EchoReply :annotation: = 0 .. py:attribute:: EchoRequest :annotation: = 8 .. py:attribute:: ExtendedEchoReply :annotation: = 43 .. py:attribute:: ExtendedEchoRequest :annotation: = 42 .. py:attribute:: InformationReply :annotation: = 16 .. py:attribute:: InformationRequest :annotation: = 15 .. py:attribute:: ParameterProblem :annotation: = 12 .. py:attribute:: RedirectMessage :annotation: = 5 .. py:attribute:: RouterAdvertisement :annotation: = 9 .. py:attribute:: RouterSolicitation :annotation: = 10 .. py:attribute:: SourceQuench :annotation: = 4 .. py:attribute:: TimeExceeded :annotation: = 11 .. py:attribute:: Timestamp :annotation: = 13 .. py:attribute:: TimestampReply :annotation: = 14 .. py:attribute:: Traceroute :annotation: = 30 .. py:method:: Checksum(self, checksum: int) -> ICMPBuilder .. py:method:: Code(self, code: ICMPBuilder.Codes) -> ICMPBuilder .. py:method:: ICMPType(self, type: ICMPBuilder.Types) -> ICMPBuilder .. py:method:: RestOfHeader(self, roh: int) -> ICMPBuilder .. py:class:: IPv4Builder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.IPv4Builder :parts: 1 :private-bases: IPv4Builder .. py:class:: Protocols Bases: :py:obj:`enum.IntEnum` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.IPv4Builder.Protocols :parts: 1 :private-bases: Enum where members are also (and must be) ints .. py:attribute:: ICMP :annotation: = 1 .. py:attribute:: IGMP :annotation: = 2 .. py:attribute:: IPv4 :annotation: = 3 .. py:attribute:: TCP :annotation: = 6 .. py:attribute:: UDP :annotation: = 17 .. py:method:: AppendOption(self, option: int) -> IPv4Builder .. py:method:: DestinationIPAddress(self, set: str) -> IPv4Builder .. py:method:: DifferentiatedServicesCodePoint(self, dscp: int) -> IPv4Builder .. py:method:: ExplicitCongestionNotification(self, ecn: int) -> IPv4Builder .. py:method:: Flags(self, flags: int) -> IPv4Builder .. py:method:: FragmentOffset(self, fo: int) -> IPv4Builder .. py:method:: HeaderChecksum(self, hc: int) -> IPv4Builder .. py:method:: ICMP(self) -> ICMPBuilder .. py:method:: Identification(self, id: int) -> IPv4Builder .. py:method:: Protocol(self, protocol: IPv4Builder.Protocols) -> IPv4Builder .. py:method:: Raw(self) -> IPv4RawBuilder .. py:method:: SourceIPAddress(self, set: str) -> IPv4Builder .. py:method:: TCP(self) -> TCPBuilder .. py:method:: TimeToLive(self, ttl: int) -> IPv4Builder .. py:method:: TotalLength(self, tl: int) -> IPv4Builder .. py:method:: UDP(self) -> UDPBuilder .. py:class:: IPv4RawBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.IPv4RawBuilder :parts: 1 :private-bases: IPv4RawBuilder .. py:method:: AppendPayload(self, data: vspyx.Core.BytesView) -> IPv4RawBuilder .. py:class:: TCPBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.TCPBuilder :parts: 1 :private-bases: TCPBuilder .. py:method:: AcknowledgmentNumber(self, num: int) -> TCPBuilder .. py:method:: AppendOption(self, option: int) -> TCPBuilder .. py:method:: AppendPayload(self, data: vspyx.Core.BytesView) -> TCPBuilder .. py:method:: Checksum(self, checksum: int) -> TCPBuilder .. py:method:: DataOffset(self, offset: int) -> TCPBuilder .. py:method:: DestinationPort(self, port: int) -> TCPBuilder .. py:method:: Flags(self, flags: int) -> TCPBuilder .. py:method:: SequenceNumber(self, num: int) -> TCPBuilder .. py:method:: SourcePort(self, port: int) -> TCPBuilder .. py:method:: UrgentPointer(self, urg: int) -> TCPBuilder .. py:method:: WindowSize(self, size: int) -> TCPBuilder .. py:class:: UDPBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.UDPBuilder :parts: 1 :private-bases: UDPBuilder .. py:method:: AppendPayload(self, data: vspyx.Core.BytesView) -> UDPBuilder .. py:method:: Checksum(self, checksum: int) -> UDPBuilder .. py:method:: DestinationPort(self, port: int) -> UDPBuilder .. py:method:: Length(self, length: int) -> UDPBuilder .. py:method:: SourcePort(self, port: int) -> UDPBuilder .. py:class:: VLANBuilder Bases: :py:obj:`Base` .. autoapi-inheritance-diagram:: vspyx.Frames.EthernetFrameBuilder.VLANBuilder :parts: 1 :private-bases: VLANBuilder .. py:method:: DropEligibleIndicator(self, dei: int) -> VLANBuilder .. py:method:: IPv4(self) -> IPv4Builder .. py:method:: PriorityCodePoint(self, pcp: int) -> VLANBuilder .. py:method:: VLANIdentifier(self, vid: int) -> VLANBuilder