Replace tap interface using general interface
[vpp.git] / src / plugins / pppoe / pppoe_cp_node.c
similarity index 84%
rename from src/plugins/pppoe/pppoe_tap_node.c
rename to src/plugins/pppoe/pppoe_cp_node.c
index 92a6a2a..c73666d 100644 (file)
 #include <vnet/ppp/packet.h>
 #include <pppoe/pppoe.h>
 
-vlib_node_registration_t pppoe_tap_dispatch_node;
+vlib_node_registration_t pppoe_cp_dispatch_node;
 
-#define foreach_pppoe_tap_next        \
+#define foreach_pppoe_cp_next        \
 _(DROP, "error-drop")                  \
-_(TUNTAP, "tuntap-tx" )                \
 _(INTERFACE, "interface-output" )      \
 
 typedef enum
 {
-#define _(s,n) PPPOE_TAP_NEXT_##s,
-  foreach_pppoe_tap_next
+#define _(s,n) PPPOE_CP_NEXT_##s,
+  foreach_pppoe_cp_next
 #undef _
-    PPPOE_TAP_N_NEXT,
-} pppoe_tap_next_t;
+    PPPOE_CP_N_NEXT,
+} pppoe_cp_next_t;
 
 typedef struct {
   u32 next_index;
   u32 sw_if_index;
-  u32 tap_if_index;
+  u32 cp_if_index;
   u8 pppoe_code;
   u16 ppp_proto;
   u32 error;
-} pppoe_tap_trace_t;
+} pppoe_cp_trace_t;
 
-static u8 * format_pppoe_tap_trace (u8 * s, va_list * args)
+static u8 * format_pppoe_cp_trace (u8 * s, va_list * args)
 {
   CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
-  pppoe_tap_trace_t * t = va_arg (*args, pppoe_tap_trace_t *);
+  pppoe_cp_trace_t * t = va_arg (*args, pppoe_cp_trace_t *);
   pppoe_main_t * pem = &pppoe_main;
 
-  if (t->sw_if_index != pem->tap_if_index)
+  if (t->sw_if_index != pem->cp_if_index)
     {
       s = format (s, "PPPoE dispatch from sw_if_index %d next %d error %d \n"
                  "  pppoe_code 0x%x  ppp_proto 0x%x",
@@ -59,16 +58,16 @@ static u8 * format_pppoe_tap_trace (u8 * s, va_list * args)
     }
   else
     {
-      s = format (s, "PPPoE dispatch from tap_if_index %d next %d error %d \n"
+      s = format (s, "PPPoE dispatch from cp_if_index %d next %d error %d \n"
                  "  pppoe_code 0x%x  ppp_proto 0x%x",
-                  t->tap_if_index, t->next_index, t->error,
+                  t->cp_if_index, t->next_index, t->error,
                  t->pppoe_code, t->ppp_proto);
     }
   return s;
 }
 
 static uword
-pppoe_tap_dispatch (vlib_main_t * vm,
+pppoe_cp_dispatch (vlib_main_t * vm,
                     vlib_node_runtime_t * node,
                     vlib_frame_t * from_frame)
 {
@@ -138,7 +137,7 @@ pppoe_tap_dispatch (vlib_main_t * vm,
           vlib_buffer_reset(b0);
           h0 = vlib_buffer_get_current (b0);
 
-          if(rx_sw_if_index0 == pem->tap_if_index)
+          if(rx_sw_if_index0 == pem->cp_if_index)
             {
              pppoe_lookup_1 (&pem->link_table, &cached_key, &cached_result,
                              h0->dst_address, 0,
@@ -152,7 +151,7 @@ pppoe_tap_dispatch (vlib_main_t * vm,
                  goto trace00;
                }
 
-              next0 = PPPOE_TAP_NEXT_INTERFACE;
+              next0 = PPPOE_CP_NEXT_INTERFACE;
               vnet_buffer(b0)->sw_if_index[VLIB_TX] = tx_sw_if_index0;
 
               /* set src mac address */
@@ -172,8 +171,8 @@ pppoe_tap_dispatch (vlib_main_t * vm,
                                   &key0, &cached_key,
                                   &bucket0, &result0);
 
-              next0 = PPPOE_TAP_NEXT_TUNTAP;
-              vnet_buffer(b0)->sw_if_index[VLIB_TX] = pem->tap_if_index;
+              next0 = PPPOE_CP_NEXT_INTERFACE;
+              vnet_buffer(b0)->sw_if_index[VLIB_TX] = pem->cp_if_index;
             }
 
          len0 = vlib_buffer_length_in_chain (vm, b0);
@@ -203,12 +202,12 @@ pppoe_tap_dispatch (vlib_main_t * vm,
 
           if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
             {
-              pppoe_tap_trace_t *tr
+              pppoe_cp_trace_t *tr
                 = vlib_add_trace (vm, node, b0, sizeof (*tr));
               tr->next_index = next0;
               tr->error = error0;
               tr->sw_if_index = tx_sw_if_index0;
-              tr->tap_if_index = pem->tap_if_index;
+              tr->cp_if_index = pem->cp_if_index;
               tr->pppoe_code = pppoe0->code;
               tr->ppp_proto = clib_net_to_host_u16(pppoe0->ppp_proto);
             }
@@ -236,21 +235,21 @@ pppoe_tap_dispatch (vlib_main_t * vm,
   return from_frame->n_vectors;
 }
 
-VLIB_REGISTER_NODE (pppoe_tap_dispatch_node) = {
-  .function = pppoe_tap_dispatch,
-  .name = "pppoe-tap-dispatch",
+VLIB_REGISTER_NODE (pppoe_cp_dispatch_node) = {
+  .function = pppoe_cp_dispatch,
+  .name = "pppoe-cp-dispatch",
   /* Takes a vector of packets. */
   .vector_size = sizeof (u32),
 
-  .n_next_nodes = PPPOE_TAP_N_NEXT,
+  .n_next_nodes = PPPOE_CP_N_NEXT,
   .next_nodes = {
-#define _(s,n) [PPPOE_TAP_NEXT_##s] = n,
-    foreach_pppoe_tap_next
+#define _(s,n) [PPPOE_CP_NEXT_##s] = n,
+    foreach_pppoe_cp_next
 #undef _
   },
 
-  .format_trace = format_pppoe_tap_trace,
+  .format_trace = format_pppoe_cp_trace,
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (pppoe_tap_dispatch_node, pppoe_tap_dispatch)
+VLIB_NODE_FUNCTION_MULTIARCH (pppoe_cp_dispatch_node, pppoe_cp_dispatch)