-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Brief description
I would like to contribute CMCC IOAM protocol to scapy.
Partly of the IOAM layer has been implemented.
I hope everyone who are interested in this can join us to enhance it.
In-situ Operation Administration and Maintenance (IOAM)
Notice:
This is China Mobile Communications Corporation (CMCC) IOAM, instead of Cisco IOAM
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+--------------------------------------+-+-+-+-+--------------+
| Flow ID |L|D|C|R| Next Header |
+--------------------------------------+-+-+-+-+--------------+
L: Loss Flag, alias color value of packet
D: Delay Flag, set enable to measure packet delay
C: Color Flag, set enable to measure packet drop
IOAM Shim Reference:
https://datatracker.ietf.org/doc/rfc9486/
https://datatracker.ietf.org/doc/html/rfc8321
IOAM Report Packet Reference:
https://datatracker.ietf.org/doc/draft-ietf-netconf-udp-notif/12/
IOAM layer identifier:
IPv4.proto == 186
IPv6.NextHeader == 0x0 && IPv6.HBH.option_type == 0x11
Example Packet Format:
IOAMoIPv4 = Ether/IP/IOAM/Payload
IOAMoIPv4UDP = Ether/IP/IOAM/UDP/Payload
IOAMoIPv4TCP = Ether/IP/IOAM/TCP/Payload
IOAMoIPv4VxLAN = Ether/IP/IOAM/UDP/VXLAN/Ether/IP/TCP/Payload
IOAMoIPv6IP = Ether/IPv6/IPv6ExtHdrHopByHop(nh=59, options=[HBHOptIOAM(ioam=ioam)])/Payload
IOAMoIPv6UDP = Ether/IPv6/IPv6ExtHdrHopByHop(nh=socket.IPPROTO_UDP, options=[HBHOptIOAM(ioam=IOAM)])/UDP/Payload
IOAMoIPv6TCP = Ether/IPv6/IPv6ExtHdrHopByHop(nh=socket.IPPROTO_TCP, options=[HBHOptIOAM(ioam=IOAM)])/TCP/Payload
IOAMoIPv6VxLAN = Ether/IPv6/IPv6ExtHdrHopByHop(nh=socket.IPPROTO_UDP, options=[HBHOptIOAM(ioam=IOAM)])/UDP/VXLAN/Ether/IP/TCP/Payload
Scapy version
2.5.0
Python version
3.7
Operating system
Linux 5.10.27-051027-generic
Additional environment information
No response
How to reproduce
Ignore
Actual result
No response
Expected result
No response
Related resources
No response