Pull networking updates from Jakub Kicinski: "Core & protocols: - Support HW queue leasing, allowing containers to be granted access to HW queues for zero-copy operations and AF_XDP - Number of code moves to help the compiler with inlining. Avoid output arguments for returning drop reason where possible - Rework drop handling within qdiscs to include more metadata about the reason and dropping qdisc in the tracepoints - Remove the rtnl_lock use from IP Multicast Routing - Pack size information into the Rx Flow Steering table pointer itself. This allows making the table itself a flat array of u32s, thus making the table allocation size a power of two - Report TCP delayed ack timer information via socket diag - Add ip_local_port_step_width sysctl to allow distributing the randomly selected ports more evenly throughout the allowed space - Add support for per-route tunsrc in IPv6 segment routing - Start work of switching sockopt handling to iov_iter - Improve dynamic recvbuf sizing in MPTCP, limit burstiness and avoid buffer size drifting up - Support MSG_EOR in MPTCP - Add stp_mode attribute to the bridge driver for STP mode selection. This addresses concerns about call_usermodehelper() usage - Remove UDP-Lite support (as announced in 2023) - Remove support for building IPv6 as a module. Remove the now unnecessary function calling indirection Cross-tree stuff: - Move Michael MIC code from generic crypto into wireless, it's considered insecure but some WiFi networks still need it Netfilter: - Switch nft_fib_ipv6 module to no longer need temporary dst_entry object allocations by using fib6_lookup() + RCU. Florian W reports this gets us ~13% higher packet rate - Convert IPVS's global __ip_vs_mutex to per-net service_mutex and switch the service tables to be per-net. Convert some code that walks the service lists to use RCU instead of the service_mutex - Add more opinionated input validation to lower security exposure - Make IPVS hash tables to be per-netns and resizable Wireless: - Finished assoc frame encryption/EPPKE/802.1X-over-auth - Radar detection improvements - Add 6 GHz incumbent signal detection APIs - Multi-link support for FILS, probe response templates and client probing - New APIs and mac80211 support for NAN (Neighbor Aware Networking, aka Wi-Fi Aware) so less work must be in firmware Driver API: - Add numerical ID for devlink instances (to avoid having to create fake bus/device pairs just to have an ID). Support shared devlink instances which span multiple PFs - Add standard counters for reporting pause storm events (implement in mlx5 and fbnic) - Add configuration API for completion writeback buffering (implement in mana) - Support driver-initiated change of RSS context sizes - Support DPLL monitoring input frequency (implement in zl3073x) - Support per-port resources in devlink (implement in mlx5) Misc: - Expand the YAML spec for Netfilter Drivers - Software: - macvlan: support multicast rx for bridge ports with shared source MAC address - team: decouple receive and transmit enablement for IEEE 802.3ad LACP "independent control" - Ethernet high-speed NICs: - nVidia/Mellanox: - support high order pages in zero-copy mode (for payload coalescing) - support multiple packets in a page (for systems with 64kB pages) - Broadcom 25-400GE (bnxt): - implement XDP RSS hash metadata extraction - add software fallback for UDP GSO, lowering the IOMMU cost - Broadcom 800GE (bnge): - add link status and configuration handling - add various HW and SW statistics - Marvell/Cavium: - NPC HW block support for cn20k - Huawei (hinic3): - add mailbox / control queue - add rx VLAN offload - add driver info and link management - Ethernet NICs: - Marvell/Aquantia: - support reading SFP module info on some AQC100 cards - Realtek PCI (r8169): - add support for RTL8125cp - Realtek USB (r8152): - support for the RTL8157 5Gbit chip - add 2500baseT EEE status/configuration support - Ethernet NICs embedded and off-the-shelf IP: - Synopsys (stmmac): - cleanup and reorganize SerDes handling and PCS support - cleanup descriptor handling and per-platform data - cleanup and consolidate MDIO defines and handling - shrink driver memory use for internal structures - improve Tx IRQ coalescing - improve TCP segmentation handling - add support for Spacemit K3 - Cadence (macb): - support PHYs that have inband autoneg disabled with GEM - support IEEE 802.3az EEE - rework usrio capabilities and handling - AMD (xgbe): - improve power management for S0i3 - improve TX resilience for link-down handling - Virtual: - Google cloud vNIC: - support larger ring sizes in DQO-QPL mode - improve HW-GRO handling - support UDP GSO for DQO format - PCIe NTB: - support queue count configuration - Ethernet PHYs: - automatically disable PHY autonomous EEE if MAC is in charge - Broadcom: - add BCM84891/BCM84892 support - Micrel: - support for LAN9645X internal PHY - Realtek: - add RTL8224 pair order support - support PHY LEDs on RTL8211F-VD - support spread spectrum clocking (SSC) - Maxlinear: - add PHY-level statistics via ethtool - Ethernet switches: - Maxlinear (mxl862xx): - support for bridge offloading - support for VLANs - support driver statistics - Bluetooth: - large number of fixes and new device IDs - Mediatek: - support MT6639 (MT7927) - support MT7902 SDIO - WiFi: - Intel (iwlwifi): - UNII-9 and continuing UHR work - MediaTek (mt76): - mt7996/mt7925 MLO fixes/improvements - mt7996 NPU support (HW eth/wifi traffic offload) - Qualcomm (ath12k): - monitor mode support on IPQ5332 - basic hwmon temperature reporting - support IPQ5424 - Realtek: - add USB RX aggregation to improve performance - add USB TX flow control by tracking in-flight URBs - Cellular: - IPA v5.2 support" * tag 'net-next-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1561 commits) net: pse-pd: fix kernel-doc function name for pse_control_find_by_id() wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit wireguard: allowedips: remove redundant space tools: ynl: add sample for wireguard wireguard: allowedips: Use kfree_rcu() instead of call_rcu() MAINTAINERS: Add netkit selftest files selftests/net: Add additional test coverage in nk_qlease selftests/net: Split netdevsim tests from HW tests in nk_qlease tools/ynl: Make YnlFamily closeable as a context manager net: airoha: Add missing PPE configurations in airoha_ppe_hw_init() net: airoha: Fix VIP configuration for AN7583 SoC net: caif: clear client service pointer on teardown net: strparser: fix skb_head leak in strp_abort_strp() net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete() selftests/bpf: add test for xdp_master_redirect with bond not up net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master net: airoha: Remove PCE_MC_EN_MASK bit in REG_FE_PCE_CFG configuration sctp: disable BH before calling udp_tunnel_xmit_skb() sctp: fix missing encap_port propagation for GSO fragments net: airoha: Rely on net_device pointer in ETS callbacks ...
Showing the changes to include/uapi/linux (16 of 1687 files). Show all
Unified · Split
| @@ -19,6 +19,8 @@ · 18 unmodified lines | ||
| 19 | 19 | #define DEVLINK_GENL_VERSION 0x1 |
| 20 | 20 | #define DEVLINK_GENL_MCGRP_CONFIG_NAME "config" |
| 21 | 21 | |
| 22 | +#define DEVLINK_INDEX_BUS_NAME "devlink_index" | |
| 23 | + | |
| 22 | 24 | enum devlink_command { |
| 23 | 25 | /* don't change the order or add anything between, this is ABI! */ |
| 24 | 26 | DEVLINK_CMD_UNSPEC, |
| @@ -642,6 +644,9 @@ enum devlink_attr { · 617 unmodified lines | ||
| 642 | 644 | DEVLINK_ATTR_PARAM_VALUE_DEFAULT, /* dynamic */ |
| 643 | 645 | DEVLINK_ATTR_PARAM_RESET_DEFAULT, /* flag */ |
| 644 | 646 | |
| 647 | + DEVLINK_ATTR_INDEX, /* uint */ | |
| 648 | + DEVLINK_ATTR_RESOURCE_SCOPE_MASK, /* u32 */ | |
| 649 | + | |
| 645 | 650 | /* Add new attributes above here, update the spec in |
| 646 | 651 | * Documentation/netlink/specs/devlink.yaml and re-generate |
| 647 | 652 | * net/devlink/netlink_gen.c. |
| @@ -700,6 +705,16 @@ enum devlink_resource_unit { · 52 unmodified lines | ||
| 700 | 705 | DEVLINK_RESOURCE_UNIT_ENTRY, |
| 701 | 706 | }; |
| 702 | 707 | |
| 708 | +enum devlink_resource_scope { | |
| 709 | + DEVLINK_RESOURCE_SCOPE_DEV_BIT, | |
| 710 | + DEVLINK_RESOURCE_SCOPE_PORT_BIT, | |
| 711 | +}; | |
| 712 | + | |
| 713 | +#define DEVLINK_RESOURCE_SCOPE_DEV \ | |
| 714 | + _BITUL(DEVLINK_RESOURCE_SCOPE_DEV_BIT) | |
| 715 | +#define DEVLINK_RESOURCE_SCOPE_PORT \ | |
| 716 | + _BITUL(DEVLINK_RESOURCE_SCOPE_PORT_BIT) | |
| 717 | + | |
| 703 | 718 | enum devlink_port_fn_attr_cap { |
| 704 | 719 | DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT, |
| 705 | 720 | DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT, |
| @@ -191,7 +191,8 @@ enum dpll_pin_capabilities { · 190 unmodified lines | ||
| 191 | 191 | DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE = 4, |
| 192 | 192 | }; |
| 193 | 193 | |
| 194 | −#define DPLL_PHASE_OFFSET_DIVIDER 1000 | |
| 194 | +#define DPLL_PHASE_OFFSET_DIVIDER 1000 | |
| 195 | +#define DPLL_PIN_MEASURED_FREQUENCY_DIVIDER 1000 | |
| 195 | 196 | |
| 196 | 197 | /** |
| 197 | 198 | * enum dpll_feature_state - Allow control (enable/disable) and status checking |
| @@ -218,6 +219,7 @@ enum dpll_a { · 20 unmodified lines | ||
| 218 | 219 | DPLL_A_CLOCK_QUALITY_LEVEL, |
| 219 | 220 | DPLL_A_PHASE_OFFSET_MONITOR, |
| 220 | 221 | DPLL_A_PHASE_OFFSET_AVG_FACTOR, |
| 222 | + DPLL_A_FREQUENCY_MONITOR, | |
| 221 | 223 | |
| 222 | 224 | __DPLL_A_MAX, |
| 223 | 225 | DPLL_A_MAX = (__DPLL_A_MAX - 1) |
| @@ -254,6 +256,7 @@ enum dpll_a_pin { · 30 unmodified lines | ||
| 254 | 256 | DPLL_A_PIN_REFERENCE_SYNC, |
| 255 | 257 | DPLL_A_PIN_PHASE_ADJUST_GRAN, |
| 256 | 258 | DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET_PPT, |
| 259 | + DPLL_A_PIN_MEASURED_FREQUENCY, | |
| 257 | 260 | |
| 258 | 261 | __DPLL_A_PIN_MAX, |
| 259 | 262 | DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1) |
| @@ -225,7 +225,7 @@ enum tunable_id { · 224 unmodified lines | ||
| 225 | 225 | ETHTOOL_ID_UNSPEC, |
| 226 | 226 | ETHTOOL_RX_COPYBREAK, |
| 227 | 227 | ETHTOOL_TX_COPYBREAK, |
| 228 | − ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */ | |
| 228 | + ETHTOOL_PFC_PREVENTION_TOUT, /* both pause and pfc, see man ethtool */ | |
| 229 | 229 | ETHTOOL_TX_COPYBREAK_BUF_SIZE, |
| 230 | 230 | /* |
| 231 | 231 | * Add your fresh new tunable attribute above and remember to update |
| @@ -371,6 +371,8 @@ enum { · 370 unmodified lines | ||
| 371 | 371 | ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, |
| 372 | 372 | ETHTOOL_A_COALESCE_RX_PROFILE, |
| 373 | 373 | ETHTOOL_A_COALESCE_TX_PROFILE, |
| 374 | + ETHTOOL_A_COALESCE_RX_CQE_FRAMES, | |
| 375 | + ETHTOOL_A_COALESCE_RX_CQE_NSECS, | |
| 374 | 376 | |
| 375 | 377 | __ETHTOOL_A_COALESCE_CNT, |
| 376 | 378 | ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) |
| @@ -381,6 +383,7 @@ enum { · 4 unmodified lines | ||
| 381 | 383 | ETHTOOL_A_PAUSE_STAT_PAD, |
| 382 | 384 | ETHTOOL_A_PAUSE_STAT_TX_FRAMES, |
| 383 | 385 | ETHTOOL_A_PAUSE_STAT_RX_FRAMES, |
| 386 | + ETHTOOL_A_PAUSE_STAT_TX_PAUSE_STORM_EVENTS, | |
| 384 | 387 | |
| 385 | 388 | __ETHTOOL_A_PAUSE_STAT_CNT, |
| 386 | 389 | ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1) |
| @@ -744,6 +744,11 @@ enum in6_addr_gen_mode { · 743 unmodified lines | ||
| 744 | 744 | * @IFLA_BR_FDB_MAX_LEARNED |
| 745 | 745 | * Set the number of max dynamically learned FDB entries for the current |
| 746 | 746 | * bridge. |
| 747 | + * | |
| 748 | + * @IFLA_BR_STP_MODE | |
| 749 | + * Set the STP mode for the bridge, which controls how the bridge | |
| 750 | + * selects between userspace and kernel STP. The valid values are | |
| 751 | + * documented below in the ``BR_STP_MODE_*`` constants. | |
| 747 | 752 | */ |
| 748 | 753 | enum { |
| 749 | 754 | IFLA_BR_UNSPEC, |
| @@ -796,11 +801,45 @@ enum { · 46 unmodified lines | ||
| 796 | 801 | IFLA_BR_MCAST_QUERIER_STATE, |
| 797 | 802 | IFLA_BR_FDB_N_LEARNED, |
| 798 | 803 | IFLA_BR_FDB_MAX_LEARNED, |
| 804 | + IFLA_BR_STP_MODE, | |
| 799 | 805 | __IFLA_BR_MAX, |
| 800 | 806 | }; |
| 801 | 807 | |
| 802 | 808 | #define IFLA_BR_MAX (__IFLA_BR_MAX - 1) |
| 803 | 809 | |
| 810 | +/** | |
| 811 | + * DOC: Bridge STP mode values | |
| 812 | + * | |
| 813 | + * @BR_STP_MODE_AUTO | |
| 814 | + * Default. The kernel invokes the ``/sbin/bridge-stp`` helper to hand | |
| 815 | + * the bridge to a userspace STP daemon (e.g. mstpd). Only attempted in | |
| 816 | + * the initial network namespace; in other namespaces this falls back to | |
| 817 | + * kernel STP. | |
| 818 | + * | |
| 819 | + * @BR_STP_MODE_USER | |
| 820 | + * Directly enable userspace STP (``BR_USER_STP``) without invoking the | |
| 821 | + * ``/sbin/bridge-stp`` helper. Works in any network namespace. | |
| 822 | + * Userspace is responsible for ensuring an STP daemon manages the | |
| 823 | + * bridge. | |
| 824 | + * | |
| 825 | + * @BR_STP_MODE_KERNEL | |
| 826 | + * Directly enable kernel STP (``BR_KERNEL_STP``) without invoking the | |
| 827 | + * helper. | |
| 828 | + * | |
| 829 | + * The mode controls how the bridge selects between userspace and kernel | |
| 830 | + * STP when STP is enabled via ``IFLA_BR_STP_STATE``. It can only be | |
| 831 | + * changed while STP is disabled (``IFLA_BR_STP_STATE`` == 0), returns | |
| 832 | + * ``-EBUSY`` otherwise. The default value is ``BR_STP_MODE_AUTO``. | |
| 833 | + */ | |
| 834 | +enum br_stp_mode { | |
| 835 | + BR_STP_MODE_AUTO, | |
| 836 | + BR_STP_MODE_USER, | |
| 837 | + BR_STP_MODE_KERNEL, | |
| 838 | + __BR_STP_MODE_MAX | |
| 839 | +}; | |
| 840 | + | |
| 841 | +#define BR_STP_MODE_MAX (__BR_STP_MODE_MAX - 1) | |
| 842 | + | |
| 804 | 843 | struct ifla_bridge_id { |
| 805 | 844 | __u8 prio[2]; |
| 806 | 845 | __u8 addr[6]; /* ETH_ALEN */ |
| @@ -1296,6 +1335,11 @@ enum netkit_mode { · 489 unmodified lines | ||
| 1296 | 1335 | NETKIT_L3, |
| 1297 | 1336 | }; |
| 1298 | 1337 | |
| 1338 | +enum netkit_pairing { | |
| 1339 | + NETKIT_DEVICE_PAIR, | |
| 1340 | + NETKIT_DEVICE_SINGLE, | |
| 1341 | +}; | |
| 1342 | + | |
| 1299 | 1343 | /* NETKIT_SCRUB_NONE leaves clearing skb->{mark,priority} up to |
| 1300 | 1344 | * the BPF program if attached. This also means the latter can |
| 1301 | 1345 | * consume the two fields if they were populated earlier. |
| @@ -1320,6 +1364,7 @@ enum { · 18 unmodified lines | ||
| 1320 | 1364 | IFLA_NETKIT_PEER_SCRUB, |
| 1321 | 1365 | IFLA_NETKIT_HEADROOM, |
| 1322 | 1366 | IFLA_NETKIT_TAILROOM, |
| 1367 | + IFLA_NETKIT_PAIRING, | |
| 1323 | 1368 | __IFLA_NETKIT_MAX, |
| 1324 | 1369 | }; |
| 1325 | 1370 | #define IFLA_NETKIT_MAX (__IFLA_NETKIT_MAX - 1) |
| @@ -1568,6 +1613,8 @@ enum { · 242 unmodified lines | ||
| 1568 | 1613 | IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, |
| 1569 | 1614 | IFLA_BOND_SLAVE_PRIO, |
| 1570 | 1615 | IFLA_BOND_SLAVE_ACTOR_PORT_PRIO, |
| 1616 | + IFLA_BOND_SLAVE_AD_CHURN_ACTOR_STATE, | |
| 1617 | + IFLA_BOND_SLAVE_AD_CHURN_PARTNER_STATE, | |
| 1571 | 1618 | __IFLA_BOND_SLAVE_MAX, |
| 1572 | 1619 | }; |
| 1573 | 1620 | |
| @@ -103,16 +103,6 @@ struct sockaddr_pppol2tpv3in6 { · 102 unmodified lines | ||
| 103 | 103 | struct pppol2tpv3in6_addr pppol2tp; |
| 104 | 104 | } __packed; |
| 105 | 105 | |
| 106 | −/********************************************************************* | |
| 107 | − * | |
| 108 | − * ioctl interface for defining forwarding of connections | |
| 109 | − * | |
| 110 | − ********************************************************************/ | |
| 111 | − | |
| 112 | −#define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t) | |
| 113 | −#define PPPOEIOCDFWD _IO(0xB1 ,1) | |
| 114 | −/*#define PPPOEIOCGFWD _IOWR(0xB1,2, size_t)*/ | |
| 115 | − | |
| 116 | 106 | /* Codes to identify message types */ |
| 117 | 107 | #define PADI_CODE 0x09 |
| 118 | 108 | #define PADO_CODE 0x07 |
| @@ -122,7 +112,9 @@ struct sockaddr_pppol2tpv3in6 { · 3 unmodified lines | ||
| 122 | 112 | struct pppoe_tag { |
| 123 | 113 | __be16 tag_type; |
| 124 | 114 | __be16 tag_len; |
| 115 | +#ifndef __KERNEL__ | |
| 125 | 116 | char tag_data[]; |
| 117 | +#endif | |
| 126 | 118 | } __attribute__ ((packed)); |
| 127 | 119 | |
| 128 | 120 | /* Tag identifiers */ |
| @@ -150,7 +142,9 @@ struct pppoe_hdr { · 21 unmodified lines | ||
| 150 | 142 | __u8 code; |
| 151 | 143 | __be16 sid; |
| 152 | 144 | __be16 length; |
| 145 | +#ifndef __KERNEL__ | |
| 153 | 146 | struct pppoe_tag tag[]; |
| 147 | +#endif | |
| 154 | 148 | } __packed; |
| 155 | 149 | |
| 156 | 150 | /* Length of entire PPPoE + PPP header */ |
| @@ -129,6 +129,15 @@ struct inet_diag_msg { · 128 unmodified lines | ||
| 129 | 129 | __u32 idiag_inode; |
| 130 | 130 | }; |
| 131 | 131 | |
| 132 | +enum { | |
| 133 | + IDIAG_TIMER_OFF, | |
| 134 | + IDIAG_TIMER_ON, | |
| 135 | + IDIAG_TIMER_KEEPALIVE, | |
| 136 | + IDIAG_TIMER_TIMEWAIT, | |
| 137 | + IDIAG_TIMER_PROBE0, | |
| 138 | + IDIAG_TIMER_DELACK, | |
| 139 | +}; | |
| 140 | + | |
| 132 | 141 | /* Extensions */ |
| 133 | 142 | |
| 134 | 143 | enum { |
| @@ -82,7 +82,8 @@ · 81 unmodified lines | ||
| 82 | 82 | #define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */ |
| 83 | 83 | #define ADVERTISE_PAUSE_CAP 0x0400 /* Try for pause */ |
| 84 | 84 | #define ADVERTISE_PAUSE_ASYM 0x0800 /* Try for asymetric pause */ |
| 85 | −#define ADVERTISE_RESV 0x1000 /* Unused... */ | |
| 85 | +#define ADVERTISE_XNP 0x1000 /* Extended Next Page */ | |
| 86 | +#define ADVERTISE_RESV ADVERTISE_XNP /* Used to be reserved */ | |
| 86 | 87 | #define ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */ |
| 87 | 88 | #define ADVERTISE_LPACK 0x4000 /* Ack link partners response */ |
| 88 | 89 | #define ADVERTISE_NPAGE 0x8000 /* Next page bit */ |
| @@ -160,6 +160,7 @@ enum { · 159 unmodified lines | ||
| 160 | 160 | NETDEV_A_QUEUE_DMABUF, |
| 161 | 161 | NETDEV_A_QUEUE_IO_URING, |
| 162 | 162 | NETDEV_A_QUEUE_XSK, |
| 163 | + NETDEV_A_QUEUE_LEASE, | |
| 163 | 164 | |
| 164 | 165 | __NETDEV_A_QUEUE_MAX, |
| 165 | 166 | NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1) |
| @@ -202,6 +203,15 @@ enum { · 36 unmodified lines | ||
| 202 | 203 | NETDEV_A_QSTATS_MAX = (__NETDEV_A_QSTATS_MAX - 1) |
| 203 | 204 | }; |
| 204 | 205 | |
| 206 | +enum { | |
| 207 | + NETDEV_A_LEASE_IFINDEX = 1, | |
| 208 | + NETDEV_A_LEASE_QUEUE, | |
| 209 | + NETDEV_A_LEASE_NETNS_ID, | |
| 210 | + | |
| 211 | + __NETDEV_A_LEASE_MAX, | |
| 212 | + NETDEV_A_LEASE_MAX = (__NETDEV_A_LEASE_MAX - 1) | |
| 213 | +}; | |
| 214 | + | |
| 205 | 215 | enum { |
| 206 | 216 | NETDEV_A_DMABUF_IFINDEX = 1, |
| 207 | 217 | NETDEV_A_DMABUF_QUEUES, |
| @@ -228,6 +238,7 @@ enum { · 20 unmodified lines | ||
| 228 | 238 | NETDEV_CMD_BIND_RX, |
| 229 | 239 | NETDEV_CMD_NAPI_SET, |
| 230 | 240 | NETDEV_CMD_BIND_TX, |
| 241 | + NETDEV_CMD_QUEUE_CREATE, | |
| 231 | 242 | |
| 232 | 243 | __NETDEV_CMD_MAX, |
| 233 | 244 | NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1) |
| @@ -46,6 +46,10 @@ enum nft_registers { · 45 unmodified lines | ||
| 46 | 46 | }; |
| 47 | 47 | #define NFT_REG_MAX (__NFT_REG_MAX - 1) |
| 48 | 48 | |
| 49 | +#ifdef __KERNEL__ | |
| 50 | +#define NFT_REG32_MAX NFT_REG32_15 | |
| 51 | +#endif | |
| 52 | + | |
| 49 | 53 | #define NFT_REG_SIZE 16 |
| 50 | 54 | #define NFT_REG32_SIZE 4 |
| 51 | 55 | #define NFT_REG32_COUNT (NFT_REG32_15 - NFT_REG32_00 + 1) |
| @@ -884,7 +888,7 @@ enum nft_exthdr_flags { · 832 unmodified lines | ||
| 884 | 888 | * @NFT_EXTHDR_OP_TCPOPT: match against tcp options |
| 885 | 889 | * @NFT_EXTHDR_OP_IPV4: match against ipv4 options |
| 886 | 890 | * @NFT_EXTHDR_OP_SCTP: match against sctp chunks |
| 887 | − * @NFT_EXTHDR_OP_DCCP: match against dccp otions | |
| 891 | + * @NFT_EXTHDR_OP_DCCP: match against dccp options | |
| 888 | 892 | */ |
| 889 | 893 | enum nft_exthdr_op { |
| 890 | 894 | NFT_EXTHDR_OP_IPV6, |
| @@ -55,7 +55,7 @@ · 54 unmodified lines | ||
| 55 | 55 | * (it sends %NFC_ATTR_DEVICE_INDEX) |
| 56 | 56 | * @NFC_EVENT_TM_ACTIVATED: event emitted when the adapter is activated in |
| 57 | 57 | * target mode. |
| 58 | − * @NFC_EVENT_DEVICE_DEACTIVATED: event emitted when the adapter is deactivated | |
| 58 | + * @NFC_EVENT_TM_DEACTIVATED: event emitted when the adapter is deactivated | |
| 59 | 59 | * from target mode. |
| 60 | 60 | * @NFC_CMD_LLC_GET_PARAMS: request LTO, RW, and MIUX parameters for a device |
| 61 | 61 | * @NFC_CMD_LLC_SET_PARAMS: set one or more of LTO, RW, and MIUX parameters for |
| @@ -156,7 +156,7 @@ enum nfc_commands { · 94 unmodified lines | ||
| 156 | 156 | * @NFC_ATTR_SE_INDEX: Secure element index |
| 157 | 157 | * @NFC_ATTR_SE_TYPE: Secure element type (UICC or EMBEDDED) |
| 158 | 158 | * @NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS: Firmware download operation status |
| 159 | − * @NFC_ATTR_APDU: Secure element APDU | |
| 159 | + * @NFC_ATTR_SE_APDU: Secure element APDU | |
| 160 | 160 | * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier |
| 161 | 161 | * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier |
| 162 | 162 | * @NFC_ATTR_SE_PARAMS: Parameters data from an evt_transaction |
| @@ -291,7 +291,7 @@ struct sockaddr_nfc_llcp { · 128 unmodified lines | ||
| 291 | 291 | |
| 292 | 292 | #define NFC_HEADER_SIZE 1 |
| 293 | 293 | |
| 294 | −/** | |
| 294 | +/* | |
| 295 | 295 | * Pseudo-header info for raw socket packets |
| 296 | 296 | * First byte is the adapter index |
| 297 | 297 | * Second byte contains flags |
| @@ -906,8 +906,9 @@ · 905 unmodified lines | ||
| 906 | 906 | * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP |
| 907 | 907 | * (or GO) interface (i.e. hostapd) to ask for unexpected frames to |
| 908 | 908 | * implement sending deauth to stations that send unexpected class 3 |
| 909 | − * frames. Also used as the event sent by the kernel when such a frame | |
| 910 | − * is received. | |
| 909 | + * frames. For NAN_DATA interfaces, this is used to report frames from | |
| 910 | + * unknown peers (A2 not assigned to any active NDP). | |
| 911 | + * Also used as the event sent by the kernel when such a frame is received. | |
| 911 | 912 | * For the event, the %NL80211_ATTR_MAC attribute carries the TA and |
| 912 | 913 | * other attributes like the interface index are present. |
| 913 | 914 | * If used as the command it must have an interface index and you can |
| @@ -1361,6 +1362,59 @@ · 447 unmodified lines | ||
| 1361 | 1362 | * user space that the NAN new cluster has been joined. The cluster ID is |
| 1362 | 1363 | * indicated by %NL80211_ATTR_MAC. |
| 1363 | 1364 | * |
| 1365 | + * @NL80211_CMD_INCUMBENT_SIGNAL_DETECT: Once any incumbent signal is detected | |
| 1366 | + * on the operating channel in 6 GHz band, userspace is notified with the | |
| 1367 | + * signal interference bitmap using | |
| 1368 | + * %NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP. The current channel | |
| 1369 | + * definition is also sent. | |
| 1370 | + * | |
| 1371 | + * @NL80211_CMD_NAN_SET_LOCAL_SCHED: Set the local NAN schedule. NAN must be | |
| 1372 | + * operational (%NL80211_CMD_START_NAN was executed). Must contain | |
| 1373 | + * %NL80211_ATTR_NAN_TIME_SLOTS and %NL80211_ATTR_NAN_AVAIL_BLOB, but | |
| 1374 | + * %NL80211_ATTR_NAN_CHANNEL is optional (for example in case of a channel | |
| 1375 | + * removal, that channel won't be provided). | |
| 1376 | + * If %NL80211_ATTR_NAN_SCHED_DEFERRED is set, the command is a request | |
| 1377 | + * from the device to perform an announced schedule update. See | |
| 1378 | + * %NL80211_ATTR_NAN_SCHED_DEFERRED for more details. | |
| 1379 | + * If not set, the schedule should be applied immediately. | |
| 1380 | + * @NL80211_CMD_NAN_SCHED_UPDATE_DONE: Event sent to user space to notify that | |
| 1381 | + * a deferred local NAN schedule update (requested with | |
| 1382 | + * %NL80211_CMD_NAN_SET_LOCAL_SCHED and %NL80211_ATTR_NAN_SCHED_DEFERRED) | |
| 1383 | + * has been completed. The presence of %NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS | |
| 1384 | + * indicates that the update was successful. | |
| 1385 | + * @NL80211_CMD_NAN_SET_PEER_SCHED: Set the peer NAN schedule. NAN | |
| 1386 | + * must be operational (%NL80211_CMD_START_NAN was executed). | |
| 1387 | + * Required attributes: %NL80211_ATTR_MAC (peer NMI address) and | |
| 1388 | + * %NL80211_ATTR_NAN_COMMITTED_DW. | |
| 1389 | + * Optionally, the full schedule can be provided by including all of: | |
| 1390 | + * %NL80211_ATTR_NAN_SEQ_ID, %NL80211_ATTR_NAN_CHANNEL (one or more), and | |
| 1391 | + * %NL80211_ATTR_NAN_PEER_MAPS (see &enum nl80211_nan_peer_map_attrs). | |
| 1392 | + * If any of these three optional attributes is provided, all three must | |
| 1393 | + * be provided. | |
| 1394 | + * Each peer channel must be compatible with at least one local channel | |
| 1395 | + * set by %NL80211_CMD_SET_LOCAL_NAN_SCHED. Different maps must not | |
| 1396 | + * contain compatible channels. | |
| 1397 | + * For single-radio devices (n_radio <= 1), different maps must not | |
| 1398 | + * schedule the same time slot, as the device cannot operate on multiple | |
| 1399 | + * channels simultaneously. | |
| 1400 | + * When updating an existing peer schedule, the full new schedule must be | |
| 1401 | + * provided - partial updates are not supported. The new schedule will | |
| 1402 | + * completely replace the previous one. | |
| 1403 | + * The peer schedule is automatically removed when the NMI station is | |
| 1404 | + * removed. | |
| 1405 | + * @NL80211_CMD_NAN_ULW_UPDATE: Notification from the driver to user space | |
| 1406 | + * with the updated ULW blob of the device. User space can use this blob | |
| 1407 | + * to attach to frames sent to peers. This notification contains | |
| 1408 | + * %NL80211_ATTR_NAN_ULW with the ULW blob. | |
| 1409 | + * @NL80211_CMD_NAN_CHANNEL_EVAC: Notification to indicate that a NAN | |
| 1410 | + * channel has been evacuated due to resource conflicts with other | |
| 1411 | + * interfaces. This can happen when another interface sharing the channel | |
| 1412 | + * resource with NAN needs to move to a different channel (e.g., channel | |
| 1413 | + * switch or link switch on a BSS interface). | |
| 1414 | + * The notification contains %NL80211_ATTR_NAN_CHANNEL attribute | |
| 1415 | + * identifying the evacuated channel. | |
| 1416 | + * User space may reconfigure the local schedule in response to this | |
| 1417 | + * notification. | |
| 1364 | 1418 | * @NL80211_CMD_MAX: highest used command number |
| 1365 | 1419 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1366 | 1420 | */ |
| @@ -1624,6 +1678,18 @@ enum nl80211_commands { · 257 unmodified lines | ||
| 1624 | 1678 | NL80211_CMD_NAN_NEXT_DW_NOTIFICATION, |
| 1625 | 1679 | NL80211_CMD_NAN_CLUSTER_JOINED, |
| 1626 | 1680 | |
| 1681 | + NL80211_CMD_INCUMBENT_SIGNAL_DETECT, | |
| 1682 | + | |
| 1683 | + NL80211_CMD_NAN_SET_LOCAL_SCHED, | |
| 1684 | + | |
| 1685 | + NL80211_CMD_NAN_SCHED_UPDATE_DONE, | |
| 1686 | + | |
| 1687 | + NL80211_CMD_NAN_SET_PEER_SCHED, | |
| 1688 | + | |
| 1689 | + NL80211_CMD_NAN_ULW_UPDATE, | |
| 1690 | + | |
| 1691 | + NL80211_CMD_NAN_CHANNEL_EVAC, | |
| 1692 | + | |
| 1627 | 1693 | /* add new commands above here */ |
| 1628 | 1694 | |
| 1629 | 1695 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2651,7 +2717,8 @@ enum nl80211_commands { · 1021 unmodified lines | ||
| 2651 | 2717 | * a flow is assigned on each round of the DRR scheduler. |
| 2652 | 2718 | * @NL80211_ATTR_HE_CAPABILITY: HE Capability information element (from |
| 2653 | 2719 | * association request when used with NL80211_CMD_NEW_STATION). Can be set |
| 2654 | − * only if %NL80211_STA_FLAG_WME is set. | |
| 2720 | + * only if %NL80211_STA_FLAG_WME is set (except for NAN, which uses WME | |
| 2721 | + * anyway). | |
| 2655 | 2722 | * |
| 2656 | 2723 | * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include |
| 2657 | 2724 | * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing |
| @@ -2983,6 +3050,95 @@ enum nl80211_commands { · 325 unmodified lines | ||
| 2983 | 3050 | * @NL80211_ATTR_DISABLE_UHR: Force UHR capable interfaces to disable |
| 2984 | 3051 | * this feature during association. This is a flag attribute. |
| 2985 | 3052 | * Currently only supported in mac80211 drivers. |
| 3053 | + * @NL80211_ATTR_NAN_CHANNEL: This is a nested attribute. There can be multiple | |
| 3054 | + * attributes of this type, each one represents a channel definition and | |
| 3055 | + * consists of top-level attributes like %NL80211_ATTR_WIPHY_FREQ. | |
| 3056 | + * When used with %NL80211_CMD_NAN_SET_LOCAL_SCHED, it specifies | |
| 3057 | + * the channel definitions on which the radio needs to operate during | |
| 3058 | + * specific time slots. All of the channel definitions should be mutually | |
| 3059 | + * incompatible. With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and | |
| 3060 | + * %NL80211_ATTR_NAN_RX_NSS are mandatory. | |
| 3061 | + * When used with %NL80211_CMD_NAN_SET_PEER_SCHED, it configures the | |
| 3062 | + * peer NAN channels. In that case, the channel definitions can be | |
| 3063 | + * compatible to each other, or even identical just with different RX NSS. | |
| 3064 | + * With this command, %NL80211_ATTR_NAN_CHANNEL_ENTRY and | |
| 3065 | + * %NL80211_ATTR_NAN_RX_NSS are mandatory. | |
| 3066 | + * The number of channels should fit the current configuration of channels | |
| 3067 | + * and the possible interface combinations. | |
| 3068 | + * If an existing NAN channel is changed but the chandef isn't, the | |
| 3069 | + * channel entry must also remain unchanged. | |
| 3070 | + * When used with %NL80211_CMD_NAN_CHANNEL_EVAC, this identifies the | |
| 3071 | + * channels that were evacuated. | |
| 3072 | + * @NL80211_ATTR_NAN_CHANNEL_ENTRY: a byte array of 6 bytes. contains the | |
| 3073 | + * Channel Entry as defined in Wi-Fi Aware (TM) 4.0 specification Table | |
| 3074 | + * 100 (Channel Entry format for the NAN Availability attribute). | |
| 3075 | + * @NL80211_ATTR_NAN_RX_NSS: (u8) RX NSS used for a NAN channel. This is | |
| 3076 | + * used with %NL80211_ATTR_NAN_CHANNEL when configuring NAN channels with | |
| 3077 | + * %NL80211_CMD_NAN_SET_LOCAL_SCHED or %NL80211_CMD_NAN_SET_PEER_SCHED. | |
| 3078 | + * @NL80211_ATTR_NAN_TIME_SLOTS: an array of u8 values and 32 cells. each value | |
| 3079 | + * maps a time slot to the chandef on which the radio should operate on in | |
| 3080 | + * that time. %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled. | |
| 3081 | + * The chandef is represented using its index, where the index is the | |
| 3082 | + * sequential number of the %NL80211_ATTR_NAN_CHANNEL attribute within all | |
| 3083 | + * the attributes of this type. | |
| 3084 | + * Each slots spans over 16TUs, hence the entire schedule spans over | |
| 3085 | + * 512TUs. Other slot durations and periods are currently not supported. | |
| 3086 | + * @NL80211_ATTR_NAN_AVAIL_BLOB: (Binary) The NAN Availability attribute blob, | |
| 3087 | + * including the attribute header, as defined in Wi-Fi Aware (TM) 4.0 | |
| 3088 | + * specification Table 93 (NAN Availability attribute format). Required with | |
| 3089 | + * %NL80211_CMD_NAN_SET_LOCAL_SCHED to provide the raw NAN Availability | |
| 3090 | + * attribute. Used by the device to publish Schedule Update NAFs. | |
| 3091 | + * @NL80211_ATTR_NAN_SCHED_DEFERRED: Flag attribute used with | |
| 3092 | + * %NL80211_CMD_NAN_SET_LOCAL_SCHED. When present, the command is a | |
| 3093 | + * request from the device to perform an announced schedule update. This | |
| 3094 | + * means that it needs to send the updated NAN availability to the peers, | |
| 3095 | + * and do the actual switch on the right time (i.e. at the end of the slot | |
| 3096 | + * after the slot in which the updated NAN Availability was sent). Since | |
| 3097 | + * the slots management is done in the device, the update to the peers | |
| 3098 | + * needs to be sent by the device, so it knows the actual switch time. | |
| 3099 | + * If the flag is not set, the schedule should be applied immediately. | |
| 3100 | + * When this flag is set, the total number of NAN channels from both the | |
| 3101 | + * old and new schedules must not exceed the allowed number of local NAN | |
| 3102 | + * channels, because with deferred scheduling the old channels cannot be | |
| 3103 | + * removed before adding the new ones to free up space. | |
| 3104 | + * @NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS: flag attribute used with | |
| 3105 | + * %NL80211_CMD_NAN_SCHED_UPDATE_DONE to indicate that the deferred | |
| 3106 | + * schedule update completed successfully. If this flag is not present, | |
| 3107 | + * the update failed. | |
| 3108 | + * @NL80211_ATTR_NAN_NMI_MAC: The address of the NMI station to which this NDI | |
| 3109 | + * station belongs. Used with %NL80211_CMD_NEW_STATION when adding an NDI | |
| 3110 | + * station. | |
| 3111 | + * @NL80211_ATTR_NAN_ULW: (Binary) The initial ULW(s) as published by the | |
| 3112 | + * peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 109 | |
| 3113 | + * (Unaligned Schedule attribute format). Used to configure the device | |
| 3114 | + * with the initial ULW(s) of a peer, before the device starts tracking it. | |
| 3115 | + * @NL80211_ATTR_NAN_COMMITTED_DW: (u16) The committed DW as published by the | |
| 3116 | + * peer, as defined in the Wi-Fi Aware (TM) 4.0 specification Table 80 | |
| 3117 | + * (Committed DW Information field format). | |
| 3118 | + * @NL80211_ATTR_NAN_SEQ_ID: (u8) The sequence ID of the peer schedule that | |
| 3119 | + * %NL80211_CMD_NAN_SET_PEER_SCHED defines. The device follows the | |
| 3120 | + * sequence ID in the frames to identify newer schedules. Once a schedule | |
| 3121 | + * with a higher sequence ID is received, the device may stop communicating | |
| 3122 | + * with that peer until a new peer schedule with a matching sequence ID is | |
| 3123 | + * received. | |
| 3124 | + * @NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME: (u16) The maximum channel switch | |
| 3125 | + * time, in microseconds. | |
| 3126 | + * @NL80211_ATTR_NAN_PEER_MAPS: Nested array of peer schedule maps. | |
| 3127 | + * Used with %NL80211_CMD_NAN_SET_PEER_SCHED. Contains up to 2 entries, | |
| 3128 | + * each containing nested attributes from &enum nl80211_nan_peer_map_attrs. | |
| 3129 | + * | |
| 3130 | + * @NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP: u32 attribute specifying | |
| 3131 | + * the signal interference bitmap detected on the operating bandwidth for | |
| 3132 | + * %NL80211_CMD_INCUMBENT_SIGNAL_DETECT. Each bit represents a 20 MHz | |
| 3133 | + * segment, lowest bit corresponds to the lowest 20 MHz segment, in the | |
| 3134 | + * operating bandwidth where the interference is detected. Punctured | |
| 3135 | + * sub-channels are included in the bitmap structure; however, since | |
| 3136 | + * interference detection is not performed on these sub-channels, their | |
| 3137 | + * corresponding bits are consistently set to zero. | |
| 3138 | + * | |
| 3139 | + * @NL80211_ATTR_UHR_OPERATION: Full UHR Operation element, as it appears in | |
| 3140 | + * association response etc., since it's abridged in the beacon. Used | |
| 3141 | + * for START_AP etc. | |
| 2986 | 3142 | * |
| 2987 | 3143 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2988 | 3144 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -3557,6 +3713,26 @@ enum nl80211_attrs { · 568 unmodified lines | ||
| 3557 | 3713 | NL80211_ATTR_UHR_CAPABILITY, |
| 3558 | 3714 | NL80211_ATTR_DISABLE_UHR, |
| 3559 | 3715 | |
| 3716 | + NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP, | |
| 3717 | + | |
| 3718 | + NL80211_ATTR_UHR_OPERATION, | |
| 3719 | + | |
| 3720 | + NL80211_ATTR_NAN_CHANNEL, | |
| 3721 | + NL80211_ATTR_NAN_CHANNEL_ENTRY, | |
| 3722 | + NL80211_ATTR_NAN_TIME_SLOTS, | |
| 3723 | + NL80211_ATTR_NAN_RX_NSS, | |
| 3724 | + NL80211_ATTR_NAN_AVAIL_BLOB, | |
| 3725 | + NL80211_ATTR_NAN_SCHED_DEFERRED, | |
| 3726 | + NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS, | |
| 3727 | + | |
| 3728 | + NL80211_ATTR_NAN_NMI_MAC, | |
| 3729 | + | |
| 3730 | + NL80211_ATTR_NAN_ULW, | |
| 3731 | + NL80211_ATTR_NAN_COMMITTED_DW, | |
| 3732 | + NL80211_ATTR_NAN_SEQ_ID, | |
| 3733 | + NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME, | |
| 3734 | + NL80211_ATTR_NAN_PEER_MAPS, | |
| 3735 | + | |
| 3560 | 3736 | /* add attributes here, update the policy in nl80211.c */ |
| 3561 | 3737 | |
| 3562 | 3738 | __NL80211_ATTR_AFTER_LAST, |
| @@ -3650,6 +3826,9 @@ enum nl80211_attrs { · 87 unmodified lines | ||
| 3650 | 3826 | * @NL80211_IFTYPE_OCB: Outside Context of a BSS |
| 3651 | 3827 | * This mode corresponds to the MIB variable dot11OCBActivated=true |
| 3652 | 3828 | * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev) |
| 3829 | + * @NL80211_IFTYPE_NAN_DATA: NAN data interface type (netdev); NAN data | |
| 3830 | + * interfaces can only be brought up (IFF_UP) when a NAN interface | |
| 3831 | + * already exists and NAN has been started (using %NL80211_CMD_START_NAN). | |
| 3653 | 3832 | * @NL80211_IFTYPE_MAX: highest interface type number currently defined |
| 3654 | 3833 | * @NUM_NL80211_IFTYPES: number of defined interface types |
| 3655 | 3834 | * |
| @@ -3671,6 +3850,7 @@ enum nl80211_iftype { · 15 unmodified lines | ||
| 3671 | 3850 | NL80211_IFTYPE_P2P_DEVICE, |
| 3672 | 3851 | NL80211_IFTYPE_OCB, |
| 3673 | 3852 | NL80211_IFTYPE_NAN, |
| 3853 | + NL80211_IFTYPE_NAN_DATA, | |
| 3674 | 3854 | |
| 3675 | 3855 | /* keep last */ |
| 3676 | 3856 | NUM_NL80211_IFTYPES, |
| @@ -4359,6 +4539,46 @@ enum nl80211_band_attr { · 682 unmodified lines | ||
| 4359 | 4539 | |
| 4360 | 4540 | #define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA |
| 4361 | 4541 | |
| 4542 | +/** | |
| 4543 | + * enum nl80211_nan_phy_cap_attr - NAN PHY capabilities attributes | |
| 4544 | + * @__NL80211_NAN_PHY_CAP_ATTR_INVALID: attribute number 0 is reserved | |
| 4545 | + * @NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET: 16-byte attribute containing HT MCS set | |
| 4546 | + * @NL80211_NAN_PHY_CAP_ATTR_HT_CAPA: HT capabilities (u16) | |
| 4547 | + * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR: HT A-MPDU factor (u8) | |
| 4548 | + * @NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY: HT A-MPDU density (u8) | |
| 4549 | + * @NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET: 8-byte attribute containing VHT MCS set | |
| 4550 | + * @NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA: VHT capabilities (u32) | |
| 4551 | + * @NL80211_NAN_PHY_CAP_ATTR_HE_MAC: HE MAC capabilities | |
| 4552 | + * @NL80211_NAN_PHY_CAP_ATTR_HE_PHY: HE PHY capabilities | |
| 4553 | + * @NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET: HE supported NSS/MCS combinations | |
| 4554 | + * @NL80211_NAN_PHY_CAP_ATTR_HE_PPE: HE PPE thresholds | |
| 4555 | + * @NL80211_NAN_PHY_CAP_ATTR_MAX: highest NAN PHY cap attribute number | |
| 4556 | + * @__NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST: internal use | |
| 4557 | + */ | |
| 4558 | +enum nl80211_nan_phy_cap_attr { | |
| 4559 | + __NL80211_NAN_PHY_CAP_ATTR_INVALID, | |
| 4560 | + | |
| 4561 | + /* HT capabilities */ | |
| 4562 | + NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET, | |
| 4563 | + NL80211_NAN_PHY_CAP_ATTR_HT_CAPA, | |
| 4564 | + NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR, | |
| 4565 | + NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY, | |
| 4566 | + | |
| 4567 | + /* VHT capabilities */ | |
| 4568 | + NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET, | |
| 4569 | + NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA, | |
| 4570 | + | |
| 4571 | + /* HE capabilities */ | |
| 4572 | + NL80211_NAN_PHY_CAP_ATTR_HE_MAC, | |
| 4573 | + NL80211_NAN_PHY_CAP_ATTR_HE_PHY, | |
| 4574 | + NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET, | |
| 4575 | + NL80211_NAN_PHY_CAP_ATTR_HE_PPE, | |
| 4576 | + | |
| 4577 | + /* keep last */ | |
| 4578 | + __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST, | |
| 4579 | + NL80211_NAN_PHY_CAP_ATTR_MAX = __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST - 1 | |
| 4580 | +}; | |
| 4581 | + | |
| 4362 | 4582 | /** |
| 4363 | 4583 | * enum nl80211_wmm_rule - regulatory wmm rule |
| 4364 | 4584 | * |
| @@ -4480,6 +4700,10 @@ enum nl80211_wmm_rule { · 115 unmodified lines | ||
| 4480 | 4700 | * as a non-primary subchannel. Only applicable to S1G channels. |
| 4481 | 4701 | * @NL80211_FREQUENCY_ATTR_NO_UHR: UHR operation is not allowed on this channel |
| 4482 | 4702 | * in current regulatory domain. |
| 4703 | + * @NL80211_FREQUENCY_ATTR_CAC_START_TIME: Channel Availability Check (CAC) | |
| 4704 | + * start time (CLOCK_BOOTTIME, nanoseconds). Only present when CAC is | |
| 4705 | + * currently in progress on this channel. | |
| 4706 | + * @NL80211_FREQUENCY_ATTR_PAD: attribute used for padding for 64-bit alignment | |
| 4483 | 4707 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4484 | 4708 | * currently defined |
| 4485 | 4709 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -4530,6 +4754,8 @@ enum nl80211_frequency_attr { · 44 unmodified lines | ||
| 4530 | 4754 | NL80211_FREQUENCY_ATTR_NO_16MHZ, |
| 4531 | 4755 | NL80211_FREQUENCY_ATTR_S1G_NO_PRIMARY, |
| 4532 | 4756 | NL80211_FREQUENCY_ATTR_NO_UHR, |
| 4757 | + NL80211_FREQUENCY_ATTR_CAC_START_TIME, | |
| 4758 | + NL80211_FREQUENCY_ATTR_PAD, | |
| 4533 | 4759 | |
| 4534 | 4760 | /* keep last */ |
| 4535 | 4761 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -5466,6 +5692,8 @@ enum nl80211_bss_status { · 930 unmodified lines | ||
| 5466 | 5692 | * @NL80211_AUTHTYPE_FILS_SK_PFS: Fast Initial Link Setup shared key with PFS |
| 5467 | 5693 | * @NL80211_AUTHTYPE_FILS_PK: Fast Initial Link Setup public key |
| 5468 | 5694 | * @NL80211_AUTHTYPE_EPPKE: Enhanced Privacy Protection Key Exchange |
| 5695 | + * @NL80211_AUTHTYPE_IEEE8021X: IEEE 802.1X authentication utilizing | |
| 5696 | + * Authentication frames | |
| 5469 | 5697 | * @__NL80211_AUTHTYPE_NUM: internal |
| 5470 | 5698 | * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm |
| 5471 | 5699 | * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by |
| @@ -5482,6 +5710,7 @@ enum nl80211_auth_type { · 10 unmodified lines | ||
| 5482 | 5710 | NL80211_AUTHTYPE_FILS_SK_PFS, |
| 5483 | 5711 | NL80211_AUTHTYPE_FILS_PK, |
| 5484 | 5712 | NL80211_AUTHTYPE_EPPKE, |
| 5713 | + NL80211_AUTHTYPE_IEEE8021X, | |
| 5485 | 5714 | |
| 5486 | 5715 | /* keep last */ |
| 5487 | 5716 | __NL80211_AUTHTYPE_NUM, |
| @@ -6795,6 +7024,11 @@ enum nl80211_feature_flags { · 1307 unmodified lines | ||
| 6795 | 7024 | * frames in both non‑AP STA and AP mode as specified in |
| 6796 | 7025 | * "IEEE P802.11bi/D3.0, 12.16.6". |
| 6797 | 7026 | * |
| 7027 | + * @NL80211_EXT_FEATURE_IEEE8021X_AUTH: Driver supports IEEE 802.1X | |
| 7028 | + * authentication utilizing Authentication frames with user space SME | |
| 7029 | + * (NL80211_CMD_AUTHENTICATE) in non-AP STA mode, as specified in | |
| 7030 | + * "IEEE P802.11bi/D4.0, 12.16.5". | |
| 7031 | + * | |
| 6798 | 7032 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 6799 | 7033 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 6800 | 7034 | */ |
| @@ -6873,6 +7107,7 @@ enum nl80211_ext_feature_index { · 72 unmodified lines | ||
| 6873 | 7107 | NL80211_EXT_FEATURE_BEACON_RATE_EHT, |
| 6874 | 7108 | NL80211_EXT_FEATURE_EPPKE, |
| 6875 | 7109 | NL80211_EXT_FEATURE_ASSOC_FRAME_ENCRYPTION, |
| 7110 | + NL80211_EXT_FEATURE_IEEE8021X_AUTH, | |
| 6876 | 7111 | |
| 6877 | 7112 | /* add new features before the definition below */ |
| 6878 | 7113 | NUM_NL80211_EXT_FEATURES, |
| @@ -8517,6 +8752,8 @@ enum nl80211_s1g_short_beacon_attrs { · 1638 unmodified lines | ||
| 8517 | 8752 | * @NL80211_NAN_CAPA_CAPABILITIES: u8 attribute containing the |
| 8518 | 8753 | * capabilities of the device as defined in Wi-Fi Aware (TM) |
| 8519 | 8754 | * specification Table 79 (Capabilities field). |
| 8755 | + * @NL80211_NAN_CAPA_PHY: nested attribute containing band-agnostic | |
| 8756 | + * capabilities for NAN data path. See &enum nl80211_nan_phy_cap_attr. | |
| 8520 | 8757 | * @__NL80211_NAN_CAPABILITIES_LAST: Internal |
| 8521 | 8758 | * @NL80211_NAN_CAPABILITIES_MAX: Highest NAN capability attribute. |
| 8522 | 8759 | */ |
| @@ -8529,9 +8766,38 @@ enum nl80211_nan_capabilities { · 6 unmodified lines | ||
| 8529 | 8766 | NL80211_NAN_CAPA_NUM_ANTENNAS, |
| 8530 | 8767 | NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME, |
| 8531 | 8768 | NL80211_NAN_CAPA_CAPABILITIES, |
| 8769 | + NL80211_NAN_CAPA_PHY, | |
| 8532 | 8770 | /* keep last */ |
| 8533 | 8771 | __NL80211_NAN_CAPABILITIES_LAST, |
| 8534 | 8772 | NL80211_NAN_CAPABILITIES_MAX = __NL80211_NAN_CAPABILITIES_LAST - 1, |
| 8535 | 8773 | }; |
| 8536 | 8774 | |
| 8775 | +/** | |
| 8776 | + * enum nl80211_nan_peer_map_attrs - NAN peer schedule map attributes | |
| 8777 | + * | |
| 8778 | + * Nested attributes used within %NL80211_ATTR_NAN_PEER_MAPS to define | |
| 8779 | + * individual peer schedule maps. | |
| 8780 | + * | |
| 8781 | + * @__NL80211_NAN_PEER_MAP_ATTR_INVALID: Invalid | |
| 8782 | + * @NL80211_NAN_PEER_MAP_ATTR_MAP_ID: (u8) The map ID for this schedule map. | |
| 8783 | + * @NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS: An array of u8 values with 32 cells. | |
| 8784 | + * Each value maps a time slot to a channel index within the schedule's | |
| 8785 | + * channel list (%NL80211_ATTR_NAN_CHANNEL attributes). | |
| 8786 | + * %NL80211_NAN_SCHED_NOT_AVAIL_SLOT indicates unscheduled. | |
| 8787 | + * @__NL80211_NAN_PEER_MAP_ATTR_LAST: Internal | |
| 8788 | + * @NL80211_NAN_PEER_MAP_ATTR_MAX: Highest peer map attribute | |
| 8789 | + */ | |
| 8790 | +enum nl80211_nan_peer_map_attrs { | |
| 8791 | + __NL80211_NAN_PEER_MAP_ATTR_INVALID, | |
| 8792 | + | |
| 8793 | + NL80211_NAN_PEER_MAP_ATTR_MAP_ID, | |
| 8794 | + NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS, | |
| 8795 | + | |
| 8796 | + /* keep last */ | |
| 8797 | + __NL80211_NAN_PEER_MAP_ATTR_LAST, | |
| 8798 | + NL80211_NAN_PEER_MAP_ATTR_MAX = __NL80211_NAN_PEER_MAP_ATTR_LAST - 1, | |
| 8799 | +}; | |
| 8800 | + | |
| 8801 | +#define NL80211_NAN_SCHED_NOT_AVAIL_SLOT 0xff | |
| 8802 | + | |
| 8537 | 8803 | #endif /* __LINUX_NL80211_H */ |
| @@ -70,12 +70,15 @@ enum ovs_datapath_cmd { · 69 unmodified lines | ||
| 70 | 70 | * set on the datapath port (for OVS_ACTION_ATTR_MISS). Only valid on |
| 71 | 71 | * %OVS_DP_CMD_NEW requests. A value of zero indicates that upcalls should |
| 72 | 72 | * not be sent. |
| 73 | + * @OVS_DP_ATTR_MASKS_CACHE_SIZE: Number of the entries in the flow table | |
| 74 | + * masks cache. | |
| 73 | 75 | * @OVS_DP_ATTR_PER_CPU_PIDS: Per-cpu array of PIDs for upcalls when |
| 74 | 76 | * OVS_DP_F_DISPATCH_UPCALL_PER_CPU feature is set. |
| 75 | 77 | * @OVS_DP_ATTR_STATS: Statistics about packets that have passed through the |
| 76 | 78 | * datapath. Always present in notifications. |
| 77 | 79 | * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the |
| 78 | 80 | * datapath. Always present in notifications. |
| 81 | + * @OVS_DP_ATTR_USER_FEATURES: OVS_DP_F_* flags. | |
| 79 | 82 | * @OVS_DP_ATTR_IFINDEX: Interface index for a new datapath netdev. Only |
| 80 | 83 | * valid for %OVS_DP_CMD_NEW requests. |
| 81 | 84 | * |
| @@ -83,18 +86,23 @@ enum ovs_datapath_cmd { · 1 unmodified line | ||
| 83 | 86 | * payload for %OVS_DP_* commands. |
| 84 | 87 | */ |
| 85 | 88 | enum ovs_datapath_attr { |
| 89 | + /* private: */ | |
| 86 | 90 | OVS_DP_ATTR_UNSPEC, |
| 91 | + /* public: */ | |
| 87 | 92 | OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */ |
| 88 | 93 | OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */ |
| 89 | 94 | OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */ |
| 90 | 95 | OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */ |
| 91 | 96 | OVS_DP_ATTR_USER_FEATURES, /* OVS_DP_F_* */ |
| 97 | + /* private: */ | |
| 92 | 98 | OVS_DP_ATTR_PAD, |
| 99 | + /* public: */ | |
| 93 | 100 | OVS_DP_ATTR_MASKS_CACHE_SIZE, |
| 94 | 101 | OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in |
| 95 | 102 | * per-cpu dispatch mode |
| 96 | 103 | */ |
| 97 | 104 | OVS_DP_ATTR_IFINDEX, |
| 105 | + /* private: */ | |
| 98 | 106 | __OVS_DP_ATTR_MAX |
| 99 | 107 | }; |
| 100 | 108 | |
| @@ -181,6 +189,7 @@ enum ovs_packet_cmd { · 80 unmodified lines | ||
| 181 | 189 | * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the |
| 182 | 190 | * output port is actually a tunnel port. Contains the output tunnel key |
| 183 | 191 | * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes. |
| 192 | + * @OVS_PACKET_ATTR_PROBE: Packet operation is a feature probe. | |
| 184 | 193 | * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and |
| 185 | 194 | * @OVS_PACKET_ATTR_LEN: Packet size before truncation. |
| 186 | 195 | * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment |
| @@ -196,21 +205,26 @@ enum ovs_packet_cmd { · 9 unmodified lines | ||
| 196 | 205 | * payload for %OVS_PACKET_* commands. |
| 197 | 206 | */ |
| 198 | 207 | enum ovs_packet_attr { |
| 208 | + /* private: */ | |
| 199 | 209 | OVS_PACKET_ATTR_UNSPEC, |
| 210 | + /* public: */ | |
| 200 | 211 | OVS_PACKET_ATTR_PACKET, /* Packet data. */ |
| 201 | 212 | OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */ |
| 202 | 213 | OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ |
| 203 | 214 | OVS_PACKET_ATTR_USERDATA, /* OVS_ACTION_ATTR_USERSPACE arg. */ |
| 204 | 215 | OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_* |
| 205 | 216 | attributes. */ |
| 217 | + /* private: */ | |
| 206 | 218 | OVS_PACKET_ATTR_UNUSED1, |
| 207 | 219 | OVS_PACKET_ATTR_UNUSED2, |
| 220 | + /* public: */ | |
| 208 | 221 | OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe, |
| 209 | 222 | error logging should be suppressed. */ |
| 210 | 223 | OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ |
| 211 | 224 | OVS_PACKET_ATTR_LEN, /* Packet size before truncation. */ |
| 212 | 225 | OVS_PACKET_ATTR_HASH, /* Packet hash. */ |
| 213 | 226 | OVS_PACKET_ATTR_UPCALL_PID, /* u32 Netlink PID. */ |
| 227 | + /* private: */ | |
| 214 | 228 | __OVS_PACKET_ATTR_MAX |
| 215 | 229 | }; |
| 216 | 230 | |
| @@ -257,6 +271,11 @@ enum ovs_vport_type { · 40 unmodified lines | ||
| 257 | 271 | * upcalls should not be sent. |
| 258 | 272 | * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for |
| 259 | 273 | * packets sent or received through the vport. |
| 274 | + * @OVS_VPORT_ATTR_IFINDEX: Provides the ifindex of a vport, or sets the desired | |
| 275 | + * ifindex while creating a new vport with type %OVS_VPORT_TYPE_INTERNAL. | |
| 276 | + * @OVS_VPORT_ATTR_NETNSID: Provides the netns id of the vport if it's not local. | |
| 277 | + * @OVS_VPORT_ATTR_UPCALL_STATS: Provides upcall statistics for a vport. | |
| 278 | + * Contains nested %OVS_VPORT_UPCALL_ATTR_* attributes. | |
| 260 | 279 | * |
| 261 | 280 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 262 | 281 | * payload for %OVS_VPORT_* commands. |
| @@ -272,7 +291,9 @@ enum ovs_vport_type { · 9 unmodified lines | ||
| 272 | 291 | * ovs_header plus %OVS_VPORT_ATTR_PORT_NO determine the vport. |
| 273 | 292 | */ |
| 274 | 293 | enum ovs_vport_attr { |
| 294 | + /* private: */ | |
| 275 | 295 | OVS_VPORT_ATTR_UNSPEC, |
| 296 | + /* public: */ | |
| 276 | 297 | OVS_VPORT_ATTR_PORT_NO, /* u32 port number within datapath */ |
| 277 | 298 | OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */ |
| 278 | 299 | OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */ |
| @@ -280,23 +301,27 @@ enum ovs_vport_attr { · 1 unmodified line | ||
| 280 | 301 | OVS_VPORT_ATTR_UPCALL_PID, /* array of u32 Netlink socket PIDs for */ |
| 281 | 302 | /* receiving upcalls */ |
| 282 | 303 | OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */ |
| 304 | + /* private: */ | |
| 283 | 305 | OVS_VPORT_ATTR_PAD, |
| 306 | + /* public: */ | |
| 284 | 307 | OVS_VPORT_ATTR_IFINDEX, |
| 285 | 308 | OVS_VPORT_ATTR_NETNSID, |
| 286 | 309 | OVS_VPORT_ATTR_UPCALL_STATS, |
| 310 | + /* private: */ | |
| 287 | 311 | __OVS_VPORT_ATTR_MAX |
| 288 | 312 | }; |
| 289 | 313 | |
| 290 | 314 | #define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1) |
| 291 | 315 | |
| 292 | 316 | /** |
| 293 | − * enum ovs_vport_upcall_attr - attributes for %OVS_VPORT_UPCALL* commands | |
| 294 | − * @OVS_VPORT_UPCALL_SUCCESS: 64-bit upcall success packets. | |
| 295 | − * @OVS_VPORT_UPCALL_FAIL: 64-bit upcall fail packets. | |
| 317 | + * enum ovs_vport_upcall_attr - attributes for %OVS_VPORT_ATTR_UPCALL_STATS | |
| 318 | + * @OVS_VPORT_UPCALL_ATTR_SUCCESS: 64-bit upcall success packets. | |
| 319 | + * @OVS_VPORT_UPCALL_ATTR_FAIL: 64-bit upcall fail packets. | |
| 296 | 320 | */ |
| 297 | 321 | enum ovs_vport_upcall_attr { |
| 298 | 322 | OVS_VPORT_UPCALL_ATTR_SUCCESS, |
| 299 | 323 | OVS_VPORT_UPCALL_ATTR_FAIL, |
| 324 | + /* private: */ | |
| 300 | 325 | __OVS_VPORT_UPCALL_ATTR_MAX |
| 301 | 326 | }; |
| 302 | 327 | |
| @@ -431,6 +456,7 @@ enum ovs_frag_type { · 128 unmodified lines | ||
| 431 | 456 | OVS_FRAG_TYPE_NONE, |
| 432 | 457 | OVS_FRAG_TYPE_FIRST, |
| 433 | 458 | OVS_FRAG_TYPE_LATER, |
| 459 | + /* private: */ | |
| 434 | 460 | __OVS_FRAG_TYPE_MAX |
| 435 | 461 | }; |
| 436 | 462 | |
| @@ -604,6 +630,8 @@ struct ovs_nsh_key_md1 { · 167 unmodified lines | ||
| 604 | 630 | * a wildcarded match. Omitting attribute is treated as wildcarding all |
| 605 | 631 | * corresponding fields. Optional for all requests. If not present, |
| 606 | 632 | * all flow key bits are exact match bits. |
| 633 | + * @OVS_FLOW_ATTR_PROBE: Flow operation is a feature probe, error logging | |
| 634 | + * should be suppressed. | |
| 607 | 635 | * @OVS_FLOW_ATTR_UFID: A value between 1-16 octets specifying a unique |
| 608 | 636 | * identifier for the flow. Causes the flow to be indexed by this value rather |
| 609 | 637 | * than the value of the %OVS_FLOW_ATTR_KEY attribute. Optional for all |
| @@ -617,7 +645,9 @@ struct ovs_nsh_key_md1 { · 7 unmodified lines | ||
| 617 | 645 | * payload for %OVS_FLOW_* commands. |
| 618 | 646 | */ |
| 619 | 647 | enum ovs_flow_attr { |
| 648 | + /* private: */ | |
| 620 | 649 | OVS_FLOW_ATTR_UNSPEC, |
| 650 | + /* public: */ | |
| 621 | 651 | OVS_FLOW_ATTR_KEY, /* Sequence of OVS_KEY_ATTR_* attributes. */ |
| 622 | 652 | OVS_FLOW_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ |
| 623 | 653 | OVS_FLOW_ATTR_STATS, /* struct ovs_flow_stats. */ |
| @@ -629,13 +659,14 @@ enum ovs_flow_attr { · 5 unmodified lines | ||
| 629 | 659 | * logging should be suppressed. */ |
| 630 | 660 | OVS_FLOW_ATTR_UFID, /* Variable length unique flow identifier. */ |
| 631 | 661 | OVS_FLOW_ATTR_UFID_FLAGS,/* u32 of OVS_UFID_F_*. */ |
| 662 | + /* private: */ | |
| 632 | 663 | OVS_FLOW_ATTR_PAD, |
| 633 | 664 | __OVS_FLOW_ATTR_MAX |
| 634 | 665 | }; |
| 635 | 666 | |
| 636 | 667 | #define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1) |
| 637 | 668 | |
| 638 | −/** | |
| 669 | +/* | |
| 639 | 670 | * Omit attributes for notifications. |
| 640 | 671 | * |
| 641 | 672 | * If a datapath request contains an %OVS_UFID_F_OMIT_* flag, then the datapath |
| @@ -653,17 +684,23 @@ enum ovs_flow_attr { · 11 unmodified lines | ||
| 653 | 684 | * fractions of packets. |
| 654 | 685 | * @OVS_SAMPLE_ATTR_ACTIONS: Set of actions to execute in sampling event. |
| 655 | 686 | * Actions are passed as nested attributes. |
| 687 | + * @OVS_SAMPLE_ATTR_ARG: For in-kernel use, passing &struct sample_arg | |
| 688 | + * derived from other attributes. | |
| 656 | 689 | * |
| 657 | 690 | * Executes the specified actions with the given probability on a per-packet |
| 658 | 691 | * basis. Nested actions will be able to access the probability value of the |
| 659 | 692 | * parent @OVS_ACTION_ATTR_SAMPLE. |
| 660 | 693 | */ |
| 661 | 694 | enum ovs_sample_attr { |
| 695 | + /* private: */ | |
| 662 | 696 | OVS_SAMPLE_ATTR_UNSPEC, |
| 697 | + /* public: */ | |
| 663 | 698 | OVS_SAMPLE_ATTR_PROBABILITY, /* u32 number */ |
| 664 | 699 | OVS_SAMPLE_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */ |
| 700 | + /* private: */ | |
| 665 | 701 | __OVS_SAMPLE_ATTR_MAX, |
| 666 | 702 | |
| 703 | + /* public: */ | |
| 667 | 704 | #ifdef __KERNEL__ |
| 668 | 705 | OVS_SAMPLE_ATTR_ARG /* struct sample_arg */ |
| 669 | 706 | #endif |
| @@ -693,12 +730,15 @@ struct sample_arg { · 23 unmodified lines | ||
| 693 | 730 | * @OVS_USERSPACE_ATTR_ACTIONS: If present, send actions with upcall. |
| 694 | 731 | */ |
| 695 | 732 | enum ovs_userspace_attr { |
| 733 | + /* private: */ | |
| 696 | 734 | OVS_USERSPACE_ATTR_UNSPEC, |
| 735 | + /* public: */ | |
| 697 | 736 | OVS_USERSPACE_ATTR_PID, /* u32 Netlink PID to receive upcalls. */ |
| 698 | 737 | OVS_USERSPACE_ATTR_USERDATA, /* Optional user-specified cookie. */ |
| 699 | 738 | OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, /* Optional, u32 output port |
| 700 | 739 | * to get tunnel info. */ |
| 701 | 740 | OVS_USERSPACE_ATTR_ACTIONS, /* Optional flag to get actions. */ |
| 741 | + /* private: */ | |
| 702 | 742 | __OVS_USERSPACE_ATTR_MAX |
| 703 | 743 | }; |
| 704 | 744 | |
| @@ -819,7 +859,9 @@ struct ovs_action_hash { · 114 unmodified lines | ||
| 819 | 859 | * @OVS_CT_ATTR_TIMEOUT: Variable length string defining conntrack timeout. |
| 820 | 860 | */ |
| 821 | 861 | enum ovs_ct_attr { |
| 862 | + /* private: */ | |
| 822 | 863 | OVS_CT_ATTR_UNSPEC, |
| 864 | + /* public: */ | |
| 823 | 865 | OVS_CT_ATTR_COMMIT, /* No argument, commits connection. */ |
| 824 | 866 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ |
| 825 | 867 | OVS_CT_ATTR_MARK, /* mark to associate with this connection. */ |
| @@ -831,6 +873,7 @@ enum ovs_ct_attr { · 5 unmodified lines | ||
| 831 | 873 | OVS_CT_ATTR_EVENTMASK, /* u32 mask of IPCT_* events. */ |
| 832 | 874 | OVS_CT_ATTR_TIMEOUT, /* Associate timeout with this connection for |
| 833 | 875 | * fine-grain timeout tuning. */ |
| 876 | + /* private: */ | |
| 834 | 877 | __OVS_CT_ATTR_MAX |
| 835 | 878 | }; |
| 836 | 879 | |
| @@ -859,7 +902,9 @@ enum ovs_ct_attr { · 22 unmodified lines | ||
| 859 | 902 | * @OVS_NAT_ATTR_PROTO_RANDOM: Flag for fully randomized L4 port mapping |
| 860 | 903 | */ |
| 861 | 904 | enum ovs_nat_attr { |
| 905 | + /* private: */ | |
| 862 | 906 | OVS_NAT_ATTR_UNSPEC, |
| 907 | + /* public: */ | |
| 863 | 908 | OVS_NAT_ATTR_SRC, |
| 864 | 909 | OVS_NAT_ATTR_DST, |
| 865 | 910 | OVS_NAT_ATTR_IP_MIN, |
| @@ -869,38 +914,44 @@ enum ovs_nat_attr { · 3 unmodified lines | ||
| 869 | 914 | OVS_NAT_ATTR_PERSISTENT, |
| 870 | 915 | OVS_NAT_ATTR_PROTO_HASH, |
| 871 | 916 | OVS_NAT_ATTR_PROTO_RANDOM, |
| 917 | + /* private: */ | |
| 872 | 918 | __OVS_NAT_ATTR_MAX, |
| 873 | 919 | }; |
| 874 | 920 | |
| 875 | 921 | #define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1) |
| 876 | 922 | |
| 877 | −/* | |
| 923 | +/** | |
| 878 | 924 | * struct ovs_action_push_eth - %OVS_ACTION_ATTR_PUSH_ETH action argument. |
| 879 | 925 | * @addresses: Source and destination MAC addresses. |
| 880 | − * @eth_type: Ethernet type | |
| 881 | 926 | */ |
| 882 | 927 | struct ovs_action_push_eth { |
| 883 | 928 | struct ovs_key_ethernet addresses; |
| 884 | 929 | }; |
| 885 | 930 | |
| 886 | −/* | |
| 931 | +/** | |
| 887 | 932 | * enum ovs_check_pkt_len_attr - Attributes for %OVS_ACTION_ATTR_CHECK_PKT_LEN. |
| 888 | 933 | * |
| 889 | 934 | * @OVS_CHECK_PKT_LEN_ATTR_PKT_LEN: u16 Packet length to check for. |
| 890 | 935 | * @OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER: Nested OVS_ACTION_ATTR_* |
| 891 | 936 | * actions to apply if the packer length is greater than the specified |
| 892 | 937 | * length in the attr - OVS_CHECK_PKT_LEN_ATTR_PKT_LEN. |
| 893 | − * @OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL - Nested OVS_ACTION_ATTR_* | |
| 938 | + * @OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL: Nested OVS_ACTION_ATTR_* | |
| 894 | 939 | * actions to apply if the packer length is lesser or equal to the specified |
| 895 | 940 | * length in the attr - OVS_CHECK_PKT_LEN_ATTR_PKT_LEN. |
| 941 | + * @OVS_CHECK_PKT_LEN_ATTR_ARG: For in-kernel use, passing &struct | |
| 942 | + * check_pkt_len_arg derived from other attributes. | |
| 896 | 943 | */ |
| 897 | 944 | enum ovs_check_pkt_len_attr { |
| 945 | + /* private: */ | |
| 898 | 946 | OVS_CHECK_PKT_LEN_ATTR_UNSPEC, |
| 947 | + /* public: */ | |
| 899 | 948 | OVS_CHECK_PKT_LEN_ATTR_PKT_LEN, |
| 900 | 949 | OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_GREATER, |
| 901 | 950 | OVS_CHECK_PKT_LEN_ATTR_ACTIONS_IF_LESS_EQUAL, |
| 951 | + /* private: */ | |
| 902 | 952 | __OVS_CHECK_PKT_LEN_ATTR_MAX, |
| 903 | 953 | |
| 954 | + /* public: */ | |
| 904 | 955 | #ifdef __KERNEL__ |
| 905 | 956 | OVS_CHECK_PKT_LEN_ATTR_ARG /* struct check_pkt_len_arg */ |
| 906 | 957 | #endif |
| @@ -968,6 +1019,9 @@ enum ovs_psample_attr { · 61 unmodified lines | ||
| 968 | 1019 | * from the packet. |
| 969 | 1020 | * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in |
| 970 | 1021 | * the nested %OVS_SAMPLE_ATTR_* attributes. |
| 1022 | + * @OVS_ACTION_ATTR_RECIRC: Recirculate the clone of the packet through the | |
| 1023 | + * datapath with the new id (u32 recirc_id). | |
| 1024 | + * @OVS_ACTION_ATTR_HASH: Compute the packet hash, using &struct ovs_action_hash. | |
| 971 | 1025 | * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the |
| 972 | 1026 | * top of the packets MPLS label stack. Set the ethertype of the |
| 973 | 1027 | * encapsulating frame to either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC to |
| @@ -997,6 +1051,8 @@ enum ovs_psample_attr { · 23 unmodified lines | ||
| 997 | 1051 | * start of the packet or at the start of the l3 header depending on the value |
| 998 | 1052 | * of l3 tunnel flag in the tun_flags field of OVS_ACTION_ATTR_ADD_MPLS |
| 999 | 1053 | * argument. |
| 1054 | + * @OVS_ACTION_ATTR_DEC_TTL: Decrement TTL or hop limit of the packet. Execute | |
| 1055 | + * nested %OVS_DEC_TTL_ATTR_* actions if the value is less or equal to 1. | |
| 1000 | 1056 | * @OVS_ACTION_ATTR_DROP: Explicit drop action. |
| 1001 | 1057 | * @OVS_ACTION_ATTR_PSAMPLE: Send a sample of the packet to external observers |
| 1002 | 1058 | * via psample. |
| @@ -1010,7 +1066,9 @@ enum ovs_psample_attr { · 7 unmodified lines | ||
| 1010 | 1066 | */ |
| 1011 | 1067 | |
| 1012 | 1068 | enum ovs_action_attr { |
| 1069 | + /* private: */ | |
| 1013 | 1070 | OVS_ACTION_ATTR_UNSPEC, |
| 1071 | + /* public: */ | |
| 1014 | 1072 | OVS_ACTION_ATTR_OUTPUT, /* u32 port number. */ |
| 1015 | 1073 | OVS_ACTION_ATTR_USERSPACE, /* Nested OVS_USERSPACE_ATTR_*. */ |
| 1016 | 1074 | OVS_ACTION_ATTR_SET, /* One nested OVS_KEY_ATTR_*. */ |
| @@ -1040,9 +1098,11 @@ enum ovs_action_attr { · 23 unmodified lines | ||
| 1040 | 1098 | OVS_ACTION_ATTR_DROP, /* u32 error code. */ |
| 1041 | 1099 | OVS_ACTION_ATTR_PSAMPLE, /* Nested OVS_PSAMPLE_ATTR_*. */ |
| 1042 | 1100 | |
| 1101 | + /* private: */ | |
| 1043 | 1102 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted |
| 1044 | 1103 | * from userspace. */ |
| 1045 | 1104 | |
| 1105 | + /* public: */ | |
| 1046 | 1106 | #ifdef __KERNEL__ |
| 1047 | 1107 | OVS_ACTION_ATTR_SET_TO_MASKED, /* Kernel module internal masked |
| 1048 | 1108 | * set action converted from |
| @@ -55,6 +55,7 @@ enum { · 54 unmodified lines | ||
| 55 | 55 | OVPN_A_PEER_LINK_TX_BYTES, |
| 56 | 56 | OVPN_A_PEER_LINK_RX_PACKETS, |
| 57 | 57 | OVPN_A_PEER_LINK_TX_PACKETS, |
| 58 | + OVPN_A_PEER_TX_ID, | |
| 58 | 59 | |
| 59 | 60 | __OVPN_A_PEER_MAX, |
| 60 | 61 | OVPN_A_PEER_MAX = (__OVPN_A_PEER_MAX - 1) |
| @@ -100,6 +101,7 @@ enum { · 39 unmodified lines | ||
| 100 | 101 | OVPN_CMD_KEY_SWAP, |
| 101 | 102 | OVPN_CMD_KEY_SWAP_NTF, |
| 102 | 103 | OVPN_CMD_KEY_DEL, |
| 104 | + OVPN_CMD_PEER_FLOAT_NTF, | |
| 103 | 105 | |
| 104 | 106 | __OVPN_CMD_MAX, |
| 105 | 107 | OVPN_CMD_MAX = (__OVPN_CMD_MAX - 1) |
| @@ -20,6 +20,7 @@ · 19 unmodified lines | ||
| 20 | 20 | enum { |
| 21 | 21 | SEG6_IPTUNNEL_UNSPEC, |
| 22 | 22 | SEG6_IPTUNNEL_SRH, |
| 23 | + SEG6_IPTUNNEL_SRC, /* struct in6_addr */ | |
| 23 | 24 | __SEG6_IPTUNNEL_MAX, |
| 24 | 25 | }; |
| 25 | 26 | #define SEG6_IPTUNNEL_MAX (__SEG6_IPTUNNEL_MAX - 1) |
| @@ -29,6 +29,8 @@ struct udphdr { · 28 unmodified lines | ||
| 29 | 29 | |
| 30 | 30 | /* UDP socket options */ |
| 31 | 31 | #define UDP_CORK 1 /* Never send partially complete segments */ |
| 32 | +/* Deprecated, reserved for UDPLITE_SEND_CSCOV 10 */ | |
| 33 | +/* Deprecated, reserved for UDPLITE_RECV_CSCOV 11 */ | |
| 32 | 34 | #define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */ |
| 33 | 35 | #define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */ |
| 34 | 36 | #define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP6 */ |