diff options
author | Steven <sluong@cisco.com> | 2018-03-22 17:46:58 -0700 |
---|---|---|
committer | Steven <sluong@cisco.com> | 2018-03-22 17:46:58 -0700 |
commit | a005e7f0ef1564cab8db1a148091fd43d2d5af48 (patch) | |
tree | 68092708aaee4ade0f5d84b0916e857a2938f659 /src/vnet/bonding/node.h | |
parent | c6a716b7c2768f5d1edcb2fd4d45856054ef33bb (diff) |
bond: performance enhancement
We were only puting one packet per frame to the output node. Change to
buffer multiple packets per frame. Performance is now on top of dpdk-based
bonding.
Put a spinlock in the tx thread in case the rug is pulled under us.
Change-Id: Ifda5af086a984a7301972cd6c8e428217f676a95
Signed-off-by: Steven <sluong@cisco.com>
Diffstat (limited to 'src/vnet/bonding/node.h')
-rw-r--r-- | src/vnet/bonding/node.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vnet/bonding/node.h b/src/vnet/bonding/node.h index 74f3b1a356a..ae811a12a64 100644 --- a/src/vnet/bonding/node.h +++ b/src/vnet/bonding/node.h @@ -131,6 +131,12 @@ typedef CLIB_PACKED (struct typedef struct { + vlib_frame_t **frame; + +} bond_if_per_thread_t; + +typedef struct +{ u8 admin_up; u8 mode; u8 lb; @@ -159,6 +165,9 @@ typedef struct uword *port_number_bitmap; u8 use_custom_mac; u8 hw_address[6]; + + clib_spinlock_t lockp; + bond_if_per_thread_t *per_thread_info; } bond_if_t; typedef struct |