diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2017-02-13 15:46:28 +0100 |
|---|---|---|
| committer | Andrey Konovalov <andreyknvl@google.com> | 2017-02-13 15:46:28 +0100 |
| commit | 876d4def98007d989396051cf6711addf5ee0225 (patch) | |
| tree | d7009500f94d898b00cfa731fb799191a875dc41 /sys | |
| parent | 006a7b79ad41372ce17e08c9c1c2356df2b80722 (diff) | |
sys: add igmp basic packet description
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/vnet.txt | 23 | ||||
| -rw-r--r-- | sys/vnet_amd64.const | 10 | ||||
| -rw-r--r-- | sys/vnet_arm64.const | 10 | ||||
| -rw-r--r-- | sys/vnet_ppc64le.const | 10 |
4 files changed, 53 insertions, 0 deletions
diff --git a/sys/vnet.txt b/sys/vnet.txt index 26fa6ba3f..9a0fab70e 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -384,6 +384,7 @@ ipv4_payload [ udp udp_packet icmp icmp_packet dccp dccp_packet + igmp igmp_packet ] [varlen] ipv6_payload [ @@ -860,3 +861,25 @@ dccp_packet { header dccp_header payload array[int8] } [packed] + +################################################################################ +###################################### IGMP #################################### +################################################################################ + +# https://tools.ietf.org/html/rfc2236 +# https://tools.ietf.org/html/rfc3376#section-4 + +include <uapi/linux/igmp.h> + +igmp_types = IGMP_HOST_MEMBERSHIP_QUERY, IGMP_HOST_MEMBERSHIP_REPORT, IGMP_DVMRP, IGMP_PIM, IGMP_TRACE, IGMPV2_HOST_MEMBERSHIP_REPORT, IGMP_HOST_LEAVE_MESSAGE, IGMPV3_HOST_MEMBERSHIP_REPORT, IGMP_MTRACE_RESP, IGMP_MTRACE + +igmp_packet { + type flags[igmp_types, int8] + mrtime int8 + csum csum[parent, inet, int16be] + addr ipv4_addr + data array[int8] +} [packed] + +# TODO: describe particular IGMP packets +# TODO: open IGMP sockets from userspace diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index ec468bc1b..cf6a36f28 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -132,6 +132,16 @@ ICMP_SR_FAILED = 5 ICMP_TIMESTAMP = 13 ICMP_TIMESTAMPREPLY = 14 ICMP_TIME_EXCEEDED = 11 +IGMPV2_HOST_MEMBERSHIP_REPORT = 22 +IGMPV3_HOST_MEMBERSHIP_REPORT = 34 +IGMP_DVMRP = 19 +IGMP_HOST_LEAVE_MESSAGE = 23 +IGMP_HOST_MEMBERSHIP_QUERY = 17 +IGMP_HOST_MEMBERSHIP_REPORT = 18 +IGMP_MTRACE = 31 +IGMP_MTRACE_RESP = 30 +IGMP_PIM = 20 +IGMP_TRACE = 21 IPOPT_CIPSO = 134 IPOPT_END = 0 IPOPT_LSRR = 131 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index ec468bc1b..cf6a36f28 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -132,6 +132,16 @@ ICMP_SR_FAILED = 5 ICMP_TIMESTAMP = 13 ICMP_TIMESTAMPREPLY = 14 ICMP_TIME_EXCEEDED = 11 +IGMPV2_HOST_MEMBERSHIP_REPORT = 22 +IGMPV3_HOST_MEMBERSHIP_REPORT = 34 +IGMP_DVMRP = 19 +IGMP_HOST_LEAVE_MESSAGE = 23 +IGMP_HOST_MEMBERSHIP_QUERY = 17 +IGMP_HOST_MEMBERSHIP_REPORT = 18 +IGMP_MTRACE = 31 +IGMP_MTRACE_RESP = 30 +IGMP_PIM = 20 +IGMP_TRACE = 21 IPOPT_CIPSO = 134 IPOPT_END = 0 IPOPT_LSRR = 131 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index ec468bc1b..cf6a36f28 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -132,6 +132,16 @@ ICMP_SR_FAILED = 5 ICMP_TIMESTAMP = 13 ICMP_TIMESTAMPREPLY = 14 ICMP_TIME_EXCEEDED = 11 +IGMPV2_HOST_MEMBERSHIP_REPORT = 22 +IGMPV3_HOST_MEMBERSHIP_REPORT = 34 +IGMP_DVMRP = 19 +IGMP_HOST_LEAVE_MESSAGE = 23 +IGMP_HOST_MEMBERSHIP_QUERY = 17 +IGMP_HOST_MEMBERSHIP_REPORT = 18 +IGMP_MTRACE = 31 +IGMP_MTRACE_RESP = 30 +IGMP_PIM = 20 +IGMP_TRACE = 21 IPOPT_CIPSO = 134 IPOPT_END = 0 IPOPT_LSRR = 131 |
