X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Finterface.h;h=d869b0c70a22a13e28ae8acbfdfc7738a1c76fa2;hp=f82cf9d2485395a0cdbef6de1cbef892c3d9a004;hb=1855b8e4;hpb=631de0dffebf2633e32b55c5c9b4663867a50371 diff --git a/src/vnet/interface.h b/src/vnet/interface.h index f82cf9d2485..d869b0c70a2 100644 --- a/src/vnet/interface.h +++ b/src/vnet/interface.h @@ -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;