X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fcnat%2Fcnat_types.h;h=f0911d22d7528738919953b282f6d2c8eb5880df;hb=4d237874e;hp=b1b5b2d2336118a58dca7db5c896d9e2e23c92af;hpb=e4031131ccddd7c4eb683b36f1a97a65dcff008a;p=vpp.git diff --git a/src/plugins/cnat/cnat_types.h b/src/plugins/cnat/cnat_types.h index b1b5b2d2336..f0911d22d75 100644 --- a/src/plugins/cnat/cnat_types.h +++ b/src/plugins/cnat/cnat_types.h @@ -42,6 +42,9 @@ #define CNAT_DEFAULT_TRANSLATION_MEMORY (256 << 10) #define CNAT_DEFAULT_SNAT_MEMORY (64 << 20) +/* Should be prime >~ 100 * numBackends */ +#define CNAT_DEFAULT_MAGLEV_LEN 1009 + /* This should be strictly lower than FIB_SOURCE_INTERFACE * from fib_source.h */ #define CNAT_FIB_SOURCE_PRIORITY 0x02 @@ -54,7 +57,7 @@ typedef enum { /* Endpoint addr has been resolved */ - CNAT_EP_FLAG_RESOLVED = 1, + CNAT_EP_FLAG_RESOLVED = (1 << 0), } cnat_ep_flag_t; typedef struct cnat_endpoint_t_ @@ -69,6 +72,7 @@ typedef struct cnat_endpoint_tuple_t_ { cnat_endpoint_t dst_ep; cnat_endpoint_t src_ep; + u8 ep_flags; /* cnat_trk_flag_t */ } cnat_endpoint_tuple_t; typedef struct @@ -144,6 +148,10 @@ typedef struct cnat_main_ /* Enable or Disable the scanner on startup */ u8 default_scanner_state; + + /* Number of buckets for maglev, should be a + * prime >= 100 * max num bakends */ + u32 maglev_len; } cnat_main_t; typedef struct cnat_timestamp_t_ @@ -159,7 +167,6 @@ typedef struct cnat_timestamp_t_ typedef struct cnat_node_ctx_ { f64 now; - u64 seed; u32 thread_index; ip_address_family_t af; u8 do_trace; @@ -173,7 +180,6 @@ extern uword unformat_cnat_ep (unformat_input_t * input, va_list * args); extern cnat_timestamp_t *cnat_timestamps; extern fib_source_t cnat_fib_source; extern cnat_main_t cnat_main; -extern throttle_t cnat_throttle; extern char *cnat_error_strings[];