aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/bonding/node.h
diff options
context:
space:
mode:
authorAlexander Chernavin <achernavin@netgate.com>2018-12-13 09:08:09 -0500
committerDamjan Marion <dmarion@me.com>2019-01-13 13:36:22 +0000
commitad9d528314a049971b1fb9a42562b00e07cf93f4 (patch)
tree31173f45bc3558c2ad3df62ad84b8ba6b4705788 /src/vnet/bonding/node.h
parente589b38f98e9d8f88a3bae56549ea49d9d802989 (diff)
bonding: support custom interface IDs
Change-Id: I78fe58144fa3ba2e1c7135897a13a2541f235c91 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Diffstat (limited to 'src/vnet/bonding/node.h')
-rw-r--r--src/vnet/bonding/node.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vnet/bonding/node.h b/src/vnet/bonding/node.h
index b9504424ee8..15640071aa8 100644
--- a/src/vnet/bonding/node.h
+++ b/src/vnet/bonding/node.h
@@ -77,6 +77,7 @@ enum
typedef struct
{
+ u32 id;
u8 hw_addr_set;
u8 hw_addr[6];
u8 mode;
@@ -112,6 +113,7 @@ typedef struct
typedef struct
{
u32 sw_if_index;
+ u32 id;
u8 interface_name[64];
u8 mode;
u8 lb;
@@ -158,7 +160,12 @@ typedef struct
/* the last slave index for the rr lb */
u32 lb_rr_last_index;
+ /* Real device instance in interface vector */
u32 dev_instance;
+
+ /* Interface ID being shown to user */
+ u32 id;
+
u32 hw_if_index;
u32 sw_if_index;
@@ -297,6 +304,9 @@ typedef struct
/* pool of bonding interfaces */
bond_if_t *interfaces;
+ /* record used interface IDs */
+ uword *id_used;
+
/* pool of slave interfaces */
slave_if_t *neighbors;