1*c344eff9SAlexander V. Chernikov /*- 2*c344eff9SAlexander V. Chernikov * SPDX-License-Identifier: BSD-2-Clause 3*c344eff9SAlexander V. Chernikov * 4*c344eff9SAlexander V. Chernikov * Redistribution and use in source and binary forms, with or without 5*c344eff9SAlexander V. Chernikov * modification, are permitted provided that the following conditions 6*c344eff9SAlexander V. Chernikov * are met: 7*c344eff9SAlexander V. Chernikov * 1. Redistributions of source code must retain the above copyright 8*c344eff9SAlexander V. Chernikov * notice, this list of conditions and the following disclaimer. 9*c344eff9SAlexander V. Chernikov * 2. Redistributions in binary form must reproduce the above copyright 10*c344eff9SAlexander V. Chernikov * notice, this list of conditions and the following disclaimer in the 11*c344eff9SAlexander V. Chernikov * documentation and/or other materials provided with the distribution. 12*c344eff9SAlexander V. Chernikov * 13*c344eff9SAlexander V. Chernikov * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*c344eff9SAlexander V. Chernikov * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*c344eff9SAlexander V. Chernikov * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*c344eff9SAlexander V. Chernikov * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*c344eff9SAlexander V. Chernikov * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*c344eff9SAlexander V. Chernikov * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*c344eff9SAlexander V. Chernikov * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*c344eff9SAlexander V. Chernikov * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*c344eff9SAlexander V. Chernikov * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*c344eff9SAlexander V. Chernikov * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*c344eff9SAlexander V. Chernikov * SUCH DAMAGE. 24*c344eff9SAlexander V. Chernikov */ 25*c344eff9SAlexander V. Chernikov 26*c344eff9SAlexander V. Chernikov #ifndef _NET_IF_STRINGS_H_ 27*c344eff9SAlexander V. Chernikov #define _NET_IF_STRINGS_H_ 28*c344eff9SAlexander V. Chernikov 29*c344eff9SAlexander V. Chernikov #define IFCAP_RXCSUM_NAME "RXCSUM" 30*c344eff9SAlexander V. Chernikov #define IFCAP_TXCSUM_NAME "TXCSUM" 31*c344eff9SAlexander V. Chernikov #define IFCAP_NETCONS_NAME "NETCONS" 32*c344eff9SAlexander V. Chernikov #define IFCAP_VLAN_MTU_NAME "VLAN_MTU" 33*c344eff9SAlexander V. Chernikov #define IFCAP_VLAN_HWTAGGING_NAME "VLAN_HWTAGGING" 34*c344eff9SAlexander V. Chernikov #define IFCAP_JUMBO_MTU_NAME "JUMBO_MTU" 35*c344eff9SAlexander V. Chernikov #define IFCAP_POLLING_NAME "POLLING" 36*c344eff9SAlexander V. Chernikov #define IFCAP_VLAN_HWCSUM_NAME "VLAN_HWCSUM" 37*c344eff9SAlexander V. Chernikov #define IFCAP_TSO4_NAME "TSO4" 38*c344eff9SAlexander V. Chernikov #define IFCAP_TSO6_NAME "TSO6" 39*c344eff9SAlexander V. Chernikov #define IFCAP_LRO_NAME "LRO" 40*c344eff9SAlexander V. Chernikov #define IFCAP_WOL_UCAST_NAME "WOL_UCAST" 41*c344eff9SAlexander V. Chernikov #define IFCAP_WOL_MCAST_NAME "WOL_MCAST" 42*c344eff9SAlexander V. Chernikov #define IFCAP_WOL_MAGIC_NAME "WOL_MAGIC" 43*c344eff9SAlexander V. Chernikov #define IFCAP_TOE4_NAME "TOE4" 44*c344eff9SAlexander V. Chernikov #define IFCAP_TOE6_NAME "TOE6" 45*c344eff9SAlexander V. Chernikov #define IFCAP_VLAN_HWFILTER_NAME "VLAN_HWFILTER" 46*c344eff9SAlexander V. Chernikov #define IFCAP_NV_NAME "NV" 47*c344eff9SAlexander V. Chernikov #define IFCAP_VLAN_HWTSO_NAME "VLAN_HWTSO" 48*c344eff9SAlexander V. Chernikov #define IFCAP_LINKSTATE_NAME "LINKSTATE" 49*c344eff9SAlexander V. Chernikov #define IFCAP_NETMAP_NAME "NETMAP" 50*c344eff9SAlexander V. Chernikov #define IFCAP_RXCSUM_IPV6_NAME "RXCSUM_IPV6" 51*c344eff9SAlexander V. Chernikov #define IFCAP_TXCSUM_IPV6_NAME "TXCSUM_IPV6" 52*c344eff9SAlexander V. Chernikov #define IFCAP_HWSTATS_NAME "HWSTATS" 53*c344eff9SAlexander V. Chernikov #define IFCAP_TXRTLMT_NAME "TXRTLMT" 54*c344eff9SAlexander V. Chernikov #define IFCAP_HWRXTSTMP_NAME "HWRXTSTMP" 55*c344eff9SAlexander V. Chernikov #define IFCAP_MEXTPG_NAME "MEXTPG" 56*c344eff9SAlexander V. Chernikov #define IFCAP_TXTLS4_NAME "TXTLS4" 57*c344eff9SAlexander V. Chernikov #define IFCAP_TXTLS6_NAME "TXTLS6" 58*c344eff9SAlexander V. Chernikov #define IFCAP_VXLAN_HWCSUM_NAME "VXLAN_HWCSUM" 59*c344eff9SAlexander V. Chernikov #define IFCAP_VXLAN_HWTSO_NAME "VXLAN_HWTSO" 60*c344eff9SAlexander V. Chernikov #define IFCAP_TXTLS_RTLMT_NAME "TXTLS_RTLMT" 61*c344eff9SAlexander V. Chernikov #define IFCAP_RXTLS4_NAME "RXTLS4" 62*c344eff9SAlexander V. Chernikov #define IFCAP_RXTLS6_NAME "RXTLS6" 63*c344eff9SAlexander V. Chernikov 64*c344eff9SAlexander V. Chernikov #define IFCAP2_RXTLS4_NAME IFCAP_RXTLS4_NAME 65*c344eff9SAlexander V. Chernikov #define IFCAP2_RXTLS6_NAME IFCAP_RXTLS6_NAME 66*c344eff9SAlexander V. Chernikov 67*c344eff9SAlexander V. Chernikov static const char *ifcap_bit_names[] = { 68*c344eff9SAlexander V. Chernikov IFCAP_RXCSUM_NAME, 69*c344eff9SAlexander V. Chernikov IFCAP_TXCSUM_NAME, 70*c344eff9SAlexander V. Chernikov IFCAP_NETCONS_NAME, 71*c344eff9SAlexander V. Chernikov IFCAP_VLAN_MTU_NAME, 72*c344eff9SAlexander V. Chernikov IFCAP_VLAN_HWTAGGING_NAME, 73*c344eff9SAlexander V. Chernikov IFCAP_JUMBO_MTU_NAME, 74*c344eff9SAlexander V. Chernikov IFCAP_POLLING_NAME, 75*c344eff9SAlexander V. Chernikov IFCAP_VLAN_HWCSUM_NAME, 76*c344eff9SAlexander V. Chernikov IFCAP_TSO4_NAME, 77*c344eff9SAlexander V. Chernikov IFCAP_TSO6_NAME, 78*c344eff9SAlexander V. Chernikov IFCAP_LRO_NAME, 79*c344eff9SAlexander V. Chernikov IFCAP_WOL_UCAST_NAME, 80*c344eff9SAlexander V. Chernikov IFCAP_WOL_MCAST_NAME, 81*c344eff9SAlexander V. Chernikov IFCAP_WOL_MAGIC_NAME, 82*c344eff9SAlexander V. Chernikov IFCAP_TOE4_NAME, 83*c344eff9SAlexander V. Chernikov IFCAP_TOE6_NAME, 84*c344eff9SAlexander V. Chernikov IFCAP_VLAN_HWFILTER_NAME, 85*c344eff9SAlexander V. Chernikov IFCAP_NV_NAME, 86*c344eff9SAlexander V. Chernikov IFCAP_VLAN_HWTSO_NAME, 87*c344eff9SAlexander V. Chernikov IFCAP_LINKSTATE_NAME, 88*c344eff9SAlexander V. Chernikov IFCAP_NETMAP_NAME, 89*c344eff9SAlexander V. Chernikov IFCAP_RXCSUM_IPV6_NAME, 90*c344eff9SAlexander V. Chernikov IFCAP_TXCSUM_IPV6_NAME, 91*c344eff9SAlexander V. Chernikov IFCAP_HWSTATS_NAME, 92*c344eff9SAlexander V. Chernikov IFCAP_TXRTLMT_NAME, 93*c344eff9SAlexander V. Chernikov IFCAP_HWRXTSTMP_NAME, 94*c344eff9SAlexander V. Chernikov IFCAP_MEXTPG_NAME, 95*c344eff9SAlexander V. Chernikov IFCAP_TXTLS4_NAME, 96*c344eff9SAlexander V. Chernikov IFCAP_TXTLS6_NAME, 97*c344eff9SAlexander V. Chernikov IFCAP_VXLAN_HWCSUM_NAME, 98*c344eff9SAlexander V. Chernikov IFCAP_VXLAN_HWTSO_NAME, 99*c344eff9SAlexander V. Chernikov IFCAP_TXTLS_RTLMT_NAME, 100*c344eff9SAlexander V. Chernikov IFCAP_RXTLS4_NAME, 101*c344eff9SAlexander V. Chernikov IFCAP_RXTLS6_NAME, 102*c344eff9SAlexander V. Chernikov }; 103*c344eff9SAlexander V. Chernikov _Static_assert(sizeof(ifcap_bit_names) >= IFCAP_B_SIZE * sizeof(char *), 104*c344eff9SAlexander V. Chernikov "ifcap bit names missing from ifcap_bit_names"); 105*c344eff9SAlexander V. Chernikov 106*c344eff9SAlexander V. Chernikov #endif 107