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