X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Finterface.h;h=d869b0c70a22a13e28ae8acbfdfc7738a1c76fa2;hb=1855b8e4;hp=1181c341a0c926e964ef2726c2066be786097d6c;hpb=1ec0ea85c3f57f4638e32a00396057f80d958ec9;p=vpp.git diff --git a/src/vnet/interface.h b/src/vnet/interface.h index 1181c341a0c..d869b0c70a2 100644 --- a/src/vnet/interface.h +++ b/src/vnet/interface.h @@ -578,6 +578,7 @@ typedef enum /* A sub-interface. */ VNET_SW_INTERFACE_TYPE_SUB, VNET_SW_INTERFACE_TYPE_P2P, + VNET_SW_INTERFACE_TYPE_PIPE, } vnet_sw_interface_type_t; typedef struct @@ -647,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;