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