.. | .. |
---|
7 | 7 | |
---|
8 | 8 | /* This struct should be in sync with struct rtnl_link_stats64 */ |
---|
9 | 9 | struct rtnl_link_stats { |
---|
10 | | - __u32 rx_packets; /* total packets received */ |
---|
11 | | - __u32 tx_packets; /* total packets transmitted */ |
---|
12 | | - __u32 rx_bytes; /* total bytes received */ |
---|
13 | | - __u32 tx_bytes; /* total bytes transmitted */ |
---|
14 | | - __u32 rx_errors; /* bad packets received */ |
---|
15 | | - __u32 tx_errors; /* packet transmit problems */ |
---|
16 | | - __u32 rx_dropped; /* no space in linux buffers */ |
---|
17 | | - __u32 tx_dropped; /* no space available in linux */ |
---|
18 | | - __u32 multicast; /* multicast packets received */ |
---|
| 10 | + __u32 rx_packets; |
---|
| 11 | + __u32 tx_packets; |
---|
| 12 | + __u32 rx_bytes; |
---|
| 13 | + __u32 tx_bytes; |
---|
| 14 | + __u32 rx_errors; |
---|
| 15 | + __u32 tx_errors; |
---|
| 16 | + __u32 rx_dropped; |
---|
| 17 | + __u32 tx_dropped; |
---|
| 18 | + __u32 multicast; |
---|
19 | 19 | __u32 collisions; |
---|
20 | | - |
---|
21 | 20 | /* detailed rx_errors: */ |
---|
22 | 21 | __u32 rx_length_errors; |
---|
23 | | - __u32 rx_over_errors; /* receiver ring buff overflow */ |
---|
24 | | - __u32 rx_crc_errors; /* recved pkt with crc error */ |
---|
25 | | - __u32 rx_frame_errors; /* recv'd frame alignment error */ |
---|
26 | | - __u32 rx_fifo_errors; /* recv'r fifo overrun */ |
---|
27 | | - __u32 rx_missed_errors; /* receiver missed packet */ |
---|
| 22 | + __u32 rx_over_errors; |
---|
| 23 | + __u32 rx_crc_errors; |
---|
| 24 | + __u32 rx_frame_errors; |
---|
| 25 | + __u32 rx_fifo_errors; |
---|
| 26 | + __u32 rx_missed_errors; |
---|
28 | 27 | |
---|
29 | 28 | /* detailed tx_errors */ |
---|
30 | 29 | __u32 tx_aborted_errors; |
---|
.. | .. |
---|
37 | 36 | __u32 rx_compressed; |
---|
38 | 37 | __u32 tx_compressed; |
---|
39 | 38 | |
---|
40 | | - __u32 rx_nohandler; /* dropped, no handler found */ |
---|
| 39 | + __u32 rx_nohandler; |
---|
41 | 40 | }; |
---|
42 | 41 | |
---|
43 | | -/* The main device statistics structure */ |
---|
| 42 | +/** |
---|
| 43 | + * struct rtnl_link_stats64 - The main device statistics structure. |
---|
| 44 | + * |
---|
| 45 | + * @rx_packets: Number of good packets received by the interface. |
---|
| 46 | + * For hardware interfaces counts all good packets received from the device |
---|
| 47 | + * by the host, including packets which host had to drop at various stages |
---|
| 48 | + * of processing (even in the driver). |
---|
| 49 | + * |
---|
| 50 | + * @tx_packets: Number of packets successfully transmitted. |
---|
| 51 | + * For hardware interfaces counts packets which host was able to successfully |
---|
| 52 | + * hand over to the device, which does not necessarily mean that packets |
---|
| 53 | + * had been successfully transmitted out of the device, only that device |
---|
| 54 | + * acknowledged it copied them out of host memory. |
---|
| 55 | + * |
---|
| 56 | + * @rx_bytes: Number of good received bytes, corresponding to @rx_packets. |
---|
| 57 | + * |
---|
| 58 | + * For IEEE 802.3 devices should count the length of Ethernet Frames |
---|
| 59 | + * excluding the FCS. |
---|
| 60 | + * |
---|
| 61 | + * @tx_bytes: Number of good transmitted bytes, corresponding to @tx_packets. |
---|
| 62 | + * |
---|
| 63 | + * For IEEE 802.3 devices should count the length of Ethernet Frames |
---|
| 64 | + * excluding the FCS. |
---|
| 65 | + * |
---|
| 66 | + * @rx_errors: Total number of bad packets received on this network device. |
---|
| 67 | + * This counter must include events counted by @rx_length_errors, |
---|
| 68 | + * @rx_crc_errors, @rx_frame_errors and other errors not otherwise |
---|
| 69 | + * counted. |
---|
| 70 | + * |
---|
| 71 | + * @tx_errors: Total number of transmit problems. |
---|
| 72 | + * This counter must include events counter by @tx_aborted_errors, |
---|
| 73 | + * @tx_carrier_errors, @tx_fifo_errors, @tx_heartbeat_errors, |
---|
| 74 | + * @tx_window_errors and other errors not otherwise counted. |
---|
| 75 | + * |
---|
| 76 | + * @rx_dropped: Number of packets received but not processed, |
---|
| 77 | + * e.g. due to lack of resources or unsupported protocol. |
---|
| 78 | + * For hardware interfaces this counter should not include packets |
---|
| 79 | + * dropped by the device which are counted separately in |
---|
| 80 | + * @rx_missed_errors (since procfs folds those two counters together). |
---|
| 81 | + * |
---|
| 82 | + * @tx_dropped: Number of packets dropped on their way to transmission, |
---|
| 83 | + * e.g. due to lack of resources. |
---|
| 84 | + * |
---|
| 85 | + * @multicast: Multicast packets received. |
---|
| 86 | + * For hardware interfaces this statistic is commonly calculated |
---|
| 87 | + * at the device level (unlike @rx_packets) and therefore may include |
---|
| 88 | + * packets which did not reach the host. |
---|
| 89 | + * |
---|
| 90 | + * For IEEE 802.3 devices this counter may be equivalent to: |
---|
| 91 | + * |
---|
| 92 | + * - 30.3.1.1.21 aMulticastFramesReceivedOK |
---|
| 93 | + * |
---|
| 94 | + * @collisions: Number of collisions during packet transmissions. |
---|
| 95 | + * |
---|
| 96 | + * @rx_length_errors: Number of packets dropped due to invalid length. |
---|
| 97 | + * Part of aggregate "frame" errors in `/proc/net/dev`. |
---|
| 98 | + * |
---|
| 99 | + * For IEEE 802.3 devices this counter should be equivalent to a sum |
---|
| 100 | + * of the following attributes: |
---|
| 101 | + * |
---|
| 102 | + * - 30.3.1.1.23 aInRangeLengthErrors |
---|
| 103 | + * - 30.3.1.1.24 aOutOfRangeLengthField |
---|
| 104 | + * - 30.3.1.1.25 aFrameTooLongErrors |
---|
| 105 | + * |
---|
| 106 | + * @rx_over_errors: Receiver FIFO overflow event counter. |
---|
| 107 | + * |
---|
| 108 | + * Historically the count of overflow events. Such events may be |
---|
| 109 | + * reported in the receive descriptors or via interrupts, and may |
---|
| 110 | + * not correspond one-to-one with dropped packets. |
---|
| 111 | + * |
---|
| 112 | + * The recommended interpretation for high speed interfaces is - |
---|
| 113 | + * number of packets dropped because they did not fit into buffers |
---|
| 114 | + * provided by the host, e.g. packets larger than MTU or next buffer |
---|
| 115 | + * in the ring was not available for a scatter transfer. |
---|
| 116 | + * |
---|
| 117 | + * Part of aggregate "frame" errors in `/proc/net/dev`. |
---|
| 118 | + * |
---|
| 119 | + * This statistics was historically used interchangeably with |
---|
| 120 | + * @rx_fifo_errors. |
---|
| 121 | + * |
---|
| 122 | + * This statistic corresponds to hardware events and is not commonly used |
---|
| 123 | + * on software devices. |
---|
| 124 | + * |
---|
| 125 | + * @rx_crc_errors: Number of packets received with a CRC error. |
---|
| 126 | + * Part of aggregate "frame" errors in `/proc/net/dev`. |
---|
| 127 | + * |
---|
| 128 | + * For IEEE 802.3 devices this counter must be equivalent to: |
---|
| 129 | + * |
---|
| 130 | + * - 30.3.1.1.6 aFrameCheckSequenceErrors |
---|
| 131 | + * |
---|
| 132 | + * @rx_frame_errors: Receiver frame alignment errors. |
---|
| 133 | + * Part of aggregate "frame" errors in `/proc/net/dev`. |
---|
| 134 | + * |
---|
| 135 | + * For IEEE 802.3 devices this counter should be equivalent to: |
---|
| 136 | + * |
---|
| 137 | + * - 30.3.1.1.7 aAlignmentErrors |
---|
| 138 | + * |
---|
| 139 | + * @rx_fifo_errors: Receiver FIFO error counter. |
---|
| 140 | + * |
---|
| 141 | + * Historically the count of overflow events. Those events may be |
---|
| 142 | + * reported in the receive descriptors or via interrupts, and may |
---|
| 143 | + * not correspond one-to-one with dropped packets. |
---|
| 144 | + * |
---|
| 145 | + * This statistics was used interchangeably with @rx_over_errors. |
---|
| 146 | + * Not recommended for use in drivers for high speed interfaces. |
---|
| 147 | + * |
---|
| 148 | + * This statistic is used on software devices, e.g. to count software |
---|
| 149 | + * packet queue overflow (can) or sequencing errors (GRE). |
---|
| 150 | + * |
---|
| 151 | + * @rx_missed_errors: Count of packets missed by the host. |
---|
| 152 | + * Folded into the "drop" counter in `/proc/net/dev`. |
---|
| 153 | + * |
---|
| 154 | + * Counts number of packets dropped by the device due to lack |
---|
| 155 | + * of buffer space. This usually indicates that the host interface |
---|
| 156 | + * is slower than the network interface, or host is not keeping up |
---|
| 157 | + * with the receive packet rate. |
---|
| 158 | + * |
---|
| 159 | + * This statistic corresponds to hardware events and is not used |
---|
| 160 | + * on software devices. |
---|
| 161 | + * |
---|
| 162 | + * @tx_aborted_errors: |
---|
| 163 | + * Part of aggregate "carrier" errors in `/proc/net/dev`. |
---|
| 164 | + * For IEEE 802.3 devices capable of half-duplex operation this counter |
---|
| 165 | + * must be equivalent to: |
---|
| 166 | + * |
---|
| 167 | + * - 30.3.1.1.11 aFramesAbortedDueToXSColls |
---|
| 168 | + * |
---|
| 169 | + * High speed interfaces may use this counter as a general device |
---|
| 170 | + * discard counter. |
---|
| 171 | + * |
---|
| 172 | + * @tx_carrier_errors: Number of frame transmission errors due to loss |
---|
| 173 | + * of carrier during transmission. |
---|
| 174 | + * Part of aggregate "carrier" errors in `/proc/net/dev`. |
---|
| 175 | + * |
---|
| 176 | + * For IEEE 802.3 devices this counter must be equivalent to: |
---|
| 177 | + * |
---|
| 178 | + * - 30.3.1.1.13 aCarrierSenseErrors |
---|
| 179 | + * |
---|
| 180 | + * @tx_fifo_errors: Number of frame transmission errors due to device |
---|
| 181 | + * FIFO underrun / underflow. This condition occurs when the device |
---|
| 182 | + * begins transmission of a frame but is unable to deliver the |
---|
| 183 | + * entire frame to the transmitter in time for transmission. |
---|
| 184 | + * Part of aggregate "carrier" errors in `/proc/net/dev`. |
---|
| 185 | + * |
---|
| 186 | + * @tx_heartbeat_errors: Number of Heartbeat / SQE Test errors for |
---|
| 187 | + * old half-duplex Ethernet. |
---|
| 188 | + * Part of aggregate "carrier" errors in `/proc/net/dev`. |
---|
| 189 | + * |
---|
| 190 | + * For IEEE 802.3 devices possibly equivalent to: |
---|
| 191 | + * |
---|
| 192 | + * - 30.3.2.1.4 aSQETestErrors |
---|
| 193 | + * |
---|
| 194 | + * @tx_window_errors: Number of frame transmission errors due |
---|
| 195 | + * to late collisions (for Ethernet - after the first 64B of transmission). |
---|
| 196 | + * Part of aggregate "carrier" errors in `/proc/net/dev`. |
---|
| 197 | + * |
---|
| 198 | + * For IEEE 802.3 devices this counter must be equivalent to: |
---|
| 199 | + * |
---|
| 200 | + * - 30.3.1.1.10 aLateCollisions |
---|
| 201 | + * |
---|
| 202 | + * @rx_compressed: Number of correctly received compressed packets. |
---|
| 203 | + * This counters is only meaningful for interfaces which support |
---|
| 204 | + * packet compression (e.g. CSLIP, PPP). |
---|
| 205 | + * |
---|
| 206 | + * @tx_compressed: Number of transmitted compressed packets. |
---|
| 207 | + * This counters is only meaningful for interfaces which support |
---|
| 208 | + * packet compression (e.g. CSLIP, PPP). |
---|
| 209 | + * |
---|
| 210 | + * @rx_nohandler: Number of packets received on the interface |
---|
| 211 | + * but dropped by the networking stack because the device is |
---|
| 212 | + * not designated to receive packets (e.g. backup link in a bond). |
---|
| 213 | + */ |
---|
44 | 214 | struct rtnl_link_stats64 { |
---|
45 | | - __u64 rx_packets; /* total packets received */ |
---|
46 | | - __u64 tx_packets; /* total packets transmitted */ |
---|
47 | | - __u64 rx_bytes; /* total bytes received */ |
---|
48 | | - __u64 tx_bytes; /* total bytes transmitted */ |
---|
49 | | - __u64 rx_errors; /* bad packets received */ |
---|
50 | | - __u64 tx_errors; /* packet transmit problems */ |
---|
51 | | - __u64 rx_dropped; /* no space in linux buffers */ |
---|
52 | | - __u64 tx_dropped; /* no space available in linux */ |
---|
53 | | - __u64 multicast; /* multicast packets received */ |
---|
| 215 | + __u64 rx_packets; |
---|
| 216 | + __u64 tx_packets; |
---|
| 217 | + __u64 rx_bytes; |
---|
| 218 | + __u64 tx_bytes; |
---|
| 219 | + __u64 rx_errors; |
---|
| 220 | + __u64 tx_errors; |
---|
| 221 | + __u64 rx_dropped; |
---|
| 222 | + __u64 tx_dropped; |
---|
| 223 | + __u64 multicast; |
---|
54 | 224 | __u64 collisions; |
---|
55 | 225 | |
---|
56 | 226 | /* detailed rx_errors: */ |
---|
57 | 227 | __u64 rx_length_errors; |
---|
58 | | - __u64 rx_over_errors; /* receiver ring buff overflow */ |
---|
59 | | - __u64 rx_crc_errors; /* recved pkt with crc error */ |
---|
60 | | - __u64 rx_frame_errors; /* recv'd frame alignment error */ |
---|
61 | | - __u64 rx_fifo_errors; /* recv'r fifo overrun */ |
---|
62 | | - __u64 rx_missed_errors; /* receiver missed packet */ |
---|
| 228 | + __u64 rx_over_errors; |
---|
| 229 | + __u64 rx_crc_errors; |
---|
| 230 | + __u64 rx_frame_errors; |
---|
| 231 | + __u64 rx_fifo_errors; |
---|
| 232 | + __u64 rx_missed_errors; |
---|
63 | 233 | |
---|
64 | 234 | /* detailed tx_errors */ |
---|
65 | 235 | __u64 tx_aborted_errors; |
---|
.. | .. |
---|
71 | 241 | /* for cslip etc */ |
---|
72 | 242 | __u64 rx_compressed; |
---|
73 | 243 | __u64 tx_compressed; |
---|
74 | | - |
---|
75 | | - __u64 rx_nohandler; /* dropped, no handler found */ |
---|
| 244 | + __u64 rx_nohandler; |
---|
76 | 245 | }; |
---|
77 | 246 | |
---|
78 | 247 | /* The struct should be in sync with struct ifmap */ |
---|
.. | .. |
---|
161 | 330 | IFLA_EVENT, |
---|
162 | 331 | IFLA_NEW_NETNSID, |
---|
163 | 332 | IFLA_IF_NETNSID, |
---|
| 333 | + IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, /* new alias */ |
---|
164 | 334 | IFLA_CARRIER_UP_COUNT, |
---|
165 | 335 | IFLA_CARRIER_DOWN_COUNT, |
---|
166 | 336 | IFLA_NEW_IFINDEX, |
---|
167 | 337 | IFLA_MIN_MTU, |
---|
168 | 338 | IFLA_MAX_MTU, |
---|
| 339 | + IFLA_PROP_LIST, |
---|
| 340 | + IFLA_ALT_IFNAME, /* Alternative ifname */ |
---|
| 341 | + IFLA_PERM_ADDRESS, |
---|
| 342 | + IFLA_PROTO_DOWN_REASON, |
---|
169 | 343 | __IFLA_MAX |
---|
170 | 344 | }; |
---|
171 | 345 | |
---|
172 | 346 | |
---|
173 | 347 | #define IFLA_MAX (__IFLA_MAX - 1) |
---|
| 348 | + |
---|
| 349 | +enum { |
---|
| 350 | + IFLA_PROTO_DOWN_REASON_UNSPEC, |
---|
| 351 | + IFLA_PROTO_DOWN_REASON_MASK, /* u32, mask for reason bits */ |
---|
| 352 | + IFLA_PROTO_DOWN_REASON_VALUE, /* u32, reason bit value */ |
---|
| 353 | + |
---|
| 354 | + __IFLA_PROTO_DOWN_REASON_CNT, |
---|
| 355 | + IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1 |
---|
| 356 | +}; |
---|
174 | 357 | |
---|
175 | 358 | /* backwards compatibility for userspace */ |
---|
176 | 359 | #ifndef __KERNEL__ |
---|
.. | .. |
---|
286 | 469 | IFLA_BR_MCAST_STATS_ENABLED, |
---|
287 | 470 | IFLA_BR_MCAST_IGMP_VERSION, |
---|
288 | 471 | IFLA_BR_MCAST_MLD_VERSION, |
---|
| 472 | + IFLA_BR_VLAN_STATS_PER_PORT, |
---|
| 473 | + IFLA_BR_MULTI_BOOLOPT, |
---|
289 | 474 | __IFLA_BR_MAX, |
---|
290 | 475 | }; |
---|
291 | 476 | |
---|
.. | .. |
---|
337 | 522 | IFLA_BRPORT_NEIGH_SUPPRESS, |
---|
338 | 523 | IFLA_BRPORT_ISOLATED, |
---|
339 | 524 | IFLA_BRPORT_BACKUP_PORT, |
---|
| 525 | + IFLA_BRPORT_MRP_RING_OPEN, |
---|
| 526 | + IFLA_BRPORT_MRP_IN_OPEN, |
---|
340 | 527 | __IFLA_BRPORT_MAX |
---|
341 | 528 | }; |
---|
342 | 529 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
---|
.. | .. |
---|
457 | 644 | IFLA_MACSEC_REPLAY_PROTECT, |
---|
458 | 645 | IFLA_MACSEC_VALIDATION, |
---|
459 | 646 | IFLA_MACSEC_PAD, |
---|
| 647 | + IFLA_MACSEC_OFFLOAD, |
---|
460 | 648 | __IFLA_MACSEC_MAX, |
---|
461 | 649 | }; |
---|
462 | 650 | |
---|
.. | .. |
---|
478 | 666 | MACSEC_VALIDATE_STRICT = 2, |
---|
479 | 667 | __MACSEC_VALIDATE_END, |
---|
480 | 668 | MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, |
---|
| 669 | +}; |
---|
| 670 | + |
---|
| 671 | +enum macsec_offload { |
---|
| 672 | + MACSEC_OFFLOAD_OFF = 0, |
---|
| 673 | + MACSEC_OFFLOAD_PHY = 1, |
---|
| 674 | + MACSEC_OFFLOAD_MAC = 2, |
---|
| 675 | + __MACSEC_OFFLOAD_END, |
---|
| 676 | + MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1, |
---|
481 | 677 | }; |
---|
482 | 678 | |
---|
483 | 679 | /* IPVLAN section */ |
---|
.. | .. |
---|
531 | 727 | IFLA_VXLAN_LABEL, |
---|
532 | 728 | IFLA_VXLAN_GPE, |
---|
533 | 729 | IFLA_VXLAN_TTL_INHERIT, |
---|
| 730 | + IFLA_VXLAN_DF, |
---|
534 | 731 | __IFLA_VXLAN_MAX |
---|
535 | 732 | }; |
---|
536 | 733 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
---|
.. | .. |
---|
538 | 735 | struct ifla_vxlan_port_range { |
---|
539 | 736 | __be16 low; |
---|
540 | 737 | __be16 high; |
---|
| 738 | +}; |
---|
| 739 | + |
---|
| 740 | +enum ifla_vxlan_df { |
---|
| 741 | + VXLAN_DF_UNSET = 0, |
---|
| 742 | + VXLAN_DF_SET, |
---|
| 743 | + VXLAN_DF_INHERIT, |
---|
| 744 | + __VXLAN_DF_END, |
---|
| 745 | + VXLAN_DF_MAX = __VXLAN_DF_END - 1, |
---|
541 | 746 | }; |
---|
542 | 747 | |
---|
543 | 748 | /* GENEVE section */ |
---|
.. | .. |
---|
554 | 759 | IFLA_GENEVE_UDP_ZERO_CSUM6_TX, |
---|
555 | 760 | IFLA_GENEVE_UDP_ZERO_CSUM6_RX, |
---|
556 | 761 | IFLA_GENEVE_LABEL, |
---|
| 762 | + IFLA_GENEVE_TTL_INHERIT, |
---|
| 763 | + IFLA_GENEVE_DF, |
---|
557 | 764 | __IFLA_GENEVE_MAX |
---|
558 | 765 | }; |
---|
559 | 766 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) |
---|
| 767 | + |
---|
| 768 | +enum ifla_geneve_df { |
---|
| 769 | + GENEVE_DF_UNSET = 0, |
---|
| 770 | + GENEVE_DF_SET, |
---|
| 771 | + GENEVE_DF_INHERIT, |
---|
| 772 | + __GENEVE_DF_END, |
---|
| 773 | + GENEVE_DF_MAX = __GENEVE_DF_END - 1, |
---|
| 774 | +}; |
---|
| 775 | + |
---|
| 776 | +/* Bareudp section */ |
---|
| 777 | +enum { |
---|
| 778 | + IFLA_BAREUDP_UNSPEC, |
---|
| 779 | + IFLA_BAREUDP_PORT, |
---|
| 780 | + IFLA_BAREUDP_ETHERTYPE, |
---|
| 781 | + IFLA_BAREUDP_SRCPORT_MIN, |
---|
| 782 | + IFLA_BAREUDP_MULTIPROTO_MODE, |
---|
| 783 | + __IFLA_BAREUDP_MAX |
---|
| 784 | +}; |
---|
| 785 | + |
---|
| 786 | +#define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1) |
---|
560 | 787 | |
---|
561 | 788 | /* PPP section */ |
---|
562 | 789 | enum { |
---|
.. | .. |
---|
614 | 841 | IFLA_BOND_AD_USER_PORT_KEY, |
---|
615 | 842 | IFLA_BOND_AD_ACTOR_SYSTEM, |
---|
616 | 843 | IFLA_BOND_TLB_DYNAMIC_LB, |
---|
| 844 | + IFLA_BOND_PEER_NOTIF_DELAY, |
---|
617 | 845 | __IFLA_BOND_MAX, |
---|
618 | 846 | }; |
---|
619 | 847 | |
---|
.. | .. |
---|
672 | 900 | IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */ |
---|
673 | 901 | IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */ |
---|
674 | 902 | IFLA_VF_VLAN_LIST, /* nested list of vlans, option for QinQ */ |
---|
| 903 | + IFLA_VF_BROADCAST, /* VF broadcast */ |
---|
675 | 904 | __IFLA_VF_MAX, |
---|
676 | 905 | }; |
---|
677 | 906 | |
---|
.. | .. |
---|
680 | 909 | struct ifla_vf_mac { |
---|
681 | 910 | __u32 vf; |
---|
682 | 911 | __u8 mac[32]; /* MAX_ADDR_LEN */ |
---|
| 912 | +}; |
---|
| 913 | + |
---|
| 914 | +struct ifla_vf_broadcast { |
---|
| 915 | + __u8 broadcast[32]; |
---|
683 | 916 | }; |
---|
684 | 917 | |
---|
685 | 918 | struct ifla_vf_vlan { |
---|
.. | .. |
---|
853 | 1086 | #define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) |
---|
854 | 1087 | |
---|
855 | 1088 | |
---|
856 | | -/* HSR section */ |
---|
| 1089 | +/* HSR/PRP section, both uses same interface */ |
---|
| 1090 | + |
---|
| 1091 | +/* Different redundancy protocols for hsr device */ |
---|
| 1092 | +enum { |
---|
| 1093 | + HSR_PROTOCOL_HSR, |
---|
| 1094 | + HSR_PROTOCOL_PRP, |
---|
| 1095 | + HSR_PROTOCOL_MAX, |
---|
| 1096 | +}; |
---|
857 | 1097 | |
---|
858 | 1098 | enum { |
---|
859 | 1099 | IFLA_HSR_UNSPEC, |
---|
.. | .. |
---|
863 | 1103 | IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */ |
---|
864 | 1104 | IFLA_HSR_SEQ_NR, |
---|
865 | 1105 | IFLA_HSR_VERSION, /* HSR version */ |
---|
| 1106 | + IFLA_HSR_PROTOCOL, /* Indicate different protocol than |
---|
| 1107 | + * HSR. For example PRP. |
---|
| 1108 | + */ |
---|
866 | 1109 | __IFLA_HSR_MAX, |
---|
867 | 1110 | }; |
---|
868 | 1111 | |
---|
.. | .. |
---|
903 | 1146 | enum { |
---|
904 | 1147 | LINK_XSTATS_TYPE_UNSPEC, |
---|
905 | 1148 | LINK_XSTATS_TYPE_BRIDGE, |
---|
| 1149 | + LINK_XSTATS_TYPE_BOND, |
---|
906 | 1150 | __LINK_XSTATS_TYPE_MAX |
---|
907 | 1151 | }; |
---|
908 | 1152 | #define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) |
---|
.. | .. |
---|
921 | 1165 | #define XDP_FLAGS_SKB_MODE (1U << 1) |
---|
922 | 1166 | #define XDP_FLAGS_DRV_MODE (1U << 2) |
---|
923 | 1167 | #define XDP_FLAGS_HW_MODE (1U << 3) |
---|
| 1168 | +#define XDP_FLAGS_REPLACE (1U << 4) |
---|
924 | 1169 | #define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \ |
---|
925 | 1170 | XDP_FLAGS_DRV_MODE | \ |
---|
926 | 1171 | XDP_FLAGS_HW_MODE) |
---|
927 | 1172 | #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \ |
---|
928 | | - XDP_FLAGS_MODES) |
---|
| 1173 | + XDP_FLAGS_MODES | XDP_FLAGS_REPLACE) |
---|
929 | 1174 | |
---|
930 | 1175 | /* These are stored into IFLA_XDP_ATTACHED on dump. */ |
---|
931 | 1176 | enum { |
---|
.. | .. |
---|
945 | 1190 | IFLA_XDP_DRV_PROG_ID, |
---|
946 | 1191 | IFLA_XDP_SKB_PROG_ID, |
---|
947 | 1192 | IFLA_XDP_HW_PROG_ID, |
---|
| 1193 | + IFLA_XDP_EXPECTED_FD, |
---|
948 | 1194 | __IFLA_XDP_MAX, |
---|
949 | 1195 | }; |
---|
950 | 1196 | |
---|