]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/basic/missing.h
networkd: add support to configure ip rule port range and protocol.
[thirdparty/systemd.git] / src / basic / missing.h
index d1003117934bf2d9a6e9abdf98780a18b499a7c1..99a463b7b6e305edd680f8c4534c3fc12f785825 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/audit.h>
 #include <linux/capability.h>
 #include <linux/falloc.h>
+#include <linux/fib_rules.h>
 #include <linux/if_link.h>
 #include <linux/input.h>
 #include <linux/loop.h>
@@ -988,7 +989,7 @@ struct input_mask {
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
 #endif
 
-#if !HAVE_FRA_UID_RANGE
+#if !HAVE_FRA_DPORT_RANGE
 #define FRA_UNSPEC 0
 #define FRA_DST 1
 #define FRA_SRC 2
@@ -1010,7 +1011,11 @@ struct input_mask {
 #define FRA_PAD 18
 #define FRA_L3MDEV 19
 #define FRA_UID_RANGE 20
-#define __FRA_MAX 12
+#define FRA_PROTOCOL 21
+#define FRA_IP_PROTO 22
+#define FRA_SPORT_RANGE 23
+#define FRA_DPORT_RANGE 24
+#define __FRA_MAX 25
 
 #define FRA_MAX (__FRA_MAX - 1)
 #endif
@@ -1302,38 +1307,20 @@ typedef int32_t key_serial_t;
 #define IFA_F_MCAUTOJOIN 0x400
 #endif
 
-#if ! HAVE_STRUCT_ETHTOOL_LINK_SETTINGS
-
-#define ETHTOOL_GLINKSETTINGS   0x0000004c /* Get ethtool_link_settings */
-#define ETHTOOL_SLINKSETTINGS   0x0000004d /* Set ethtool_link_settings */
+#if ! HAVE_STRUCT_FIB_RULE_UID_RANGE
 
-struct ethtool_link_settings {
-        __u32   cmd;
-        __u32   speed;
-        __u8    duplex;
-        __u8    port;
-        __u8    phy_address;
-        __u8    autoneg;
-        __u8    mdio_support;
-        __u8    eth_tp_mdix;
-        __u8    eth_tp_mdix_ctrl;
-        __s8    link_mode_masks_nwords;
-        __u32   reserved[8];
-        __u32   link_mode_masks[0];
-        /* layout of link_mode_masks fields:
-         * __u32 map_supported[link_mode_masks_nwords];
-         * __u32 map_advertising[link_mode_masks_nwords];
-         * __u32 map_lp_advertising[link_mode_masks_nwords];
-         */
+struct fib_rule_uid_range {
+        __u32 start;
+        __u32 end;
 };
 
 #endif
 
-#if ! HAVE_STRUCT_FIB_RULE_UID_RANGE
+#if ! HAVE_STRUCT_FIB_RULE_PORT_RANGE
 
-struct fib_rule_uid_range {
-        __u32 start;
-        __u32 end;
+struct fib_rule_port_range {
+        __u16 start;
+        __u16 end;
 };
 
 #endif
@@ -1464,6 +1451,10 @@ struct statx {
 #endif
 
 #if !HAVE_ETHTOOL_LINK_MODE_10baseT_Half_BIT /* linux@3f1ac7a700d039c61d8d8b99f28d605d489a60cf (4.6) */
+
+#define ETHTOOL_GLINKSETTINGS   0x0000004c /* Get ethtool_link_settings */
+#define ETHTOOL_SLINKSETTINGS   0x0000004d /* Set ethtool_link_settings */
+
 struct ethtool_link_settings {
         __u32 cmd;
         __u32 speed;
@@ -1485,6 +1476,7 @@ struct ethtool_link_settings {
          * __u32 map_lp_advertising[link_mode_masks_nwords];
          */
 };
+
 enum ethtool_link_mode_bit_indices {
         ETHTOOL_LINK_MODE_10baseT_Half_BIT           = 0,
         ETHTOOL_LINK_MODE_10baseT_Full_BIT           = 1,