From 53e5ebba71240aa17f16f705aea37d7082bb767f Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 14:38:19 +0100 Subject: sys: add dccp socket & packet descriptions --- sys/socket_inet_dccp.txt | 42 ++++++++++++++++++++++++++++++++++++++ sys/socket_inet_dccp_amd64.const | 25 +++++++++++++++++++++++ sys/socket_inet_dccp_arm64.const | 25 +++++++++++++++++++++++ sys/socket_inet_dccp_ppc64le.const | 25 +++++++++++++++++++++++ sys/vnet.txt | 36 ++++++++++++++++++++++++++++++++ sys/vnet_amd64.const | 11 ++++++++++ sys/vnet_arm64.const | 11 ++++++++++ sys/vnet_ppc64le.const | 11 ++++++++++ 8 files changed, 186 insertions(+) create mode 100644 sys/socket_inet_dccp.txt create mode 100644 sys/socket_inet_dccp_amd64.const create mode 100644 sys/socket_inet_dccp_arm64.const create mode 100644 sys/socket_inet_dccp_ppc64le.const (limited to 'sys') diff --git a/sys/socket_inet_dccp.txt b/sys/socket_inet_dccp.txt new file mode 100644 index 000000000..b392d8b44 --- /dev/null +++ b/sys/socket_inet_dccp.txt @@ -0,0 +1,42 @@ +# Copyright 2017 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +# AF_INET and AF_INET6: DCCP support + +include + +resource sock_dccp[sock_in] + +dccp_pair { + f0 sock_dccp + f1 sock_dccp +} + +socket$dccp(domain const[AF_INET], type const[SOCK_DCCP], proto const[0]) sock_dccp +socketpair$dccp(domain const[AF_INET], type const[SOCK_DCCP], proto const[0], fds ptr[out, dccp_pair]) + +resource sock_dccp6[sock_in6] + +dccp6_pair { + f0 sock_dccp6 + f1 sock_dccp6 +} + +socket$dccp6(domain const[AF_INET6], type const[SOCK_DCCP], proto const[0]) sock_dccp6 +socketpair$dccp6(domain const[AF_INET6], type const[SOCK_DCCP], proto const[0], fds ptr[out, dccp6_pair]) + +# Generic DCCP socket options + +dccp_option_types_int = DCCP_SOCKOPT_PACKET_SIZE, DCCP_SOCKOPT_CHANGE_L, DCCP_SOCKOPT_CHANGE_R, DCCP_SOCKOPT_GET_CUR_MPS, DCCP_SOCKOPT_SERVER_TIMEWAIT, DCCP_SOCKOPT_SEND_CSCOV, DCCP_SOCKOPT_RECV_CSCOV, DCCP_SOCKOPT_QPOLICY_ID, DCCP_SOCKOPT_QPOLICY_TXQLEN + +dccp_option_types_buf = DCCP_SOCKOPT_SERVICE, DCCP_SOCKOPT_AVAILABLE_CCIDS, DCCP_SOCKOPT_CCID, DCCP_SOCKOPT_TX_CCID, DCCP_SOCKOPT_RX_CCID, DCCP_SOCKOPT_CCID_RX_INFO, DCCP_SOCKOPT_CCID_TX_INFO + +getsockopt$dccp_int(fd sock_dccp, level const[IPPROTO_DCCP], optname flags[dccp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$dccp_int(fd sock_dccp, level const[IPPROTO_DCCP], optname flags[dccp_option_types_int], optval ptr[in, int32], optlen len[optval]) +getsockopt$dccp6_int(fd sock_dccp6, level const[IPPROTO_DCCP], optname flags[dccp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]]) +setsockopt$dccp6_int(fd sock_dccp6, level const[IPPROTO_DCCP], optname flags[dccp_option_types_int], optval ptr[in, int32], optlen len[optval]) + +getsockopt$dccp_buf(fd sock_dccp, level const[IPPROTO_DCCP], optname flags[dccp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$dccp_buf(fd sock_dccp, level const[IPPROTO_DCCP], optname flags[dccp_option_types_buf], optval buffer[in], optlen len[optval]) +getsockopt$dccp6_buf(fd sock_dccp6, level const[IPPROTO_DCCP], optname flags[dccp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]]) +setsockopt$dccp6_buf(fd sock_dccp6, level const[IPPROTO_DCCP], optname flags[dccp_option_types_buf], optval buffer[in], optlen len[optval]) diff --git a/sys/socket_inet_dccp_amd64.const b/sys/socket_inet_dccp_amd64.const new file mode 100644 index 000000000..07fc8419c --- /dev/null +++ b/sys/socket_inet_dccp_amd64.const @@ -0,0 +1,25 @@ +# AUTOGENERATED FILE +AF_INET = 2 +AF_INET6 = 10 +DCCP_SOCKOPT_AVAILABLE_CCIDS = 12 +DCCP_SOCKOPT_CCID = 13 +DCCP_SOCKOPT_CCID_RX_INFO = 128 +DCCP_SOCKOPT_CCID_TX_INFO = 192 +DCCP_SOCKOPT_CHANGE_L = 3 +DCCP_SOCKOPT_CHANGE_R = 4 +DCCP_SOCKOPT_GET_CUR_MPS = 5 +DCCP_SOCKOPT_PACKET_SIZE = 1 +DCCP_SOCKOPT_QPOLICY_ID = 16 +DCCP_SOCKOPT_QPOLICY_TXQLEN = 17 +DCCP_SOCKOPT_RECV_CSCOV = 11 +DCCP_SOCKOPT_RX_CCID = 15 +DCCP_SOCKOPT_SEND_CSCOV = 10 +DCCP_SOCKOPT_SERVER_TIMEWAIT = 6 +DCCP_SOCKOPT_SERVICE = 2 +DCCP_SOCKOPT_TX_CCID = 14 +IPPROTO_DCCP = 33 +SOCK_DCCP = 6 +__NR_getsockopt = 55 +__NR_setsockopt = 54 +__NR_socket = 41 +__NR_socketpair = 53 diff --git a/sys/socket_inet_dccp_arm64.const b/sys/socket_inet_dccp_arm64.const new file mode 100644 index 000000000..f80355a64 --- /dev/null +++ b/sys/socket_inet_dccp_arm64.const @@ -0,0 +1,25 @@ +# AUTOGENERATED FILE +AF_INET = 2 +AF_INET6 = 10 +DCCP_SOCKOPT_AVAILABLE_CCIDS = 12 +DCCP_SOCKOPT_CCID = 13 +DCCP_SOCKOPT_CCID_RX_INFO = 128 +DCCP_SOCKOPT_CCID_TX_INFO = 192 +DCCP_SOCKOPT_CHANGE_L = 3 +DCCP_SOCKOPT_CHANGE_R = 4 +DCCP_SOCKOPT_GET_CUR_MPS = 5 +DCCP_SOCKOPT_PACKET_SIZE = 1 +DCCP_SOCKOPT_QPOLICY_ID = 16 +DCCP_SOCKOPT_QPOLICY_TXQLEN = 17 +DCCP_SOCKOPT_RECV_CSCOV = 11 +DCCP_SOCKOPT_RX_CCID = 15 +DCCP_SOCKOPT_SEND_CSCOV = 10 +DCCP_SOCKOPT_SERVER_TIMEWAIT = 6 +DCCP_SOCKOPT_SERVICE = 2 +DCCP_SOCKOPT_TX_CCID = 14 +IPPROTO_DCCP = 33 +SOCK_DCCP = 6 +__NR_getsockopt = 209 +__NR_setsockopt = 208 +__NR_socket = 198 +__NR_socketpair = 199 diff --git a/sys/socket_inet_dccp_ppc64le.const b/sys/socket_inet_dccp_ppc64le.const new file mode 100644 index 000000000..baa1f820d --- /dev/null +++ b/sys/socket_inet_dccp_ppc64le.const @@ -0,0 +1,25 @@ +# AUTOGENERATED FILE +AF_INET = 2 +AF_INET6 = 10 +DCCP_SOCKOPT_AVAILABLE_CCIDS = 12 +DCCP_SOCKOPT_CCID = 13 +DCCP_SOCKOPT_CCID_RX_INFO = 128 +DCCP_SOCKOPT_CCID_TX_INFO = 192 +DCCP_SOCKOPT_CHANGE_L = 3 +DCCP_SOCKOPT_CHANGE_R = 4 +DCCP_SOCKOPT_GET_CUR_MPS = 5 +DCCP_SOCKOPT_PACKET_SIZE = 1 +DCCP_SOCKOPT_QPOLICY_ID = 16 +DCCP_SOCKOPT_QPOLICY_TXQLEN = 17 +DCCP_SOCKOPT_RECV_CSCOV = 11 +DCCP_SOCKOPT_RX_CCID = 15 +DCCP_SOCKOPT_SEND_CSCOV = 10 +DCCP_SOCKOPT_SERVER_TIMEWAIT = 6 +DCCP_SOCKOPT_SERVICE = 2 +DCCP_SOCKOPT_TX_CCID = 14 +IPPROTO_DCCP = 33 +SOCK_DCCP = 6 +__NR_getsockopt = 340 +__NR_setsockopt = 339 +__NR_socket = 326 +__NR_socketpair = 333 diff --git a/sys/vnet.txt b/sys/vnet.txt index 817290e36..26fa6ba3f 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -383,12 +383,14 @@ ipv4_payload [ tcp tcp_packet udp udp_packet icmp icmp_packet + dccp dccp_packet ] [varlen] ipv6_payload [ tcp tcp_packet udp udp_packet icmpv6 icmpv6_packet + dccp dccp_packet ] [varlen] ################################################################################ @@ -824,3 +826,37 @@ icmpv6_packet [ # TODO: ICMPV6_MLD2_REPORT # TODO: ICMPV6_DHAAD_REQUEST, ICMPV6_DHAAD_REPLY, ICMPV6_MOBILE_PREFIX_SOL, ICMPV6_MOBILE_PREFIX_ADV (with ipv6 ext headers) ] [varlen] + +################################################################################ +###################################### DCCP #################################### +################################################################################ + +# https://tools.ietf.org/html/rfc4340#section-5 + +include + +# TODO: describe each type +dccp_types = DCCP_PKT_REQUEST, DCCP_PKT_RESPONSE, DCCP_PKT_DATA, DCCP_PKT_ACK, DCCP_PKT_DATAACK, DCCP_PKT_CLOSEREQ, DCCP_PKT_CLOSE, DCCP_PKT_RESET, DCCP_PKT_SYNC, DCCP_PKT_SYNCACK, DCCP_PKT_INVALID + +dccp_header { + src_port proc[int16be, 20000, 4] + dst_port proc[int16be, 20000, 4] + offset bytesize4[parent, int8] + cscov const[1, int8:4] +# TODO: cscov might have other values, affects checksummed data + ccval int8:4 + csum csum[parent, pseudo, IPPROTO_DCCP, int16be] + x const[0, int8:1] + type flags[dccp_types, int8:4] + reserved1 int8:3 + seq_num array[int8, 3] + reserved2 int8 + ack_num array[int8, 3] +# TODO: seq_num and ack_num might have different size depending on x +# TODO: options +} [packed] + +dccp_packet { + header dccp_header + payload array[int8] +} [packed] diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index fe6731c78..ec468bc1b 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -5,6 +5,17 @@ CIPSO_V4_TAG_INVALID = 0 CIPSO_V4_TAG_PBITMAP = 6 CIPSO_V4_TAG_RANGE = 5 CIPSO_V4_TAG_RBITMAP = 1 +DCCP_PKT_ACK = 3 +DCCP_PKT_CLOSE = 6 +DCCP_PKT_CLOSEREQ = 5 +DCCP_PKT_DATA = 2 +DCCP_PKT_DATAACK = 4 +DCCP_PKT_INVALID = 10 +DCCP_PKT_REQUEST = 0 +DCCP_PKT_RESET = 7 +DCCP_PKT_RESPONSE = 1 +DCCP_PKT_SYNC = 8 +DCCP_PKT_SYNCACK = 9 ETH_P_1588 = 35063 ETH_P_8021AD = 34984 ETH_P_8021AH = 35047 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index fe6731c78..ec468bc1b 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -5,6 +5,17 @@ CIPSO_V4_TAG_INVALID = 0 CIPSO_V4_TAG_PBITMAP = 6 CIPSO_V4_TAG_RANGE = 5 CIPSO_V4_TAG_RBITMAP = 1 +DCCP_PKT_ACK = 3 +DCCP_PKT_CLOSE = 6 +DCCP_PKT_CLOSEREQ = 5 +DCCP_PKT_DATA = 2 +DCCP_PKT_DATAACK = 4 +DCCP_PKT_INVALID = 10 +DCCP_PKT_REQUEST = 0 +DCCP_PKT_RESET = 7 +DCCP_PKT_RESPONSE = 1 +DCCP_PKT_SYNC = 8 +DCCP_PKT_SYNCACK = 9 ETH_P_1588 = 35063 ETH_P_8021AD = 34984 ETH_P_8021AH = 35047 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index fe6731c78..ec468bc1b 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -5,6 +5,17 @@ CIPSO_V4_TAG_INVALID = 0 CIPSO_V4_TAG_PBITMAP = 6 CIPSO_V4_TAG_RANGE = 5 CIPSO_V4_TAG_RBITMAP = 1 +DCCP_PKT_ACK = 3 +DCCP_PKT_CLOSE = 6 +DCCP_PKT_CLOSEREQ = 5 +DCCP_PKT_DATA = 2 +DCCP_PKT_DATAACK = 4 +DCCP_PKT_INVALID = 10 +DCCP_PKT_REQUEST = 0 +DCCP_PKT_RESET = 7 +DCCP_PKT_RESPONSE = 1 +DCCP_PKT_SYNC = 8 +DCCP_PKT_SYNCACK = 9 ETH_P_1588 = 35063 ETH_P_8021AD = 34984 ETH_P_8021AH = 35047 -- cgit mrf-deployment From 006a7b79ad41372ce17e08c9c1c2356df2b80722 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 15:19:08 +0100 Subject: sys: remove old const files --- sys/kcm_amd64.const | 16 --------- sys/kcm_arm64.const | 16 --------- sys/kcm_ppc64le.const | 16 --------- sys/netlink_amd64.const | 59 ---------------------------------- sys/netlink_arm64.const | 59 ---------------------------------- sys/netlink_ppc64le.const | 59 ---------------------------------- sys/netrom_amd64.const | 27 ---------------- sys/netrom_arm64.const | 27 ---------------- sys/netrom_ppc64le.const | 27 ---------------- sys/sctp_amd64.const | 82 ----------------------------------------------- sys/sctp_arm64.const | 82 ----------------------------------------------- sys/sctp_ppc64le.const | 82 ----------------------------------------------- 12 files changed, 552 deletions(-) delete mode 100644 sys/kcm_amd64.const delete mode 100644 sys/kcm_arm64.const delete mode 100644 sys/kcm_ppc64le.const delete mode 100644 sys/netlink_amd64.const delete mode 100644 sys/netlink_arm64.const delete mode 100644 sys/netlink_ppc64le.const delete mode 100644 sys/netrom_amd64.const delete mode 100644 sys/netrom_arm64.const delete mode 100644 sys/netrom_ppc64le.const delete mode 100644 sys/sctp_amd64.const delete mode 100644 sys/sctp_arm64.const delete mode 100644 sys/sctp_ppc64le.const (limited to 'sys') diff --git a/sys/kcm_amd64.const b/sys/kcm_amd64.const deleted file mode 100644 index 5abfdf57c..000000000 --- a/sys/kcm_amd64.const +++ /dev/null @@ -1,16 +0,0 @@ -# AUTOGENERATED FILE -AF_KCM = 41 -KCMPROTO_CONNECTED = 0 -KCM_RECV_DISABLE = 1 -SIOCKCMATTACH = 35296 -SIOCKCMCLONE = 35298 -SIOCKCMUNATTACH = 35297 -SOCK_DGRAM = 2 -SOCK_SEQPACKET = 5 -SOL_KCM = 281 -__NR_getsockopt = 55 -__NR_ioctl = 16 -__NR_recvmsg = 47 -__NR_sendmsg = 46 -__NR_setsockopt = 54 -__NR_socket = 41 diff --git a/sys/kcm_arm64.const b/sys/kcm_arm64.const deleted file mode 100644 index 518eb36db..000000000 --- a/sys/kcm_arm64.const +++ /dev/null @@ -1,16 +0,0 @@ -# AUTOGENERATED FILE -AF_KCM = 41 -KCMPROTO_CONNECTED = 0 -KCM_RECV_DISABLE = 1 -SIOCKCMATTACH = 35296 -SIOCKCMCLONE = 35298 -SIOCKCMUNATTACH = 35297 -SOCK_DGRAM = 2 -SOCK_SEQPACKET = 5 -SOL_KCM = 281 -__NR_getsockopt = 209 -__NR_ioctl = 29 -__NR_recvmsg = 212 -__NR_sendmsg = 211 -__NR_setsockopt = 208 -__NR_socket = 198 diff --git a/sys/kcm_ppc64le.const b/sys/kcm_ppc64le.const deleted file mode 100644 index 89120128d..000000000 --- a/sys/kcm_ppc64le.const +++ /dev/null @@ -1,16 +0,0 @@ -# AUTOGENERATED FILE -AF_KCM = 41 -KCMPROTO_CONNECTED = 0 -KCM_RECV_DISABLE = 1 -SIOCKCMATTACH = 35296 -SIOCKCMCLONE = 35298 -SIOCKCMUNATTACH = 35297 -SOCK_DGRAM = 2 -SOCK_SEQPACKET = 5 -SOL_KCM = 281 -__NR_getsockopt = 340 -__NR_ioctl = 54 -__NR_recvmsg = 342 -__NR_sendmsg = 341 -__NR_setsockopt = 339 -__NR_socket = 326 diff --git a/sys/netlink_amd64.const b/sys/netlink_amd64.const deleted file mode 100644 index bd9793acd..000000000 --- a/sys/netlink_amd64.const +++ /dev/null @@ -1,59 +0,0 @@ -# AUTOGENERATED FILE -AF_NETLINK = 16 -AF_UNSPEC = 0 -NETLINK_ADD_MEMBERSHIP = 1 -NETLINK_AUDIT = 9 -NETLINK_BROADCAST_ERROR = 4 -NETLINK_CAP_ACK = 10 -NETLINK_CONNECTOR = 11 -NETLINK_CRYPTO = 21 -NETLINK_DNRTMSG = 14 -NETLINK_DROP_MEMBERSHIP = 2 -NETLINK_ECRYPTFS = 19 -NETLINK_FIB_LOOKUP = 10 -NETLINK_FIREWALL = 3 -NETLINK_GENERIC = 16 -NETLINK_INET_DIAG = 4 -NETLINK_IP6_FW = 13 -NETLINK_ISCSI = 8 -NETLINK_KOBJECT_UEVENT = 15 -NETLINK_LISTEN_ALL_NSID = 8 -NETLINK_LIST_MEMBERSHIPS = 9 -NETLINK_NETFILTER = 12 -NETLINK_NFLOG = 5 -NETLINK_NO_ENOBUFS = 5 -NETLINK_PKTINFO = 3 -NETLINK_RDMA = 20 -NETLINK_ROUTE = 0 -NETLINK_RX_RING = 6 -NETLINK_SCSITRANSPORT = 18 -NETLINK_SELINUX = 7 -NETLINK_SOCK_DIAG = 4 -NETLINK_TX_RING = 7 -NETLINK_UNUSED = 1 -NETLINK_USERSOCK = 2 -NETLINK_XFRM = 6 -NLM_F_ACK = 4 -NLM_F_APPEND = 2048 -NLM_F_ATOMIC = 1024 -NLM_F_CREATE = 1024 -NLM_F_DUMP = 768 -NLM_F_DUMP_FILTERED = 32 -NLM_F_DUMP_INTR = 16 -NLM_F_ECHO = 8 -NLM_F_EXCL = 512 -NLM_F_MATCH = 512 -NLM_F_MULTI = 2 -NLM_F_REPLACE = 256 -NLM_F_REQUEST = 1 -NLM_F_ROOT = 256 -SOCK_RAW = 3 -SOL_NETLINK = 270 -__NR_bind = 49 -__NR_connect = 42 -__NR_getpeername = 52 -__NR_getsockname = 51 -__NR_getsockopt = 55 -__NR_sendmsg = 46 -__NR_setsockopt = 54 -__NR_socket = 41 diff --git a/sys/netlink_arm64.const b/sys/netlink_arm64.const deleted file mode 100644 index 6e21dcae1..000000000 --- a/sys/netlink_arm64.const +++ /dev/null @@ -1,59 +0,0 @@ -# AUTOGENERATED FILE -AF_NETLINK = 16 -AF_UNSPEC = 0 -NETLINK_ADD_MEMBERSHIP = 1 -NETLINK_AUDIT = 9 -NETLINK_BROADCAST_ERROR = 4 -NETLINK_CAP_ACK = 10 -NETLINK_CONNECTOR = 11 -NETLINK_CRYPTO = 21 -NETLINK_DNRTMSG = 14 -NETLINK_DROP_MEMBERSHIP = 2 -NETLINK_ECRYPTFS = 19 -NETLINK_FIB_LOOKUP = 10 -NETLINK_FIREWALL = 3 -NETLINK_GENERIC = 16 -NETLINK_INET_DIAG = 4 -NETLINK_IP6_FW = 13 -NETLINK_ISCSI = 8 -NETLINK_KOBJECT_UEVENT = 15 -NETLINK_LISTEN_ALL_NSID = 8 -NETLINK_LIST_MEMBERSHIPS = 9 -NETLINK_NETFILTER = 12 -NETLINK_NFLOG = 5 -NETLINK_NO_ENOBUFS = 5 -NETLINK_PKTINFO = 3 -NETLINK_RDMA = 20 -NETLINK_ROUTE = 0 -NETLINK_RX_RING = 6 -NETLINK_SCSITRANSPORT = 18 -NETLINK_SELINUX = 7 -NETLINK_SOCK_DIAG = 4 -NETLINK_TX_RING = 7 -NETLINK_UNUSED = 1 -NETLINK_USERSOCK = 2 -NETLINK_XFRM = 6 -NLM_F_ACK = 4 -NLM_F_APPEND = 2048 -NLM_F_ATOMIC = 1024 -NLM_F_CREATE = 1024 -NLM_F_DUMP = 768 -NLM_F_DUMP_FILTERED = 32 -NLM_F_DUMP_INTR = 16 -NLM_F_ECHO = 8 -NLM_F_EXCL = 512 -NLM_F_MATCH = 512 -NLM_F_MULTI = 2 -NLM_F_REPLACE = 256 -NLM_F_REQUEST = 1 -NLM_F_ROOT = 256 -SOCK_RAW = 3 -SOL_NETLINK = 270 -__NR_bind = 200 -__NR_connect = 203 -__NR_getpeername = 205 -__NR_getsockname = 204 -__NR_getsockopt = 209 -__NR_sendmsg = 211 -__NR_setsockopt = 208 -__NR_socket = 198 diff --git a/sys/netlink_ppc64le.const b/sys/netlink_ppc64le.const deleted file mode 100644 index dd73dbd3e..000000000 --- a/sys/netlink_ppc64le.const +++ /dev/null @@ -1,59 +0,0 @@ -# AUTOGENERATED FILE -AF_NETLINK = 16 -AF_UNSPEC = 0 -NETLINK_ADD_MEMBERSHIP = 1 -NETLINK_AUDIT = 9 -NETLINK_BROADCAST_ERROR = 4 -NETLINK_CAP_ACK = 10 -NETLINK_CONNECTOR = 11 -NETLINK_CRYPTO = 21 -NETLINK_DNRTMSG = 14 -NETLINK_DROP_MEMBERSHIP = 2 -NETLINK_ECRYPTFS = 19 -NETLINK_FIB_LOOKUP = 10 -NETLINK_FIREWALL = 3 -NETLINK_GENERIC = 16 -NETLINK_INET_DIAG = 4 -NETLINK_IP6_FW = 13 -NETLINK_ISCSI = 8 -NETLINK_KOBJECT_UEVENT = 15 -NETLINK_LISTEN_ALL_NSID = 8 -NETLINK_LIST_MEMBERSHIPS = 9 -NETLINK_NETFILTER = 12 -NETLINK_NFLOG = 5 -NETLINK_NO_ENOBUFS = 5 -NETLINK_PKTINFO = 3 -NETLINK_RDMA = 20 -NETLINK_ROUTE = 0 -NETLINK_RX_RING = 6 -NETLINK_SCSITRANSPORT = 18 -NETLINK_SELINUX = 7 -NETLINK_SOCK_DIAG = 4 -NETLINK_TX_RING = 7 -NETLINK_UNUSED = 1 -NETLINK_USERSOCK = 2 -NETLINK_XFRM = 6 -NLM_F_ACK = 4 -NLM_F_APPEND = 2048 -NLM_F_ATOMIC = 1024 -NLM_F_CREATE = 1024 -NLM_F_DUMP = 768 -NLM_F_DUMP_FILTERED = 32 -NLM_F_DUMP_INTR = 16 -NLM_F_ECHO = 8 -NLM_F_EXCL = 512 -NLM_F_MATCH = 512 -NLM_F_MULTI = 2 -NLM_F_REPLACE = 256 -NLM_F_REQUEST = 1 -NLM_F_ROOT = 256 -SOCK_RAW = 3 -SOL_NETLINK = 270 -__NR_bind = 327 -__NR_connect = 328 -__NR_getpeername = 332 -__NR_getsockname = 331 -__NR_getsockopt = 340 -__NR_sendmsg = 341 -__NR_setsockopt = 339 -__NR_socket = 326 diff --git a/sys/netrom_amd64.const b/sys/netrom_amd64.const deleted file mode 100644 index 2474fe63f..000000000 --- a/sys/netrom_amd64.const +++ /dev/null @@ -1,27 +0,0 @@ -# AUTOGENERATED FILE -AF_NETROM = 6 -AX25_MAX_DIGIS = 8 -NETROM_IDLE = 7 -NETROM_N2 = 3 -NETROM_T1 = 1 -NETROM_T2 = 2 -NETROM_T4 = 6 -SIOCADDRT = 35083 -SIOCGSTAMP = 35078 -SIOCGSTAMPNS = 35079 -SOCK_SEQPACKET = 5 -SOL_NETROM = 259 -TIOCINQ = 21531 -TIOCOUTQ = 21521 -__NR_accept = 43 -__NR_bind = 49 -__NR_connect = 42 -__NR_getpeername = 52 -__NR_getsockname = 51 -__NR_getsockopt = 55 -__NR_ioctl = 16 -__NR_listen = 50 -__NR_recvmsg = 47 -__NR_sendmsg = 46 -__NR_setsockopt = 54 -__NR_socket = 41 diff --git a/sys/netrom_arm64.const b/sys/netrom_arm64.const deleted file mode 100644 index 1ecee7cdc..000000000 --- a/sys/netrom_arm64.const +++ /dev/null @@ -1,27 +0,0 @@ -# AUTOGENERATED FILE -AF_NETROM = 6 -AX25_MAX_DIGIS = 8 -NETROM_IDLE = 7 -NETROM_N2 = 3 -NETROM_T1 = 1 -NETROM_T2 = 2 -NETROM_T4 = 6 -SIOCADDRT = 35083 -SIOCGSTAMP = 35078 -SIOCGSTAMPNS = 35079 -SOCK_SEQPACKET = 5 -SOL_NETROM = 259 -TIOCINQ = 21531 -TIOCOUTQ = 21521 -__NR_accept = 202 -__NR_bind = 200 -__NR_connect = 203 -__NR_getpeername = 205 -__NR_getsockname = 204 -__NR_getsockopt = 209 -__NR_ioctl = 29 -__NR_listen = 201 -__NR_recvmsg = 212 -__NR_sendmsg = 211 -__NR_setsockopt = 208 -__NR_socket = 198 diff --git a/sys/netrom_ppc64le.const b/sys/netrom_ppc64le.const deleted file mode 100644 index 322abdf38..000000000 --- a/sys/netrom_ppc64le.const +++ /dev/null @@ -1,27 +0,0 @@ -# AUTOGENERATED FILE -AF_NETROM = 6 -AX25_MAX_DIGIS = 8 -NETROM_IDLE = 7 -NETROM_N2 = 3 -NETROM_T1 = 1 -NETROM_T2 = 2 -NETROM_T4 = 6 -SIOCADDRT = 35083 -SIOCGSTAMP = 35078 -SIOCGSTAMPNS = 35079 -SOCK_SEQPACKET = 5 -SOL_NETROM = 259 -TIOCINQ = 1074030207 -TIOCOUTQ = 1074033779 -__NR_accept = 330 -__NR_bind = 327 -__NR_connect = 328 -__NR_getpeername = 332 -__NR_getsockname = 331 -__NR_getsockopt = 340 -__NR_ioctl = 54 -__NR_listen = 329 -__NR_recvmsg = 342 -__NR_sendmsg = 341 -__NR_setsockopt = 339 -__NR_socket = 326 diff --git a/sys/sctp_amd64.const b/sys/sctp_amd64.const deleted file mode 100644 index 920c8a073..000000000 --- a/sys/sctp_amd64.const +++ /dev/null @@ -1,82 +0,0 @@ -# AUTOGENERATED FILE -AF_INET = 2 -AF_INET6 = 10 -IPPROTO_SCTP = 132 -SCTP_ABORT = 4 -SCTP_ADAPTATION_LAYER = 7 -SCTP_ADDR_OVER = 2 -SCTP_ASSOCINFO = 1 -SCTP_AUTH_ACTIVE_KEY = 24 -SCTP_AUTH_CHUNK = 21 -SCTP_AUTH_DELETE_KEY = 25 -SCTP_AUTH_KEY = 23 -SCTP_AUTOCLOSE = 4 -SCTP_AUTO_ASCONF = 30 -SCTP_CONTEXT = 17 -SCTP_DEFAULT_SEND_PARAM = 10 -SCTP_DEFAULT_SNDINFO = 34 -SCTP_DELAYED_SACK = 16 -SCTP_DISABLE_FRAGMENTS = 8 -SCTP_EOF = 512 -SCTP_EVENTS = 11 -SCTP_FRAGMENT_INTERLEAVE = 18 -SCTP_GET_ASSOC_ID_LIST = 29 -SCTP_GET_ASSOC_NUMBER = 28 -SCTP_GET_ASSOC_STATS = 112 -SCTP_GET_LOCAL_ADDRS = 109 -SCTP_GET_PEER_ADDRS = 108 -SCTP_GET_PEER_ADDR_INFO = 15 -SCTP_HMAC_IDENT = 22 -SCTP_INIT = 0 -SCTP_INITMSG = 2 -SCTP_I_WANT_MAPPED_V4_ADDR = 12 -SCTP_LOCAL_AUTH_CHUNKS = 27 -SCTP_MAXSEG = 13 -SCTP_MAX_BURST = 20 -SCTP_NODELAY = 3 -SCTP_PARTIAL_DELIVERY_POINT = 19 -SCTP_PEER_ADDR_PARAMS = 9 -SCTP_PEER_ADDR_THLDS = 31 -SCTP_PEER_AUTH_CHUNKS = 26 -SCTP_PRIMARY_ADDR = 6 -SCTP_RECVNXTINFO = 33 -SCTP_RECVRCVINFO = 32 -SCTP_RTOINFO = 0 -SCTP_SET_PEER_PRIMARY_ADDR = 5 -SCTP_SNDINFO = 2 -SCTP_SNDRCV = 1 -SCTP_SOCKOPT_BINDX_ADD = 100 -SCTP_SOCKOPT_BINDX_REM = 101 -SCTP_SOCKOPT_CONNECTX = 110 -SCTP_SOCKOPT_CONNECTX3 = 111 -SCTP_SOCKOPT_CONNECTX_OLD = 107 -SCTP_SOCKOPT_PEELOFF = 102 -SCTP_STATUS = 14 -SCTP_UNORDERED = 1 -SIOCINQ = 21531 -SOCK_SEQPACKET = 5 -SOCK_STREAM = 1 -SOL_SCTP = 132 -SPP_HB_DEMAND = 4 -SPP_HB_DISABLE = 2 -SPP_HB_ENABLE = 1 -SPP_HB_TIME_IS_ZERO = 128 -SPP_PMTUD_DISABLE = 16 -SPP_PMTUD_ENABLE = 8 -SPP_SACKDELAY_DISABLE = 64 -SPP_SACKDELAY_ENABLE = 32 -__NR_accept = 43 -__NR_accept4 = 288 -__NR_bind = 49 -__NR_connect = 42 -__NR_getpeername = 52 -__NR_getsockname = 51 -__NR_getsockopt = 55 -__NR_ioctl = 16 -__NR_recvfrom = 45 -__NR_sendmmsg = 307 -__NR_sendmsg = 46 -__NR_sendto = 44 -__NR_setsockopt = 54 -__NR_socket = 41 -__NR_socketpair = 53 diff --git a/sys/sctp_arm64.const b/sys/sctp_arm64.const deleted file mode 100644 index 145e44476..000000000 --- a/sys/sctp_arm64.const +++ /dev/null @@ -1,82 +0,0 @@ -# AUTOGENERATED FILE -AF_INET = 2 -AF_INET6 = 10 -IPPROTO_SCTP = 132 -SCTP_ABORT = 4 -SCTP_ADAPTATION_LAYER = 7 -SCTP_ADDR_OVER = 2 -SCTP_ASSOCINFO = 1 -SCTP_AUTH_ACTIVE_KEY = 24 -SCTP_AUTH_CHUNK = 21 -SCTP_AUTH_DELETE_KEY = 25 -SCTP_AUTH_KEY = 23 -SCTP_AUTOCLOSE = 4 -SCTP_AUTO_ASCONF = 30 -SCTP_CONTEXT = 17 -SCTP_DEFAULT_SEND_PARAM = 10 -SCTP_DEFAULT_SNDINFO = 34 -SCTP_DELAYED_SACK = 16 -SCTP_DISABLE_FRAGMENTS = 8 -SCTP_EOF = 512 -SCTP_EVENTS = 11 -SCTP_FRAGMENT_INTERLEAVE = 18 -SCTP_GET_ASSOC_ID_LIST = 29 -SCTP_GET_ASSOC_NUMBER = 28 -SCTP_GET_ASSOC_STATS = 112 -SCTP_GET_LOCAL_ADDRS = 109 -SCTP_GET_PEER_ADDRS = 108 -SCTP_GET_PEER_ADDR_INFO = 15 -SCTP_HMAC_IDENT = 22 -SCTP_INIT = 0 -SCTP_INITMSG = 2 -SCTP_I_WANT_MAPPED_V4_ADDR = 12 -SCTP_LOCAL_AUTH_CHUNKS = 27 -SCTP_MAXSEG = 13 -SCTP_MAX_BURST = 20 -SCTP_NODELAY = 3 -SCTP_PARTIAL_DELIVERY_POINT = 19 -SCTP_PEER_ADDR_PARAMS = 9 -SCTP_PEER_ADDR_THLDS = 31 -SCTP_PEER_AUTH_CHUNKS = 26 -SCTP_PRIMARY_ADDR = 6 -SCTP_RECVNXTINFO = 33 -SCTP_RECVRCVINFO = 32 -SCTP_RTOINFO = 0 -SCTP_SET_PEER_PRIMARY_ADDR = 5 -SCTP_SNDINFO = 2 -SCTP_SNDRCV = 1 -SCTP_SOCKOPT_BINDX_ADD = 100 -SCTP_SOCKOPT_BINDX_REM = 101 -SCTP_SOCKOPT_CONNECTX = 110 -SCTP_SOCKOPT_CONNECTX3 = 111 -SCTP_SOCKOPT_CONNECTX_OLD = 107 -SCTP_SOCKOPT_PEELOFF = 102 -SCTP_STATUS = 14 -SCTP_UNORDERED = 1 -SIOCINQ = 21531 -SOCK_SEQPACKET = 5 -SOCK_STREAM = 1 -SOL_SCTP = 132 -SPP_HB_DEMAND = 4 -SPP_HB_DISABLE = 2 -SPP_HB_ENABLE = 1 -SPP_HB_TIME_IS_ZERO = 128 -SPP_PMTUD_DISABLE = 16 -SPP_PMTUD_ENABLE = 8 -SPP_SACKDELAY_DISABLE = 64 -SPP_SACKDELAY_ENABLE = 32 -__NR_accept = 202 -__NR_accept4 = 242 -__NR_bind = 200 -__NR_connect = 203 -__NR_getpeername = 205 -__NR_getsockname = 204 -__NR_getsockopt = 209 -__NR_ioctl = 29 -__NR_recvfrom = 207 -__NR_sendmmsg = 269 -__NR_sendmsg = 211 -__NR_sendto = 206 -__NR_setsockopt = 208 -__NR_socket = 198 -__NR_socketpair = 199 diff --git a/sys/sctp_ppc64le.const b/sys/sctp_ppc64le.const deleted file mode 100644 index b90794f9a..000000000 --- a/sys/sctp_ppc64le.const +++ /dev/null @@ -1,82 +0,0 @@ -# AUTOGENERATED FILE -AF_INET = 2 -AF_INET6 = 10 -IPPROTO_SCTP = 132 -SCTP_ABORT = 4 -SCTP_ADAPTATION_LAYER = 7 -SCTP_ADDR_OVER = 2 -SCTP_ASSOCINFO = 1 -SCTP_AUTH_ACTIVE_KEY = 24 -SCTP_AUTH_CHUNK = 21 -SCTP_AUTH_DELETE_KEY = 25 -SCTP_AUTH_KEY = 23 -SCTP_AUTOCLOSE = 4 -SCTP_AUTO_ASCONF = 30 -SCTP_CONTEXT = 17 -SCTP_DEFAULT_SEND_PARAM = 10 -SCTP_DEFAULT_SNDINFO = 34 -SCTP_DELAYED_SACK = 16 -SCTP_DISABLE_FRAGMENTS = 8 -SCTP_EOF = 512 -SCTP_EVENTS = 11 -SCTP_FRAGMENT_INTERLEAVE = 18 -SCTP_GET_ASSOC_ID_LIST = 29 -SCTP_GET_ASSOC_NUMBER = 28 -SCTP_GET_ASSOC_STATS = 112 -SCTP_GET_LOCAL_ADDRS = 109 -SCTP_GET_PEER_ADDRS = 108 -SCTP_GET_PEER_ADDR_INFO = 15 -SCTP_HMAC_IDENT = 22 -SCTP_INIT = 0 -SCTP_INITMSG = 2 -SCTP_I_WANT_MAPPED_V4_ADDR = 12 -SCTP_LOCAL_AUTH_CHUNKS = 27 -SCTP_MAXSEG = 13 -SCTP_MAX_BURST = 20 -SCTP_NODELAY = 3 -SCTP_PARTIAL_DELIVERY_POINT = 19 -SCTP_PEER_ADDR_PARAMS = 9 -SCTP_PEER_ADDR_THLDS = 31 -SCTP_PEER_AUTH_CHUNKS = 26 -SCTP_PRIMARY_ADDR = 6 -SCTP_RECVNXTINFO = 33 -SCTP_RECVRCVINFO = 32 -SCTP_RTOINFO = 0 -SCTP_SET_PEER_PRIMARY_ADDR = 5 -SCTP_SNDINFO = 2 -SCTP_SNDRCV = 1 -SCTP_SOCKOPT_BINDX_ADD = 100 -SCTP_SOCKOPT_BINDX_REM = 101 -SCTP_SOCKOPT_CONNECTX = 110 -SCTP_SOCKOPT_CONNECTX3 = 111 -SCTP_SOCKOPT_CONNECTX_OLD = 107 -SCTP_SOCKOPT_PEELOFF = 102 -SCTP_STATUS = 14 -SCTP_UNORDERED = 1 -SIOCINQ = 1074030207 -SOCK_SEQPACKET = 5 -SOCK_STREAM = 1 -SOL_SCTP = 132 -SPP_HB_DEMAND = 4 -SPP_HB_DISABLE = 2 -SPP_HB_ENABLE = 1 -SPP_HB_TIME_IS_ZERO = 128 -SPP_PMTUD_DISABLE = 16 -SPP_PMTUD_ENABLE = 8 -SPP_SACKDELAY_DISABLE = 64 -SPP_SACKDELAY_ENABLE = 32 -__NR_accept = 330 -__NR_accept4 = 344 -__NR_bind = 327 -__NR_connect = 328 -__NR_getpeername = 332 -__NR_getsockname = 331 -__NR_getsockopt = 340 -__NR_ioctl = 54 -__NR_recvfrom = 337 -__NR_sendmmsg = 349 -__NR_sendmsg = 341 -__NR_sendto = 335 -__NR_setsockopt = 339 -__NR_socket = 326 -__NR_socketpair = 333 -- cgit mrf-deployment From 876d4def98007d989396051cf6711addf5ee0225 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 15:46:28 +0100 Subject: sys: add igmp basic packet description --- sys/vnet.txt | 23 +++++++++++++++++++++++ sys/vnet_amd64.const | 10 ++++++++++ sys/vnet_arm64.const | 10 ++++++++++ sys/vnet_ppc64le.const | 10 ++++++++++ 4 files changed, 53 insertions(+) (limited to 'sys') 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 + +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 -- cgit mrf-deployment From d19696a5a782619a546d3fab39daf9a269508767 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 15:56:20 +0100 Subject: sys: add arp packet descriptions --- sys/vnet.txt | 55 ++++++++++++++++++++++++++++++++++++++ sys/vnet_amd64.const | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ sys/vnet_arm64.const | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ sys/vnet_ppc64le.const | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 271 insertions(+) (limited to 'sys') diff --git a/sys/vnet.txt b/sys/vnet.txt index 9a0fab70e..5f298a5b9 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -79,10 +79,65 @@ eth2_packet { } [packed] eth2_payload [ + arp arp_packet ipv4 ipv4_packet ipv6 ipv6_packet ] [varlen] +################################################################################ +###################################### ARP ##################################### +################################################################################ + +# https://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure + +include + +arp_htypes = ARPHRD_NETROM, ARPHRD_ETHER, ARPHRD_EETHER, ARPHRD_AX25, ARPHRD_PRONET, ARPHRD_CHAOS, ARPHRD_IEEE802, ARPHRD_ARCNET, ARPHRD_APPLETLK, ARPHRD_DLCI, ARPHRD_ATM, ARPHRD_METRICOM, ARPHRD_IEEE1394, ARPHRD_EUI64, ARPHRD_INFINIBAND, ARPHRD_SLIP, ARPHRD_CSLIP, ARPHRD_SLIP6, ARPHRD_CSLIP6, ARPHRD_RSRVD, ARPHRD_ADAPT, ARPHRD_ROSE, ARPHRD_X25, ARPHRD_HWX25, ARPHRD_CAN, ARPHRD_PPP, ARPHRD_CISCO, ARPHRD_HDLC, ARPHRD_LAPB, ARPHRD_DDCMP, ARPHRD_RAWHDLC, ARPHRD_TUNNEL, ARPHRD_TUNNEL6, ARPHRD_FRAD, ARPHRD_SKIP, ARPHRD_LOOPBACK, ARPHRD_LOCALTLK, ARPHRD_FDDI, ARPHRD_BIF, ARPHRD_SIT, ARPHRD_IPDDP, ARPHRD_IPGRE, ARPHRD_PIMREG, ARPHRD_HIPPI, ARPHRD_ASH, ARPHRD_ECONET, ARPHRD_IRDA, ARPHRD_FCPP, ARPHRD_FCAL, ARPHRD_FCPL, ARPHRD_FCFABRIC, ARPHRD_IEEE802_TR, ARPHRD_IEEE80211, ARPHRD_IEEE80211_PRISM, ARPHRD_IEEE80211_RADIOTAP, ARPHRD_IEEE802154, ARPHRD_IEEE802154_MONITOR, ARPHRD_PHONET, ARPHRD_PHONET_PIPE, ARPHRD_CAIF, ARPHRD_IP6GRE, ARPHRD_NETLINK, ARPHRD_6LOWPAN, ARPHRD_VOID, ARPHRD_NONE + +arp_ops = ARPOP_REQUEST, ARPOP_REPLY, ARPOP_RREQUEST, ARPOP_RREPLY, ARPOP_InREQUEST, ARPOP_InREPLY, ARPOP_NAK + +arp_generic_packet { + htype flags[arp_htypes, int16be] + ptype flags[ether_types, int16be] + hlen const[6, int8] + plen len[spa, int8] + op flags[arp_ops, int16be] + sha mac_addr + spa array[int8, 0:16] + tha mac_addr + tpa array[int8, 16] +} [packed] + +arp_ether_ipv4_packet { + htype const[ARPHRD_ETHER, int16be] + ptype const[ETH_P_IP, int16be] + hlen const[6, int8] + plen const[4, int8] + op flags[arp_ops, int16be] + sha mac_addr + spa ipv4_addr + tha mac_addr + tpa ipv4_addr +} [packed] + +arp_ether_ipv6_packet { + htype const[ARPHRD_ETHER, int16be] + ptype const[ETH_P_IPV6, int16be] + hlen const[6, int8] + plen const[16, int8] + op flags[arp_ops, int16be] + sha mac_addr + spa ipv6_addr + tha mac_addr + tpa ipv6_addr +} [packed] + +arp_packet [ + generic arp_generic_packet + ether_ipv4 arp_ether_ipv4_packet + ether_ipv6 arp_ether_ipv6_packet +] [varlen] + ################################################################################ ##################################### IPv4 ##################################### ################################################################################ diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index cf6a36f28..6933b47a7 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -1,4 +1,76 @@ # AUTOGENERATED FILE +ARPHRD_6LOWPAN = 825 +ARPHRD_ADAPT = 264 +ARPHRD_APPLETLK = 8 +ARPHRD_ARCNET = 7 +ARPHRD_ASH = 781 +ARPHRD_ATM = 19 +ARPHRD_AX25 = 3 +ARPHRD_BIF = 775 +ARPHRD_CAIF = 822 +ARPHRD_CAN = 280 +ARPHRD_CHAOS = 5 +ARPHRD_CISCO = 513 +ARPHRD_CSLIP = 257 +ARPHRD_CSLIP6 = 259 +ARPHRD_DDCMP = 517 +ARPHRD_DLCI = 15 +ARPHRD_ECONET = 782 +ARPHRD_EETHER = 2 +ARPHRD_ETHER = 1 +ARPHRD_EUI64 = 27 +ARPHRD_FCAL = 785 +ARPHRD_FCFABRIC = 787 +ARPHRD_FCPL = 786 +ARPHRD_FCPP = 784 +ARPHRD_FDDI = 774 +ARPHRD_FRAD = 770 +ARPHRD_HDLC = 513 +ARPHRD_HIPPI = 780 +ARPHRD_HWX25 = 272 +ARPHRD_IEEE1394 = 24 +ARPHRD_IEEE802 = 6 +ARPHRD_IEEE80211 = 801 +ARPHRD_IEEE80211_PRISM = 802 +ARPHRD_IEEE80211_RADIOTAP = 803 +ARPHRD_IEEE802154 = 804 +ARPHRD_IEEE802154_MONITOR = 805 +ARPHRD_IEEE802_TR = 800 +ARPHRD_INFINIBAND = 32 +ARPHRD_IP6GRE = 823 +ARPHRD_IPDDP = 777 +ARPHRD_IPGRE = 778 +ARPHRD_IRDA = 783 +ARPHRD_LAPB = 516 +ARPHRD_LOCALTLK = 773 +ARPHRD_LOOPBACK = 772 +ARPHRD_METRICOM = 23 +ARPHRD_NETLINK = 824 +ARPHRD_NETROM = 0 +ARPHRD_NONE = 65534 +ARPHRD_PHONET = 820 +ARPHRD_PHONET_PIPE = 821 +ARPHRD_PIMREG = 779 +ARPHRD_PPP = 512 +ARPHRD_PRONET = 4 +ARPHRD_RAWHDLC = 518 +ARPHRD_ROSE = 270 +ARPHRD_RSRVD = 260 +ARPHRD_SIT = 776 +ARPHRD_SKIP = 771 +ARPHRD_SLIP = 256 +ARPHRD_SLIP6 = 258 +ARPHRD_TUNNEL = 768 +ARPHRD_TUNNEL6 = 769 +ARPHRD_VOID = 65535 +ARPHRD_X25 = 271 +ARPOP_InREPLY = 9 +ARPOP_InREQUEST = 8 +ARPOP_NAK = 10 +ARPOP_REPLY = 2 +ARPOP_REQUEST = 1 +ARPOP_RREPLY = 4 +ARPOP_RREQUEST = 3 CIPSO_V4_TAG_ENUM = 2 CIPSO_V4_TAG_FREEFORM = 7 CIPSO_V4_TAG_INVALID = 0 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index cf6a36f28..6933b47a7 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -1,4 +1,76 @@ # AUTOGENERATED FILE +ARPHRD_6LOWPAN = 825 +ARPHRD_ADAPT = 264 +ARPHRD_APPLETLK = 8 +ARPHRD_ARCNET = 7 +ARPHRD_ASH = 781 +ARPHRD_ATM = 19 +ARPHRD_AX25 = 3 +ARPHRD_BIF = 775 +ARPHRD_CAIF = 822 +ARPHRD_CAN = 280 +ARPHRD_CHAOS = 5 +ARPHRD_CISCO = 513 +ARPHRD_CSLIP = 257 +ARPHRD_CSLIP6 = 259 +ARPHRD_DDCMP = 517 +ARPHRD_DLCI = 15 +ARPHRD_ECONET = 782 +ARPHRD_EETHER = 2 +ARPHRD_ETHER = 1 +ARPHRD_EUI64 = 27 +ARPHRD_FCAL = 785 +ARPHRD_FCFABRIC = 787 +ARPHRD_FCPL = 786 +ARPHRD_FCPP = 784 +ARPHRD_FDDI = 774 +ARPHRD_FRAD = 770 +ARPHRD_HDLC = 513 +ARPHRD_HIPPI = 780 +ARPHRD_HWX25 = 272 +ARPHRD_IEEE1394 = 24 +ARPHRD_IEEE802 = 6 +ARPHRD_IEEE80211 = 801 +ARPHRD_IEEE80211_PRISM = 802 +ARPHRD_IEEE80211_RADIOTAP = 803 +ARPHRD_IEEE802154 = 804 +ARPHRD_IEEE802154_MONITOR = 805 +ARPHRD_IEEE802_TR = 800 +ARPHRD_INFINIBAND = 32 +ARPHRD_IP6GRE = 823 +ARPHRD_IPDDP = 777 +ARPHRD_IPGRE = 778 +ARPHRD_IRDA = 783 +ARPHRD_LAPB = 516 +ARPHRD_LOCALTLK = 773 +ARPHRD_LOOPBACK = 772 +ARPHRD_METRICOM = 23 +ARPHRD_NETLINK = 824 +ARPHRD_NETROM = 0 +ARPHRD_NONE = 65534 +ARPHRD_PHONET = 820 +ARPHRD_PHONET_PIPE = 821 +ARPHRD_PIMREG = 779 +ARPHRD_PPP = 512 +ARPHRD_PRONET = 4 +ARPHRD_RAWHDLC = 518 +ARPHRD_ROSE = 270 +ARPHRD_RSRVD = 260 +ARPHRD_SIT = 776 +ARPHRD_SKIP = 771 +ARPHRD_SLIP = 256 +ARPHRD_SLIP6 = 258 +ARPHRD_TUNNEL = 768 +ARPHRD_TUNNEL6 = 769 +ARPHRD_VOID = 65535 +ARPHRD_X25 = 271 +ARPOP_InREPLY = 9 +ARPOP_InREQUEST = 8 +ARPOP_NAK = 10 +ARPOP_REPLY = 2 +ARPOP_REQUEST = 1 +ARPOP_RREPLY = 4 +ARPOP_RREQUEST = 3 CIPSO_V4_TAG_ENUM = 2 CIPSO_V4_TAG_FREEFORM = 7 CIPSO_V4_TAG_INVALID = 0 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index cf6a36f28..6933b47a7 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -1,4 +1,76 @@ # AUTOGENERATED FILE +ARPHRD_6LOWPAN = 825 +ARPHRD_ADAPT = 264 +ARPHRD_APPLETLK = 8 +ARPHRD_ARCNET = 7 +ARPHRD_ASH = 781 +ARPHRD_ATM = 19 +ARPHRD_AX25 = 3 +ARPHRD_BIF = 775 +ARPHRD_CAIF = 822 +ARPHRD_CAN = 280 +ARPHRD_CHAOS = 5 +ARPHRD_CISCO = 513 +ARPHRD_CSLIP = 257 +ARPHRD_CSLIP6 = 259 +ARPHRD_DDCMP = 517 +ARPHRD_DLCI = 15 +ARPHRD_ECONET = 782 +ARPHRD_EETHER = 2 +ARPHRD_ETHER = 1 +ARPHRD_EUI64 = 27 +ARPHRD_FCAL = 785 +ARPHRD_FCFABRIC = 787 +ARPHRD_FCPL = 786 +ARPHRD_FCPP = 784 +ARPHRD_FDDI = 774 +ARPHRD_FRAD = 770 +ARPHRD_HDLC = 513 +ARPHRD_HIPPI = 780 +ARPHRD_HWX25 = 272 +ARPHRD_IEEE1394 = 24 +ARPHRD_IEEE802 = 6 +ARPHRD_IEEE80211 = 801 +ARPHRD_IEEE80211_PRISM = 802 +ARPHRD_IEEE80211_RADIOTAP = 803 +ARPHRD_IEEE802154 = 804 +ARPHRD_IEEE802154_MONITOR = 805 +ARPHRD_IEEE802_TR = 800 +ARPHRD_INFINIBAND = 32 +ARPHRD_IP6GRE = 823 +ARPHRD_IPDDP = 777 +ARPHRD_IPGRE = 778 +ARPHRD_IRDA = 783 +ARPHRD_LAPB = 516 +ARPHRD_LOCALTLK = 773 +ARPHRD_LOOPBACK = 772 +ARPHRD_METRICOM = 23 +ARPHRD_NETLINK = 824 +ARPHRD_NETROM = 0 +ARPHRD_NONE = 65534 +ARPHRD_PHONET = 820 +ARPHRD_PHONET_PIPE = 821 +ARPHRD_PIMREG = 779 +ARPHRD_PPP = 512 +ARPHRD_PRONET = 4 +ARPHRD_RAWHDLC = 518 +ARPHRD_ROSE = 270 +ARPHRD_RSRVD = 260 +ARPHRD_SIT = 776 +ARPHRD_SKIP = 771 +ARPHRD_SLIP = 256 +ARPHRD_SLIP6 = 258 +ARPHRD_TUNNEL = 768 +ARPHRD_TUNNEL6 = 769 +ARPHRD_VOID = 65535 +ARPHRD_X25 = 271 +ARPOP_InREPLY = 9 +ARPOP_InREQUEST = 8 +ARPOP_NAK = 10 +ARPOP_REPLY = 2 +ARPOP_REQUEST = 1 +ARPOP_RREPLY = 4 +ARPOP_RREQUEST = 3 CIPSO_V4_TAG_ENUM = 2 CIPSO_V4_TAG_FREEFORM = 7 CIPSO_V4_TAG_INVALID = 0 -- cgit mrf-deployment From ff7878ed43c5a566836c4772ff654248df4f89f8 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 17:29:46 +0100 Subject: sys: add basic ipx packet description --- sys/vnet.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/vnet_amd64.const | 6 ++++++ sys/vnet_arm64.const | 6 ++++++ sys/vnet_ppc64le.const | 6 ++++++ 4 files changed, 62 insertions(+) (limited to 'sys') diff --git a/sys/vnet.txt b/sys/vnet.txt index 5f298a5b9..c3c041549 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -80,6 +80,7 @@ eth2_packet { eth2_payload [ arp arp_packet + ipx ipx_packet ipv4 ipv4_packet ipv6 ipv6_packet ] [varlen] @@ -138,6 +139,49 @@ arp_packet [ ether_ipv6 arp_ether_ipv6_packet ] [varlen] +################################################################################ +###################################### IPX ##################################### +################################################################################ + +# http://www.networksorcery.com/enp/protocol/ipx.htm +# https://en.wikipedia.org/wiki/Internetwork_Packet_Exchange#IPX_packet_structure + +include + +ipx_network [ + random int32be + current const[0x00000000, int32be] + broadcast const[0xffffffff, int32be] +] + +ipx_node [ + random array[int8, 6] + current array[const[0x00, int8], 6] + broadcast array[const[0xff, int8], 6] +] + +ipx_addr { + network ipx_network + node ipx_node + socket int16be +} [packed] + +ipx_packet_types = IPX_TYPE_UNKNOWN, IPX_TYPE_RIP, IPX_TYPE_SAP, IPX_TYPE_SPX, IPX_TYPE_NCP, IPX_TYPE_PPROP + +ipx_packet { + csum const[0xffff, int16be] + length len[parent, int16be] + control int8 + type flags[ipx_packet_types, int8] + dst_addr ipx_addr + src_addr ipx_addr + payload array[int8] +} [packed] + +# TODO: setup ipx on virtual interfaces in executor +# TODO: describe particular ipx types +# TODO: open ipx sockets from userspace + ################################################################################ ##################################### IPv4 ##################################### ################################################################################ diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index 6933b47a7..be04e278d 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -268,6 +268,12 @@ IPV6_TLV_JUMBO = 194 IPV6_TLV_PAD1 = 0 IPV6_TLV_PADN = 1 IPV6_TLV_ROUTERALERT = 5 +IPX_TYPE_NCP = 17 +IPX_TYPE_PPROP = 20 +IPX_TYPE_RIP = 1 +IPX_TYPE_SAP = 4 +IPX_TYPE_SPX = 5 +IPX_TYPE_UNKNOWN = 0 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index 6933b47a7..be04e278d 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -268,6 +268,12 @@ IPV6_TLV_JUMBO = 194 IPV6_TLV_PAD1 = 0 IPV6_TLV_PADN = 1 IPV6_TLV_ROUTERALERT = 5 +IPX_TYPE_NCP = 17 +IPX_TYPE_PPROP = 20 +IPX_TYPE_RIP = 1 +IPX_TYPE_SAP = 4 +IPX_TYPE_SPX = 5 +IPX_TYPE_UNKNOWN = 0 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index 6933b47a7..be04e278d 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -268,6 +268,12 @@ IPV6_TLV_JUMBO = 194 IPV6_TLV_PAD1 = 0 IPV6_TLV_PADN = 1 IPV6_TLV_ROUTERALERT = 5 +IPX_TYPE_NCP = 17 +IPX_TYPE_PPROP = 20 +IPX_TYPE_RIP = 1 +IPX_TYPE_SAP = 4 +IPX_TYPE_SPX = 5 +IPX_TYPE_UNKNOWN = 0 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 -- cgit mrf-deployment From 8866650143ce43ce18abd43e5896d738449680d0 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 17:58:24 +0100 Subject: sys: add basic x25 packet descriptions --- sys/vnet.txt | 25 +++++++++++++++++++++++++ sys/vnet_amd64.const | 22 ++++++++++++++++++++++ sys/vnet_arm64.const | 22 ++++++++++++++++++++++ sys/vnet_ppc64le.const | 22 ++++++++++++++++++++++ 4 files changed, 91 insertions(+) (limited to 'sys') diff --git a/sys/vnet.txt b/sys/vnet.txt index c3c041549..216a635ce 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -81,6 +81,7 @@ eth2_packet { eth2_payload [ arp arp_packet ipx ipx_packet + x25 x25_packet ipv4 ipv4_packet ipv6 ipv6_packet ] [varlen] @@ -182,6 +183,30 @@ ipx_packet { # TODO: describe particular ipx types # TODO: open ipx sockets from userspace +################################################################################ +###################################### x25 ##################################### +################################################################################ + +# Documentation/networking/x25.txt +# Documentation/networking/x25-iface.txt +# http://www.dafuer.com/kleinehelferlein/x25layer.htm + +include +include + +x25_iface_types = X25_IFACE_DATA, X25_IFACE_CONNECT, X25_IFACE_DISCONNECT, X25_IFACE_PARAMS + +x25_frame_types = X25_CALL_REQUEST, X25_CALL_ACCEPTED, X25_CLEAR_REQUEST, X25_CLEAR_CONFIRMATION, X25_DATA, X25_INTERRUPT, X25_INTERRUPT_CONFIRMATION, X25_RR, X25_RNR, X25_REJ, X25_RESET_REQUEST, X25_RESET_CONFIRMATION, X25_REGISTRATION_REQUEST, X25_REGISTRATION_CONFIRMATION, X25_RESTART_REQUEST, X25_RESTART_CONFIRMATION, X25_DIAGNOSTIC, X25_ILLEGAL + +x25_packet { + iface flags[x25_iface_types, int8] + wtf int8 + frame flags[x25_frame_types, int8] + payload array[int8] +} [packed] + +# TODO: open x25 sockets from userspace + ################################################################################ ##################################### IPv4 ##################################### ################################################################################ diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index be04e278d..cf9ff9faf 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -307,3 +307,25 @@ TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 +X25_CALL_ACCEPTED = 15 +X25_CALL_REQUEST = 11 +X25_CLEAR_CONFIRMATION = 23 +X25_CLEAR_REQUEST = 19 +X25_DATA = 0 +X25_DIAGNOSTIC = 241 +X25_IFACE_CONNECT = 1 +X25_IFACE_DATA = 0 +X25_IFACE_DISCONNECT = 2 +X25_IFACE_PARAMS = 3 +X25_ILLEGAL = 253 +X25_INTERRUPT = 35 +X25_INTERRUPT_CONFIRMATION = 39 +X25_REGISTRATION_CONFIRMATION = 247 +X25_REGISTRATION_REQUEST = 243 +X25_REJ = 9 +X25_RESET_CONFIRMATION = 31 +X25_RESET_REQUEST = 27 +X25_RESTART_CONFIRMATION = 255 +X25_RESTART_REQUEST = 251 +X25_RNR = 5 +X25_RR = 1 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index be04e278d..cf9ff9faf 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -307,3 +307,25 @@ TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 +X25_CALL_ACCEPTED = 15 +X25_CALL_REQUEST = 11 +X25_CLEAR_CONFIRMATION = 23 +X25_CLEAR_REQUEST = 19 +X25_DATA = 0 +X25_DIAGNOSTIC = 241 +X25_IFACE_CONNECT = 1 +X25_IFACE_DATA = 0 +X25_IFACE_DISCONNECT = 2 +X25_IFACE_PARAMS = 3 +X25_ILLEGAL = 253 +X25_INTERRUPT = 35 +X25_INTERRUPT_CONFIRMATION = 39 +X25_REGISTRATION_CONFIRMATION = 247 +X25_REGISTRATION_REQUEST = 243 +X25_REJ = 9 +X25_RESET_CONFIRMATION = 31 +X25_RESET_REQUEST = 27 +X25_RESTART_CONFIRMATION = 255 +X25_RESTART_REQUEST = 251 +X25_RNR = 5 +X25_RR = 1 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index be04e278d..cf9ff9faf 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -307,3 +307,25 @@ TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 +X25_CALL_ACCEPTED = 15 +X25_CALL_REQUEST = 11 +X25_CLEAR_CONFIRMATION = 23 +X25_CLEAR_REQUEST = 19 +X25_DATA = 0 +X25_DIAGNOSTIC = 241 +X25_IFACE_CONNECT = 1 +X25_IFACE_DATA = 0 +X25_IFACE_DISCONNECT = 2 +X25_IFACE_PARAMS = 3 +X25_ILLEGAL = 253 +X25_INTERRUPT = 35 +X25_INTERRUPT_CONFIRMATION = 39 +X25_REGISTRATION_CONFIRMATION = 247 +X25_REGISTRATION_REQUEST = 243 +X25_REJ = 9 +X25_RESET_CONFIRMATION = 31 +X25_RESET_REQUEST = 27 +X25_RESTART_CONFIRMATION = 255 +X25_RESTART_REQUEST = 251 +X25_RNR = 5 +X25_RR = 1 -- cgit mrf-deployment From 61beadcd4a3c89ac320cf0576d7ecc785f66e1c3 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 13 Feb 2017 18:27:33 +0100 Subject: sys: add basic llc packet descriptions --- sys/vnet.txt | 41 +++++++++++++++++++++++++++++++++++++++++ sys/vnet_amd64.const | 21 +++++++++++++++++++++ sys/vnet_arm64.const | 21 +++++++++++++++++++++ sys/vnet_ppc64le.const | 21 +++++++++++++++++++++ 4 files changed, 104 insertions(+) (limited to 'sys') diff --git a/sys/vnet.txt b/sys/vnet.txt index 216a635ce..56c9b88fd 100644 --- a/sys/vnet.txt +++ b/sys/vnet.txt @@ -80,6 +80,7 @@ eth2_packet { eth2_payload [ arp arp_packet + llc llc_packet ipx ipx_packet x25 x25_packet ipv4 ipv4_packet @@ -140,6 +141,46 @@ arp_packet [ ether_ipv6 arp_ether_ipv6_packet ] [varlen] +################################################################################ +################################## 802.2 (LLC) ################################# +################################################################################ + +# https://en.wikipedia.org/wiki/IEEE_802.2 +# https://en.wikipedia.org/wiki/Subnetwork_Access_Protocol + +include + +# Adding '1' as a SAP value since the lower bit in SAP has a special meaning. +sap_values = 1, LLC_SAP_NULL, LLC_SAP_LLC, LLC_SAP_SNA, LLC_SAP_PNM, LLC_SAP_IP, LLC_SAP_BSPAN, LLC_SAP_MMS, LLC_SAP_8208, LLC_SAP_3COM, LLC_SAP_PRO, LLC_SAP_SNAP, LLC_SAP_BANYAN, LLC_SAP_IPX, LLC_SAP_NETBEUI, LLC_SAP_LANMGR, LLC_SAP_IMPL, LLC_SAP_DISC, LLC_SAP_OSI, LLC_SAP_LAR, LLC_SAP_RM, LLC_SAP_GLOBAL + +llc_generic_packet { + dsap flags[sap_values, int8] + ssap flags[sap_values, int8] + ctrl array[int8, 1:2] + payload array[int8] +} [packed] + +sap_snap_values = 1, LLC_SAP_SNAP + +llc_snap_packet { + dsap flags[sap_snap_values, int8] + ssap flags[sap_snap_values, int8] + control array[int8, 1:2] + oui array[int8, 3] + protocol_id flags[ether_types, int16be] + payload array[int8] +} [packed] + +llc_payload [ + llc llc_generic_packet + snap llc_snap_packet +] [varlen] + +llc_packet { + length len[payload, int16be] + payload llc_payload +} [packed] + ################################################################################ ###################################### IPX ##################################### ################################################################################ diff --git a/sys/vnet_amd64.const b/sys/vnet_amd64.const index cf9ff9faf..43e8d186c 100644 --- a/sys/vnet_amd64.const +++ b/sys/vnet_amd64.const @@ -274,6 +274,27 @@ IPX_TYPE_RIP = 1 IPX_TYPE_SAP = 4 IPX_TYPE_SPX = 5 IPX_TYPE_UNKNOWN = 0 +LLC_SAP_3COM = 128 +LLC_SAP_8208 = 126 +LLC_SAP_BANYAN = 188 +LLC_SAP_BSPAN = 66 +LLC_SAP_DISC = 252 +LLC_SAP_GLOBAL = 255 +LLC_SAP_IMPL = 248 +LLC_SAP_IP = 6 +LLC_SAP_IPX = 224 +LLC_SAP_LANMGR = 244 +LLC_SAP_LAR = 220 +LLC_SAP_LLC = 2 +LLC_SAP_MMS = 78 +LLC_SAP_NETBEUI = 240 +LLC_SAP_NULL = 0 +LLC_SAP_OSI = 254 +LLC_SAP_PNM = 14 +LLC_SAP_PRO = 142 +LLC_SAP_RM = 212 +LLC_SAP_SNA = 4 +LLC_SAP_SNAP = 170 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 diff --git a/sys/vnet_arm64.const b/sys/vnet_arm64.const index cf9ff9faf..43e8d186c 100644 --- a/sys/vnet_arm64.const +++ b/sys/vnet_arm64.const @@ -274,6 +274,27 @@ IPX_TYPE_RIP = 1 IPX_TYPE_SAP = 4 IPX_TYPE_SPX = 5 IPX_TYPE_UNKNOWN = 0 +LLC_SAP_3COM = 128 +LLC_SAP_8208 = 126 +LLC_SAP_BANYAN = 188 +LLC_SAP_BSPAN = 66 +LLC_SAP_DISC = 252 +LLC_SAP_GLOBAL = 255 +LLC_SAP_IMPL = 248 +LLC_SAP_IP = 6 +LLC_SAP_IPX = 224 +LLC_SAP_LANMGR = 244 +LLC_SAP_LAR = 220 +LLC_SAP_LLC = 2 +LLC_SAP_MMS = 78 +LLC_SAP_NETBEUI = 240 +LLC_SAP_NULL = 0 +LLC_SAP_OSI = 254 +LLC_SAP_PNM = 14 +LLC_SAP_PRO = 142 +LLC_SAP_RM = 212 +LLC_SAP_SNA = 4 +LLC_SAP_SNAP = 170 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 diff --git a/sys/vnet_ppc64le.const b/sys/vnet_ppc64le.const index cf9ff9faf..43e8d186c 100644 --- a/sys/vnet_ppc64le.const +++ b/sys/vnet_ppc64le.const @@ -274,6 +274,27 @@ IPX_TYPE_RIP = 1 IPX_TYPE_SAP = 4 IPX_TYPE_SPX = 5 IPX_TYPE_UNKNOWN = 0 +LLC_SAP_3COM = 128 +LLC_SAP_8208 = 126 +LLC_SAP_BANYAN = 188 +LLC_SAP_BSPAN = 66 +LLC_SAP_DISC = 252 +LLC_SAP_GLOBAL = 255 +LLC_SAP_IMPL = 248 +LLC_SAP_IP = 6 +LLC_SAP_IPX = 224 +LLC_SAP_LANMGR = 244 +LLC_SAP_LAR = 220 +LLC_SAP_LLC = 2 +LLC_SAP_MMS = 78 +LLC_SAP_NETBEUI = 240 +LLC_SAP_NULL = 0 +LLC_SAP_OSI = 254 +LLC_SAP_PNM = 14 +LLC_SAP_PRO = 142 +LLC_SAP_RM = 212 +LLC_SAP_SNA = 4 +LLC_SAP_SNAP = 170 NEXTHDR_AUTH = 51 NEXTHDR_DEST = 60 NEXTHDR_ESP = 50 -- cgit mrf-deployment