1*852ba100SJustin Hibbits /* 2*852ba100SJustin Hibbits * Copyright 2008-2012 Freescale Semiconductor Inc. 30aeed3e9SJustin Hibbits * 40aeed3e9SJustin Hibbits * Redistribution and use in source and binary forms, with or without 50aeed3e9SJustin Hibbits * modification, are permitted provided that the following conditions are met: 60aeed3e9SJustin Hibbits * * Redistributions of source code must retain the above copyright 70aeed3e9SJustin Hibbits * notice, this list of conditions and the following disclaimer. 80aeed3e9SJustin Hibbits * * Redistributions in binary form must reproduce the above copyright 90aeed3e9SJustin Hibbits * notice, this list of conditions and the following disclaimer in the 100aeed3e9SJustin Hibbits * documentation and/or other materials provided with the distribution. 110aeed3e9SJustin Hibbits * * Neither the name of Freescale Semiconductor nor the 120aeed3e9SJustin Hibbits * names of its contributors may be used to endorse or promote products 130aeed3e9SJustin Hibbits * derived from this software without specific prior written permission. 140aeed3e9SJustin Hibbits * 150aeed3e9SJustin Hibbits * 160aeed3e9SJustin Hibbits * ALTERNATIVELY, this software may be distributed under the terms of the 170aeed3e9SJustin Hibbits * GNU General Public License ("GPL") as published by the Free Software 180aeed3e9SJustin Hibbits * Foundation, either version 2 of that License or (at your option) any 190aeed3e9SJustin Hibbits * later version. 200aeed3e9SJustin Hibbits * 210aeed3e9SJustin Hibbits * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 220aeed3e9SJustin Hibbits * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 230aeed3e9SJustin Hibbits * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 240aeed3e9SJustin Hibbits * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 250aeed3e9SJustin Hibbits * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 260aeed3e9SJustin Hibbits * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 270aeed3e9SJustin Hibbits * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 280aeed3e9SJustin Hibbits * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 290aeed3e9SJustin Hibbits * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 300aeed3e9SJustin Hibbits * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 310aeed3e9SJustin Hibbits */ 320aeed3e9SJustin Hibbits 33*852ba100SJustin Hibbits 340aeed3e9SJustin Hibbits /**************************************************************************//** 350aeed3e9SJustin Hibbits @File net_ext.h 360aeed3e9SJustin Hibbits 370aeed3e9SJustin Hibbits @Description This file contains common and general netcomm headers definitions. 380aeed3e9SJustin Hibbits *//***************************************************************************/ 390aeed3e9SJustin Hibbits #ifndef __NET_EXT_H 400aeed3e9SJustin Hibbits #define __NET_EXT_H 410aeed3e9SJustin Hibbits 420aeed3e9SJustin Hibbits #include "std_ext.h" 430aeed3e9SJustin Hibbits 440aeed3e9SJustin Hibbits 450aeed3e9SJustin Hibbits typedef uint8_t headerFieldPpp_t; 460aeed3e9SJustin Hibbits 470aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_PID (1) 480aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_COMPRESSED (NET_HEADER_FIELD_PPP_PID << 1) 490aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPP_ALL_FIELDS ((NET_HEADER_FIELD_PPP_PID << 2) - 1) 500aeed3e9SJustin Hibbits 510aeed3e9SJustin Hibbits 520aeed3e9SJustin Hibbits typedef uint8_t headerFieldPppoe_t; 530aeed3e9SJustin Hibbits 540aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_VER (1) 550aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_TYPE (NET_HEADER_FIELD_PPPoE_VER << 1) 560aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_CODE (NET_HEADER_FIELD_PPPoE_VER << 2) 570aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_SID (NET_HEADER_FIELD_PPPoE_VER << 3) 580aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_LEN (NET_HEADER_FIELD_PPPoE_VER << 4) 590aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_SESSION (NET_HEADER_FIELD_PPPoE_VER << 5) 600aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_PID (NET_HEADER_FIELD_PPPoE_VER << 6) 610aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPoE_ALL_FIELDS ((NET_HEADER_FIELD_PPPoE_VER << 7) - 1) 620aeed3e9SJustin Hibbits 630aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_PID (1) 640aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_CKSUM (NET_HEADER_FIELD_PPPMUX_PID << 1) 650aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_COMPRESSED (NET_HEADER_FIELD_PPPMUX_PID << 2) 660aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_ALL_FIELDS ((NET_HEADER_FIELD_PPPMUX_PID << 3) - 1) 670aeed3e9SJustin Hibbits 680aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF (1) 690aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_LXT (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 1) 700aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_LEN (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 2) 710aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_PID (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 3) 720aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_USE_PID (NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 4) 730aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PPPMUX_SUBFRAME_ALL_FIELDS ((NET_HEADER_FIELD_PPPMUX_SUBFRAME_PFF << 5) - 1) 740aeed3e9SJustin Hibbits 750aeed3e9SJustin Hibbits 760aeed3e9SJustin Hibbits typedef uint8_t headerFieldEth_t; 770aeed3e9SJustin Hibbits 780aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_DA (1) 790aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_SA (NET_HEADER_FIELD_ETH_DA << 1) 800aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_LENGTH (NET_HEADER_FIELD_ETH_DA << 2) 810aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_TYPE (NET_HEADER_FIELD_ETH_DA << 3) 820aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_FINAL_CKSUM (NET_HEADER_FIELD_ETH_DA << 4) 830aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_PADDING (NET_HEADER_FIELD_ETH_DA << 5) 840aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ETH_ALL_FIELDS ((NET_HEADER_FIELD_ETH_DA << 6) - 1) 850aeed3e9SJustin Hibbits 86*852ba100SJustin Hibbits #define NET_HEADER_FIELD_ETH_ADDR_SIZE 6 87*852ba100SJustin Hibbits 88*852ba100SJustin Hibbits typedef uint16_t headerFieldIp_t; 89*852ba100SJustin Hibbits 90*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IP_VER (1) 91*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IP_DSCP (NET_HEADER_FIELD_IP_VER << 2) 92*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IP_ECN (NET_HEADER_FIELD_IP_VER << 3) 93*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IP_PROTO (NET_HEADER_FIELD_IP_VER << 4) 94*852ba100SJustin Hibbits 95*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IP_PROTO_SIZE 1 960aeed3e9SJustin Hibbits 970aeed3e9SJustin Hibbits typedef uint16_t headerFieldIpv4_t; 980aeed3e9SJustin Hibbits 990aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_VER (1) 1000aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_HDR_LEN (NET_HEADER_FIELD_IPv4_VER << 1) 1010aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TOS (NET_HEADER_FIELD_IPv4_VER << 2) 1020aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TOTAL_LEN (NET_HEADER_FIELD_IPv4_VER << 3) 1030aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_ID (NET_HEADER_FIELD_IPv4_VER << 4) 1040aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_FLAG_D (NET_HEADER_FIELD_IPv4_VER << 5) 1050aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_FLAG_M (NET_HEADER_FIELD_IPv4_VER << 6) 1060aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OFFSET (NET_HEADER_FIELD_IPv4_VER << 7) 1070aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_TTL (NET_HEADER_FIELD_IPv4_VER << 8) 1080aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_PROTO (NET_HEADER_FIELD_IPv4_VER << 9) 1090aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_CKSUM (NET_HEADER_FIELD_IPv4_VER << 10) 1100aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_SRC_IP (NET_HEADER_FIELD_IPv4_VER << 11) 1110aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_DST_IP (NET_HEADER_FIELD_IPv4_VER << 12) 1120aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OPTS (NET_HEADER_FIELD_IPv4_VER << 13) 1130aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_OPTS_COUNT (NET_HEADER_FIELD_IPv4_VER << 14) 1140aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv4_ALL_FIELDS ((NET_HEADER_FIELD_IPv4_VER << 15) - 1) 1150aeed3e9SJustin Hibbits 116*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IPv4_ADDR_SIZE 4 117*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IPv4_PROTO_SIZE 1 118*852ba100SJustin Hibbits 1190aeed3e9SJustin Hibbits 1200aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpv6_t; 1210aeed3e9SJustin Hibbits 1220aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_VER (1) 1230aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_TC (NET_HEADER_FIELD_IPv6_VER << 1) 1240aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_SRC_IP (NET_HEADER_FIELD_IPv6_VER << 2) 1250aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_DST_IP (NET_HEADER_FIELD_IPv6_VER << 3) 1260aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_NEXT_HDR (NET_HEADER_FIELD_IPv6_VER << 4) 1270aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_FL (NET_HEADER_FIELD_IPv6_VER << 5) 1280aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_HOP_LIMIT (NET_HEADER_FIELD_IPv6_VER << 6) 1290aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPv6_ALL_FIELDS ((NET_HEADER_FIELD_IPv6_VER << 7) - 1) 1300aeed3e9SJustin Hibbits 131*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IPv6_ADDR_SIZE 16 132*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IPv6_NEXT_HDR_SIZE 1 133*852ba100SJustin Hibbits 1340aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_TYPE (1) 1350aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_CODE (NET_HEADER_FIELD_ICMP_TYPE << 1) 1360aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_CKSUM (NET_HEADER_FIELD_ICMP_TYPE << 2) 1370aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_ID (NET_HEADER_FIELD_ICMP_TYPE << 3) 1380aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_SQ_NUM (NET_HEADER_FIELD_ICMP_TYPE << 4) 1390aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ICMP_ALL_FIELDS ((NET_HEADER_FIELD_ICMP_TYPE << 5) - 1) 1400aeed3e9SJustin Hibbits 141*852ba100SJustin Hibbits #define NET_HEADER_FIELD_ICMP_CODE_SIZE 1 142*852ba100SJustin Hibbits #define NET_HEADER_FIELD_ICMP_TYPE_SIZE 1 143*852ba100SJustin Hibbits 1440aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_VERSION (1) 1450aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_TYPE (NET_HEADER_FIELD_IGMP_VERSION << 1) 1460aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_CKSUM (NET_HEADER_FIELD_IGMP_VERSION << 2) 1470aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_DATA (NET_HEADER_FIELD_IGMP_VERSION << 3) 1480aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IGMP_ALL_FIELDS ((NET_HEADER_FIELD_IGMP_VERSION << 4) - 1) 1490aeed3e9SJustin Hibbits 1500aeed3e9SJustin Hibbits 1510aeed3e9SJustin Hibbits typedef uint16_t headerFieldTcp_t; 1520aeed3e9SJustin Hibbits 1530aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_PORT_SRC (1) 1540aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_PORT_DST (NET_HEADER_FIELD_TCP_PORT_SRC << 1) 1550aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_SEQ (NET_HEADER_FIELD_TCP_PORT_SRC << 2) 1560aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_ACK (NET_HEADER_FIELD_TCP_PORT_SRC << 3) 1570aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OFFSET (NET_HEADER_FIELD_TCP_PORT_SRC << 4) 1580aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_FLAGS (NET_HEADER_FIELD_TCP_PORT_SRC << 5) 1590aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_WINDOW (NET_HEADER_FIELD_TCP_PORT_SRC << 6) 1600aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_CKSUM (NET_HEADER_FIELD_TCP_PORT_SRC << 7) 1610aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_URGPTR (NET_HEADER_FIELD_TCP_PORT_SRC << 8) 1620aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OPTS (NET_HEADER_FIELD_TCP_PORT_SRC << 9) 1630aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_OPTS_COUNT (NET_HEADER_FIELD_TCP_PORT_SRC << 10) 1640aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_TCP_ALL_FIELDS ((NET_HEADER_FIELD_TCP_PORT_SRC << 11) - 1) 1650aeed3e9SJustin Hibbits 166*852ba100SJustin Hibbits #define NET_HEADER_FIELD_TCP_PORT_SIZE 2 167*852ba100SJustin Hibbits 1680aeed3e9SJustin Hibbits 1690aeed3e9SJustin Hibbits typedef uint8_t headerFieldSctp_t; 1700aeed3e9SJustin Hibbits 1710aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_PORT_SRC (1) 1720aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_PORT_DST (NET_HEADER_FIELD_SCTP_PORT_SRC << 1) 1730aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_VER_TAG (NET_HEADER_FIELD_SCTP_PORT_SRC << 2) 1740aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CKSUM (NET_HEADER_FIELD_SCTP_PORT_SRC << 3) 1750aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_ALL_FIELDS ((NET_HEADER_FIELD_SCTP_PORT_SRC << 4) - 1) 1760aeed3e9SJustin Hibbits 177*852ba100SJustin Hibbits #define NET_HEADER_FIELD_SCTP_PORT_SIZE 2 1780aeed3e9SJustin Hibbits 1790aeed3e9SJustin Hibbits typedef uint8_t headerFieldDccp_t; 1800aeed3e9SJustin Hibbits 1810aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_PORT_SRC (1) 1820aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_PORT_DST (NET_HEADER_FIELD_DCCP_PORT_SRC << 1) 1830aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_DCCP_ALL_FIELDS ((NET_HEADER_FIELD_DCCP_PORT_SRC << 2) - 1) 1840aeed3e9SJustin Hibbits 185*852ba100SJustin Hibbits #define NET_HEADER_FIELD_DCCP_PORT_SIZE 2 186*852ba100SJustin Hibbits 1870aeed3e9SJustin Hibbits 1880aeed3e9SJustin Hibbits typedef uint8_t headerFieldUdp_t; 1890aeed3e9SJustin Hibbits 1900aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_PORT_SRC (1) 1910aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_PORT_DST (NET_HEADER_FIELD_UDP_PORT_SRC << 1) 1920aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_LEN (NET_HEADER_FIELD_UDP_PORT_SRC << 2) 1930aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_CKSUM (NET_HEADER_FIELD_UDP_PORT_SRC << 3) 1940aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ALL_FIELDS ((NET_HEADER_FIELD_UDP_PORT_SRC << 4) - 1) 1950aeed3e9SJustin Hibbits 196*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_PORT_SIZE 2 197*852ba100SJustin Hibbits 198*852ba100SJustin Hibbits typedef uint8_t headerFieldUdpLite_t; 199*852ba100SJustin Hibbits 200*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_LITE_PORT_SRC (1) 201*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_LITE_PORT_DST (NET_HEADER_FIELD_UDP_LITE_PORT_SRC << 1) 202*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_LITE_ALL_FIELDS ((NET_HEADER_FIELD_UDP_LITE_PORT_SRC << 2) - 1) 203*852ba100SJustin Hibbits 204*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_LITE_PORT_SIZE 2 205*852ba100SJustin Hibbits 2060aeed3e9SJustin Hibbits typedef uint8_t headerFieldUdpEncapEsp_t; 2070aeed3e9SJustin Hibbits 2080aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC (1) 2090aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_DST (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 1) 2100aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_LEN (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 2) 2110aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_CKSUM (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 3) 2120aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_SPI (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 4) 2130aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_SEQUENCE_NUM (NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 5) 2140aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_ALL_FIELDS ((NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SRC << 6) - 1) 2150aeed3e9SJustin Hibbits 216*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_PORT_SIZE 2 217*852ba100SJustin Hibbits #define NET_HEADER_FIELD_UDP_ENCAP_ESP_SPI_SIZE 4 218*852ba100SJustin Hibbits 2190aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_CID (1) 2200aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_CID_TYPE (NET_HEADER_FIELD_IPHC_CID << 1) 2210aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_HCINDEX (NET_HEADER_FIELD_IPHC_CID << 2) 2220aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_GEN (NET_HEADER_FIELD_IPHC_CID << 3) 2230aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_D_BIT (NET_HEADER_FIELD_IPHC_CID << 4) 2240aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPHC_ALL_FIELDS ((NET_HEADER_FIELD_IPHC_CID << 5) - 1) 2250aeed3e9SJustin Hibbits 2260aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE (1) 2270aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_FLAGS (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 1) 2280aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_LENGTH (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 2) 2290aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_TSN (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 3) 2300aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_STREAM_ID (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 4) 2310aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_STREAM_SQN (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 5) 2320aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_PAYLOAD_PID (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 6) 2330aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_UNORDERED (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 7) 2340aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_BEGGINING (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 8) 2350aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_END (NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 9) 2360aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SCTP_CHUNK_DATA_ALL_FIELDS ((NET_HEADER_FIELD_SCTP_CHUNK_DATA_TYPE << 10) - 1) 2370aeed3e9SJustin Hibbits 2380aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_TYPE_BIT (1) 2390aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_LENGTH_BIT (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 1) 2400aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_SEQUENCE_BIT (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 2) 2410aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_OFFSET_BIT (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 3) 2420aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_PRIORITY_BIT (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 4) 2430aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_VERSION (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 5) 2440aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_LEN (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 6) 2450aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_TUNNEL_ID (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 7) 2460aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_SESSION_ID (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 8) 2470aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_NS (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 9) 2480aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_NR (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 10) 2490aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_OFFSET_SIZE (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 11) 2500aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_FIRST_BYTE (NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 12) 2510aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv2_ALL_FIELDS ((NET_HEADER_FIELD_L2TPv2_TYPE_BIT << 13) - 1) 2520aeed3e9SJustin Hibbits 2530aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT (1) 2540aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_LENGTH_BIT (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 1) 2550aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_SEQUENCE_BIT (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 2) 2560aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_VERSION (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 3) 2570aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_LENGTH (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 4) 2580aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_CONTROL (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 5) 2590aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_SENT (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 6) 2600aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_RECV (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 7) 2610aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_FIRST_BYTE (NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 8) 2620aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_CTRL_ALL_FIELDS ((NET_HEADER_FIELD_L2TPv3_CTRL_TYPE_BIT << 9) - 1) 2630aeed3e9SJustin Hibbits 2640aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT (1) 2650aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_VERSION (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 1) 2660aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_ID (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 2) 2670aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_COOKIE (NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 3) 2680aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_L2TPv3_SESS_ALL_FIELDS ((NET_HEADER_FIELD_L2TPv3_SESS_TYPE_BIT << 4) - 1) 2690aeed3e9SJustin Hibbits 2700aeed3e9SJustin Hibbits 2710aeed3e9SJustin Hibbits typedef uint8_t headerFieldVlan_t; 2720aeed3e9SJustin Hibbits 2730aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_VPRI (1) 2740aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_CFI (NET_HEADER_FIELD_VLAN_VPRI << 1) 2750aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_VID (NET_HEADER_FIELD_VLAN_VPRI << 2) 2760aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_LENGTH (NET_HEADER_FIELD_VLAN_VPRI << 3) 2770aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_TYPE (NET_HEADER_FIELD_VLAN_VPRI << 4) 2780aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_ALL_FIELDS ((NET_HEADER_FIELD_VLAN_VPRI << 5) - 1) 2790aeed3e9SJustin Hibbits 2800aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_VLAN_TCI (NET_HEADER_FIELD_VLAN_VPRI | \ 2810aeed3e9SJustin Hibbits NET_HEADER_FIELD_VLAN_CFI | \ 2820aeed3e9SJustin Hibbits NET_HEADER_FIELD_VLAN_VID) 2830aeed3e9SJustin Hibbits 2840aeed3e9SJustin Hibbits 2850aeed3e9SJustin Hibbits typedef uint8_t headerFieldLlc_t; 2860aeed3e9SJustin Hibbits 2870aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_DSAP (1) 2880aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SSAP (NET_HEADER_FIELD_LLC_DSAP << 1) 2890aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_CTRL (NET_HEADER_FIELD_LLC_DSAP << 2) 2900aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_ALL_FIELDS ((NET_HEADER_FIELD_LLC_DSAP << 3) - 1) 2910aeed3e9SJustin Hibbits 2920aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_NLPID_NLPID (1) 2930aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_NLPID_ALL_FIELDS ((NET_HEADER_FIELD_NLPID_NLPID << 1) - 1) 2940aeed3e9SJustin Hibbits 2950aeed3e9SJustin Hibbits 2960aeed3e9SJustin Hibbits typedef uint8_t headerFieldSnap_t; 2970aeed3e9SJustin Hibbits 2980aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_OUI (1) 2990aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_PID (NET_HEADER_FIELD_SNAP_OUI << 1) 3000aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_SNAP_ALL_FIELDS ((NET_HEADER_FIELD_SNAP_OUI << 2) - 1) 3010aeed3e9SJustin Hibbits 3020aeed3e9SJustin Hibbits 3030aeed3e9SJustin Hibbits typedef uint8_t headerFieldLlcSnap_t; 3040aeed3e9SJustin Hibbits 3050aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SNAP_TYPE (1) 3060aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_LLC_SNAP_ALL_FIELDS ((NET_HEADER_FIELD_LLC_SNAP_TYPE << 1) - 1) 3070aeed3e9SJustin Hibbits 3080aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_HTYPE (1) 3090aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_PTYPE (NET_HEADER_FIELD_ARP_HTYPE << 1) 3100aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_HLEN (NET_HEADER_FIELD_ARP_HTYPE << 2) 3110aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_PLEN (NET_HEADER_FIELD_ARP_HTYPE << 3) 3120aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_OPER (NET_HEADER_FIELD_ARP_HTYPE << 4) 3130aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_SHA (NET_HEADER_FIELD_ARP_HTYPE << 5) 3140aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_SPA (NET_HEADER_FIELD_ARP_HTYPE << 6) 3150aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_THA (NET_HEADER_FIELD_ARP_HTYPE << 7) 3160aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_TPA (NET_HEADER_FIELD_ARP_HTYPE << 8) 3170aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_ARP_ALL_FIELDS ((NET_HEADER_FIELD_ARP_HTYPE << 9) - 1) 3180aeed3e9SJustin Hibbits 3190aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_LLC (1) 3200aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_NLPID (NET_HEADER_FIELD_RFC2684_LLC << 1) 3210aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_OUI (NET_HEADER_FIELD_RFC2684_LLC << 2) 3220aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_PID (NET_HEADER_FIELD_RFC2684_LLC << 3) 3230aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_VPN_OUI (NET_HEADER_FIELD_RFC2684_LLC << 4) 3240aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_VPN_IDX (NET_HEADER_FIELD_RFC2684_LLC << 5) 3250aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_RFC2684_ALL_FIELDS ((NET_HEADER_FIELD_RFC2684_LLC << 6) - 1) 3260aeed3e9SJustin Hibbits 3270aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_SRCPORT (1) 3280aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_PCDID (NET_HEADER_FIELD_USER_DEFINED_SRCPORT << 1) 3290aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_USER_DEFINED_ALL_FIELDS ((NET_HEADER_FIELD_USER_DEFINED_SRCPORT << 2) - 1) 3300aeed3e9SJustin Hibbits 3310aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_BUFFER (1) 3320aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_SIZE (NET_HEADER_FIELD_PAYLOAD_BUFFER << 1) 3330aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MAX_FRM_SIZE (NET_HEADER_FIELD_PAYLOAD_BUFFER << 2) 3340aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MIN_FRM_SIZE (NET_HEADER_FIELD_PAYLOAD_BUFFER << 3) 3350aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_TYPE (NET_HEADER_FIELD_PAYLOAD_BUFFER << 4) 3360aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_FRAME_SIZE (NET_HEADER_FIELD_PAYLOAD_BUFFER << 5) 3370aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_PAYLOAD_ALL_FIELDS ((NET_HEADER_FIELD_PAYLOAD_BUFFER << 6) - 1) 3380aeed3e9SJustin Hibbits 3390aeed3e9SJustin Hibbits 3400aeed3e9SJustin Hibbits typedef uint8_t headerFieldGre_t; 3410aeed3e9SJustin Hibbits 3420aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_GRE_TYPE (1) 3430aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_GRE_ALL_FIELDS ((NET_HEADER_FIELD_GRE_TYPE << 1) - 1) 3440aeed3e9SJustin Hibbits 3450aeed3e9SJustin Hibbits 3460aeed3e9SJustin Hibbits typedef uint8_t headerFieldMinencap_t; 3470aeed3e9SJustin Hibbits 3480aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_SRC_IP (1) 3490aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_DST_IP (NET_HEADER_FIELD_MINENCAP_SRC_IP << 1) 3500aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_TYPE (NET_HEADER_FIELD_MINENCAP_SRC_IP << 2) 3510aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MINENCAP_ALL_FIELDS ((NET_HEADER_FIELD_MINENCAP_SRC_IP << 3) - 1) 3520aeed3e9SJustin Hibbits 3530aeed3e9SJustin Hibbits 3540aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpsecAh_t; 3550aeed3e9SJustin Hibbits 3560aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_SPI (1) 3570aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_NH (NET_HEADER_FIELD_IPSEC_AH_SPI << 1) 3580aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_AH_ALL_FIELDS ((NET_HEADER_FIELD_IPSEC_AH_SPI << 2) - 1) 3590aeed3e9SJustin Hibbits 3600aeed3e9SJustin Hibbits 3610aeed3e9SJustin Hibbits typedef uint8_t headerFieldIpsecEsp_t; 3620aeed3e9SJustin Hibbits 3630aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_SPI (1) 3640aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_SEQUENCE_NUM (NET_HEADER_FIELD_IPSEC_ESP_SPI << 1) 3650aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_ALL_FIELDS ((NET_HEADER_FIELD_IPSEC_ESP_SPI << 2) - 1) 3660aeed3e9SJustin Hibbits 367*852ba100SJustin Hibbits #define NET_HEADER_FIELD_IPSEC_ESP_SPI_SIZE 4 368*852ba100SJustin Hibbits 3690aeed3e9SJustin Hibbits 3700aeed3e9SJustin Hibbits typedef uint8_t headerFieldMpls_t; 3710aeed3e9SJustin Hibbits 3720aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MPLS_LABEL_STACK (1) 3730aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MPLS_LABEL_STACK_ALL_FIELDS ((NET_HEADER_FIELD_MPLS_LABEL_STACK << 1) - 1) 3740aeed3e9SJustin Hibbits 3750aeed3e9SJustin Hibbits 3760aeed3e9SJustin Hibbits typedef uint8_t headerFieldMacsec_t; 3770aeed3e9SJustin Hibbits 3780aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MACSEC_SECTAG (1) 3790aeed3e9SJustin Hibbits #define NET_HEADER_FIELD_MACSEC_ALL_FIELDS ((NET_HEADER_FIELD_MACSEC_SECTAG << 1) - 1) 3800aeed3e9SJustin Hibbits 3810aeed3e9SJustin Hibbits 3820aeed3e9SJustin Hibbits typedef enum { 3830aeed3e9SJustin Hibbits HEADER_TYPE_NONE = 0, 3840aeed3e9SJustin Hibbits HEADER_TYPE_PAYLOAD, 3850aeed3e9SJustin Hibbits HEADER_TYPE_ETH, 3860aeed3e9SJustin Hibbits HEADER_TYPE_VLAN, 3870aeed3e9SJustin Hibbits HEADER_TYPE_IPv4, 3880aeed3e9SJustin Hibbits HEADER_TYPE_IPv6, 389*852ba100SJustin Hibbits HEADER_TYPE_IP, 3900aeed3e9SJustin Hibbits HEADER_TYPE_TCP, 3910aeed3e9SJustin Hibbits HEADER_TYPE_UDP, 392*852ba100SJustin Hibbits HEADER_TYPE_UDP_LITE, 3930aeed3e9SJustin Hibbits HEADER_TYPE_IPHC, 3940aeed3e9SJustin Hibbits HEADER_TYPE_SCTP, 3950aeed3e9SJustin Hibbits HEADER_TYPE_SCTP_CHUNK_DATA, 3960aeed3e9SJustin Hibbits HEADER_TYPE_PPPoE, 3970aeed3e9SJustin Hibbits HEADER_TYPE_PPP, 3980aeed3e9SJustin Hibbits HEADER_TYPE_PPPMUX, 3990aeed3e9SJustin Hibbits HEADER_TYPE_PPPMUX_SUBFRAME, 4000aeed3e9SJustin Hibbits HEADER_TYPE_L2TPv2, 4010aeed3e9SJustin Hibbits HEADER_TYPE_L2TPv3_CTRL, 4020aeed3e9SJustin Hibbits HEADER_TYPE_L2TPv3_SESS, 4030aeed3e9SJustin Hibbits HEADER_TYPE_LLC, 4040aeed3e9SJustin Hibbits HEADER_TYPE_LLC_SNAP, 4050aeed3e9SJustin Hibbits HEADER_TYPE_NLPID, 4060aeed3e9SJustin Hibbits HEADER_TYPE_SNAP, 4070aeed3e9SJustin Hibbits HEADER_TYPE_MPLS, 4080aeed3e9SJustin Hibbits HEADER_TYPE_IPSEC_AH, 4090aeed3e9SJustin Hibbits HEADER_TYPE_IPSEC_ESP, 4100aeed3e9SJustin Hibbits HEADER_TYPE_UDP_ENCAP_ESP, /* RFC 3948 */ 4110aeed3e9SJustin Hibbits HEADER_TYPE_MACSEC, 4120aeed3e9SJustin Hibbits HEADER_TYPE_GRE, 4130aeed3e9SJustin Hibbits HEADER_TYPE_MINENCAP, 4140aeed3e9SJustin Hibbits HEADER_TYPE_DCCP, 4150aeed3e9SJustin Hibbits HEADER_TYPE_ICMP, 4160aeed3e9SJustin Hibbits HEADER_TYPE_IGMP, 4170aeed3e9SJustin Hibbits HEADER_TYPE_ARP, 4180aeed3e9SJustin Hibbits HEADER_TYPE_CAPWAP, 4190aeed3e9SJustin Hibbits HEADER_TYPE_CAPWAP_DTLS, 4200aeed3e9SJustin Hibbits HEADER_TYPE_RFC2684, 4210aeed3e9SJustin Hibbits HEADER_TYPE_USER_DEFINED_L2, 4220aeed3e9SJustin Hibbits HEADER_TYPE_USER_DEFINED_L3, 4230aeed3e9SJustin Hibbits HEADER_TYPE_USER_DEFINED_L4, 4240aeed3e9SJustin Hibbits HEADER_TYPE_USER_DEFINED_SHIM1, 4250aeed3e9SJustin Hibbits HEADER_TYPE_USER_DEFINED_SHIM2, 4260aeed3e9SJustin Hibbits MAX_HEADER_TYPE_COUNT 4270aeed3e9SJustin Hibbits } e_NetHeaderType; 4280aeed3e9SJustin Hibbits 4290aeed3e9SJustin Hibbits 4300aeed3e9SJustin Hibbits #endif /* __NET_EXT_H */ 431