diff options
author | Nathan Skrzypczak <nathan.skrzypczak@gmail.com> | 2020-10-13 17:26:47 +0200 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2020-10-21 12:44:40 +0000 |
commit | 2082835fea3ccd85e7368327d5baa749be01b537 (patch) | |
tree | 6809264cf75a64dee50259c1c0d2145c426b85ea /src/plugins/cnat/cnat_translation.h | |
parent | a5203b53d4fa227560333b890d3e79fc220d1bfd (diff) |
cnat: allow max_u16 translation backends
Type: fix
Allow for 65536 backends for a translation.
- use u32 instead of u8
- filter out back_walk with more than
FIB_PATH_LIST_POPULAR backends
- we're still limited by u16 lb_n_buckets
in src/vnet/dpo/load_balance.h
Change-Id: Ib37b958e59b25ef5ef9f92b82008d626860faddd
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'src/plugins/cnat/cnat_translation.h')
-rw-r--r-- | src/plugins/cnat/cnat_translation.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/cnat/cnat_translation.h b/src/plugins/cnat/cnat_translation.h index cfcbf5bc13b..a4ae1ece718 100644 --- a/src/plugins/cnat/cnat_translation.h +++ b/src/plugins/cnat/cnat_translation.h @@ -58,7 +58,12 @@ typedef struct cnat_ep_trk_t_ typedef enum cnat_translation_flag_t_ { + /* Do allocate a source port */ CNAT_TRANSLATION_FLAG_ALLOCATE_PORT = (1 << 0), + /* Has this translation been satcked ? + * this allow not being called twice when + * with more then FIB_PATH_LIST_POPULAR backends */ + CNAT_TRANSLATION_STACKED = (1 << 1), } cnat_translation_flag_t; typedef enum |