ip: Router ID included in flow hash
[vpp.git] / src / plugins / pppoe / pppoe.h
index b79e4ea..a72b734 100644 (file)
@@ -48,6 +48,9 @@ typedef struct
 
 typedef struct
 {
+  /* Required for pool_get_aligned  */
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
+
   /* pppoe session_id in HOST byte order */
   u16 session_id;
 
@@ -73,7 +76,7 @@ typedef struct
 _(DROP, "error-drop")                  \
 _(IP4_INPUT, "ip4-input")              \
 _(IP6_INPUT, "ip6-input" )             \
-_(CP_INPUT, "pppoe-tap-dispatch" )     \
+_(CP_INPUT, "pppoe-cp-dispatch" )      \
 
 typedef enum
 {
@@ -91,9 +94,10 @@ typedef enum
   PPPOE_N_ERROR,
 } pppoe_input_error_t;
 
+extern char *pppoe_error_strings[];
 
 #define MTU 1500
-#define MTU_BUFFERS ((MTU + VLIB_BUFFER_DATA_SIZE - 1) / VLIB_BUFFER_DATA_SIZE)
+#define MTU_BUFFERS ((MTU + vlib_buffer_get_default_data_size(vm) - 1) / vlib_buffer_get_default_data_size(vm))
 #define NUM_BUFFERS_TO_ALLOC 32
 
 /*
@@ -163,7 +167,7 @@ typedef struct
   u32 *session_index_by_sw_if_index;
 
   /* used for pppoe cp path */
-  u32 tap_if_index;
+  u32 cp_if_index;
 
   /* API message ID base */
   u16 msg_id_base;
@@ -177,7 +181,7 @@ typedef struct
 extern pppoe_main_t pppoe_main;
 
 extern vlib_node_registration_t pppoe_input_node;
-extern vlib_node_registration_t pppoe_tap_dispatch_node;
+extern vlib_node_registration_t pppoe_cp_dispatch_node;
 
 typedef struct
 {
@@ -198,9 +202,11 @@ typedef struct
 {
   u8 is_add;
   u32 client_if_index;
-  u32 tap_if_index;
+  u32 cp_if_index;
 } vnet_pppoe_add_del_tap_args_t;
 
+int pppoe_add_del_cp (u32 cp_if_index, u8 is_add);
+
 always_inline u64
 pppoe_make_key (u8 * mac_address, u16 session_id)
 {