Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
cnat: Add maglev support
[vpp.git]
/
src
/
plugins
/
cnat
/
cnat_types.h
diff --git
a/src/plugins/cnat/cnat_types.h
b/src/plugins/cnat/cnat_types.h
index
b1b5b2d
..
f0911d2
100644
(file)
--- 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)
#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
/* 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 */
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_
} 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;
{
cnat_endpoint_t dst_ep;
cnat_endpoint_t src_ep;
+ u8 ep_flags; /* cnat_trk_flag_t */
} cnat_endpoint_tuple_t;
typedef struct
} 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;
/* 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_
} cnat_main_t;
typedef struct cnat_timestamp_t_
@@
-159,7
+167,6
@@
typedef struct cnat_timestamp_t_
typedef struct cnat_node_ctx_
{
f64 now;
typedef struct cnat_node_ctx_
{
f64 now;
- u64 seed;
u32 thread_index;
ip_address_family_t af;
u8 do_trace;
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 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[];
extern char *cnat_error_strings[];