IP directed broadcast
[vpp.git] / src / vnet / interface.h
index f82cf9d..d869b0c 100644 (file)
@@ -648,32 +648,40 @@ typedef enum
 
 extern vnet_mtu_t vnet_link_to_mtu (vnet_link_t link);
 
-/* Software-interface.  This corresponds to a Ethernet VLAN, ATM vc, a
-   tunnel, etc.  Configuration (e.g. IP address) gets attached to
-   software interface. */
-typedef struct
+typedef enum vnet_sw_interface_flags_t_
 {
-  vnet_sw_interface_type_t type:16;
-
-  u16 flags;
   /* Interface is "up" meaning adminstratively up.
      Up in the sense of link state being up is maintained by hardware interface. */
-#define VNET_SW_INTERFACE_FLAG_ADMIN_UP (1 << 0)
+  VNET_SW_INTERFACE_FLAG_ADMIN_UP = (1 << 0),
 
   /* Interface is disabled for forwarding: punt all traffic to slow-path. */
-#define VNET_SW_INTERFACE_FLAG_PUNT (1 << 1)
+  VNET_SW_INTERFACE_FLAG_PUNT = (1 << 1),
 
-#define VNET_SW_INTERFACE_FLAG_PROXY_ARP (1 << 2)
+  VNET_SW_INTERFACE_FLAG_PROXY_ARP = (1 << 2),
 
-#define VNET_SW_INTERFACE_FLAG_UNNUMBERED (1 << 3)
+  VNET_SW_INTERFACE_FLAG_UNNUMBERED = (1 << 3),
 
-#define VNET_SW_INTERFACE_FLAG_BOND_SLAVE (1 << 4)
+  VNET_SW_INTERFACE_FLAG_BOND_SLAVE = (1 << 4),
 
   /* Interface does not appear in CLI/API */
-#define VNET_SW_INTERFACE_FLAG_HIDDEN (1 << 5)
+  VNET_SW_INTERFACE_FLAG_HIDDEN = (1 << 5),
 
   /* Interface in ERROR state */
-#define VNET_SW_INTERFACE_FLAG_ERROR (1 << 6)
+  VNET_SW_INTERFACE_FLAG_ERROR = (1 << 6),
+
+  /* Interface has IP configured directed broadcast */
+  VNET_SW_INTERFACE_FLAG_DIRECTED_BCAST = (1 << 7),
+
+} __attribute__ ((packed)) vnet_sw_interface_flags_t;
+
+/* Software-interface.  This corresponds to a Ethernet VLAN, ATM vc, a
+   tunnel, etc.  Configuration (e.g. IP address) gets attached to
+   software interface. */
+typedef struct
+{
+  vnet_sw_interface_type_t type:16;
+
+  vnet_sw_interface_flags_t flags;
 
   /* Index for this interface. */
   u32 sw_if_index;