summaryrefslogtreecommitdiffstats
path: root/src/plugins/gbp/gbp_learn.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gbp/gbp_learn.h')
-rw-r--r--src/plugins/gbp/gbp_learn.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/gbp/gbp_learn.h b/src/plugins/gbp/gbp_learn.h
index 836daf80886..c40196ef259 100644
--- a/src/plugins/gbp/gbp_learn.h
+++ b/src/plugins/gbp/gbp_learn.h
@@ -18,12 +18,41 @@
#include <plugins/gbp/gbp.h>
+/**
+ * The maximum learning rate per-hashed EP
+ */
+#define GBP_ENDPOINT_HASH_LEARN_RATE (1e-2)
+
typedef enum gbp_learn_mode_t_
{
GBP_LEARN_MODE_L2,
GBP_LEARN_MODE_L3,
} gbb_learn_mode_t;
+/**
+ * Grouping of global data for the GBP source EPG classification feature
+ */
+typedef struct gbp_learn_main_t_
+{
+ /**
+ * Next nodes for L2 output features
+ */
+ u32 gl_l2_input_feat_next[32];
+
+ /**
+ * logger - VLIB log class
+ */
+ vlib_log_class_t gl_logger;
+
+ /**
+ * throttles for the DP leanring
+ */
+ throttle_t gl_l2_throttle;
+ throttle_t gl_l3_throttle;
+} gbp_learn_main_t;
+
+extern gbp_learn_main_t gbp_learn_main;
+
extern void gbp_learn_enable (u32 sw_if_index, gbb_learn_mode_t mode);
extern void gbp_learn_disable (u32 sw_if_index, gbb_learn_mode_t mode);