diff options
author | Nathan Skrzypczak <nathan.skrzypczak@gmail.com> | 2021-10-14 18:41:57 +0300 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2023-08-08 14:06:08 +0000 |
commit | 6631032791f842017c20ddf217e915c465ff809d (patch) | |
tree | 80c72dd02c55f96bed52821b9a24404599055166 /src/plugins/cnat/cnat_translation.h | |
parent | cad2111129b57c9c14f5c6bc645286fdc5bf4a3c (diff) |
cnat: flag to disable rsession
This adds a flag on the translation
asking the VIP & input-feature nodes
not to create the return session when
translating / load-balancing an incoming
flow. This is needed with maglev & DSR
Type: feature
Change-Id: I699012310ddc59f6ceeeb4878638eac6da5128dc
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 | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/cnat/cnat_translation.h b/src/plugins/cnat/cnat_translation.h index 97b0c908b42..d5923f04397 100644 --- a/src/plugins/cnat/cnat_translation.h +++ b/src/plugins/cnat/cnat_translation.h @@ -60,12 +60,14 @@ typedef struct cnat_ep_trk_t_ typedef enum cnat_translation_flag_t_ { /* Do allocate a source port */ - CNAT_TRANSLATION_FLAG_ALLOCATE_PORT = (1 << 0), + CNAT_TR_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; + CNAT_TR_FLAG_STACKED = (1 << 1), + /* Do not create a return session */ + CNAT_TR_FLAG_NO_RETURN_SESSION = (1 << 2), +} __clib_packed cnat_translation_flag_t; typedef enum { @@ -76,11 +78,11 @@ typedef enum CNAT_ADDR_N_RESOLUTIONS, } cnat_addr_resol_type_t; -typedef enum __attribute__ ((__packed__)) +typedef enum { CNAT_LB_DEFAULT, CNAT_LB_MAGLEV, -} cnat_lb_type_t; +} __clib_packed cnat_lb_type_t; /** * Entry used to account for a translation's backend @@ -160,7 +162,7 @@ typedef struct cnat_translation_t_ /** * Translation flags */ - u8 flags; + cnat_translation_flag_t flags; /** * Type of load balancing |