Browse Source

device: extend device settings flags to 64 bit

The previous 32 bit limit is almost used up

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau 2 years ago
parent
commit
94170ae24b
4 changed files with 35 additions and 35 deletions
  1. 32 32
      device.h
  2. 1 1
      system-dummy.c
  3. 1 1
      system-linux.c
  4. 1 1
      system.h

+ 32 - 32
device.h

@@ -91,36 +91,36 @@ struct device_type {
 };
 
 enum {
-	DEV_OPT_MTU			= (1 << 0),
-	DEV_OPT_MACADDR			= (1 << 1),
-	DEV_OPT_TXQUEUELEN		= (1 << 2),
-	DEV_OPT_IPV6			= (1 << 3),
-	DEV_OPT_PROMISC			= (1 << 4),
-	DEV_OPT_RPFILTER		= (1 << 5),
-	DEV_OPT_ACCEPTLOCAL		= (1 << 6),
-	DEV_OPT_IGMPVERSION		= (1 << 7),
-	DEV_OPT_MLDVERSION		= (1 << 8),
-	DEV_OPT_NEIGHREACHABLETIME	= (1 << 9),
-	DEV_OPT_DEFAULT_MACADDR		= (1 << 10),
-	DEV_OPT_AUTH			= (1 << 11),
-	DEV_OPT_MTU6			= (1 << 12),
-	DEV_OPT_DADTRANSMITS		= (1 << 13),
-	DEV_OPT_MULTICAST_TO_UNICAST	= (1 << 14),
-	DEV_OPT_MULTICAST_ROUTER	= (1 << 15),
-	DEV_OPT_MULTICAST		= (1 << 16),
-	DEV_OPT_LEARNING		= (1 << 17),
-	DEV_OPT_UNICAST_FLOOD		= (1 << 18),
-	DEV_OPT_NEIGHGCSTALETIME	= (1 << 19),
-	DEV_OPT_MULTICAST_FAST_LEAVE	= (1 << 20),
-	DEV_OPT_SENDREDIRECTS		= (1 << 21),
-	DEV_OPT_NEIGHLOCKTIME		= (1 << 22),
-	DEV_OPT_ISOLATE			= (1 << 23),
-	DEV_OPT_IP6SEGMENTROUTING	= (1 << 24),
-	DEV_OPT_DROP_V4_UNICAST_IN_L2_MULTICAST = (1 << 25),
-	DEV_OPT_DROP_V6_UNICAST_IN_L2_MULTICAST = (1 << 26),
-	DEV_OPT_DROP_GRATUITOUS_ARP	= (1 << 27),
-	DEV_OPT_DROP_UNSOLICITED_NA	= (1 << 28),
-	DEV_OPT_ARP_ACCEPT		= (1 << 29),
+	DEV_OPT_MTU			= (1ULL << 0),
+	DEV_OPT_MACADDR			= (1ULL << 1),
+	DEV_OPT_TXQUEUELEN		= (1ULL << 2),
+	DEV_OPT_IPV6			= (1ULL << 3),
+	DEV_OPT_PROMISC			= (1ULL << 4),
+	DEV_OPT_RPFILTER		= (1ULL << 5),
+	DEV_OPT_ACCEPTLOCAL		= (1ULL << 6),
+	DEV_OPT_IGMPVERSION		= (1ULL << 7),
+	DEV_OPT_MLDVERSION		= (1ULL << 8),
+	DEV_OPT_NEIGHREACHABLETIME	= (1ULL << 9),
+	DEV_OPT_DEFAULT_MACADDR		= (1ULL << 10),
+	DEV_OPT_AUTH			= (1ULL << 11),
+	DEV_OPT_MTU6			= (1ULL << 12),
+	DEV_OPT_DADTRANSMITS		= (1ULL << 13),
+	DEV_OPT_MULTICAST_TO_UNICAST	= (1ULL << 14),
+	DEV_OPT_MULTICAST_ROUTER	= (1ULL << 15),
+	DEV_OPT_MULTICAST		= (1ULL << 16),
+	DEV_OPT_LEARNING		= (1ULL << 17),
+	DEV_OPT_UNICAST_FLOOD		= (1ULL << 18),
+	DEV_OPT_NEIGHGCSTALETIME	= (1ULL << 19),
+	DEV_OPT_MULTICAST_FAST_LEAVE	= (1ULL << 20),
+	DEV_OPT_SENDREDIRECTS		= (1ULL << 21),
+	DEV_OPT_NEIGHLOCKTIME		= (1ULL << 22),
+	DEV_OPT_ISOLATE			= (1ULL << 23),
+	DEV_OPT_IP6SEGMENTROUTING	= (1ULL << 24),
+	DEV_OPT_DROP_V4_UNICAST_IN_L2_MULTICAST = (1ULL << 25),
+	DEV_OPT_DROP_V6_UNICAST_IN_L2_MULTICAST = (1ULL << 26),
+	DEV_OPT_DROP_GRATUITOUS_ARP	= (1ULL << 27),
+	DEV_OPT_DROP_UNSOLICITED_NA	= (1ULL << 28),
+	DEV_OPT_ARP_ACCEPT		= (1ULL << 29),
 };
 
 /* events broadcasted to all users of a device */
@@ -163,8 +163,8 @@ struct device_user {
 };
 
 struct device_settings {
-	unsigned int flags;
-	unsigned int valid_flags;
+	uint64_t flags;
+	uint64_t valid_flags;
 	unsigned int mtu;
 	unsigned int mtu6;
 	unsigned int txqueuelen;

+ 1 - 1
system-dummy.c

@@ -162,7 +162,7 @@ system_if_dump_stats(struct device *dev, struct blob_buf *b)
 }
 
 void
-system_if_apply_settings(struct device *dev, struct device_settings *s, unsigned int apply_mask)
+system_if_apply_settings(struct device *dev, struct device_settings *s, uint64_t apply_mask)
 {
 	apply_mask &= s->flags;
 

+ 1 - 1
system-linux.c

@@ -1706,7 +1706,7 @@ system_if_get_settings(struct device *dev, struct device_settings *s)
 }
 
 void
-system_if_apply_settings(struct device *dev, struct device_settings *s, unsigned int apply_mask)
+system_if_apply_settings(struct device *dev, struct device_settings *s, uint64_t apply_mask)
 {
 	struct ifreq ifr;
 	char buf[12];

+ 1 - 1
system.h

@@ -233,7 +233,7 @@ int system_if_dump_stats(struct device *dev, struct blob_buf *b);
 struct device *system_if_get_parent(struct device *dev);
 bool system_if_force_external(const char *ifname);
 void system_if_apply_settings(struct device *dev, struct device_settings *s,
-			      unsigned int apply_mask);
+			      uint64_t apply_mask);
 
 int system_add_address(struct device *dev, struct device_addr *addr);
 int system_del_address(struct device *dev, struct device_addr *addr);