pppoe_main_t pppoe_main;
+static fib_source_t pppoe_fib_src;
+
u8 *
format_pppoe_session (u8 * s, va_list * args)
{
*/
static void
pppoe_fixup (vlib_main_t * vm,
- ip_adjacency_t * adj, vlib_buffer_t * b0, const void *data)
+ const ip_adjacency_t * adj, vlib_buffer_t * b0, const void *data)
{
const pppoe_session_t *t;
pppoe_header_t *pppoe0;
/* add reverse route for client ip */
fib_table_entry_path_add (a->decap_fib_index, &pfx,
- FIB_SOURCE_PLUGIN_HI, FIB_ENTRY_FLAG_NONE,
+ pppoe_fib_src, FIB_ENTRY_FLAG_NONE,
fib_proto_to_dpo (pfx.fp_proto),
&pfx.fp_addr, sw_if_index, ~0,
1, NULL, FIB_ROUTE_PATH_FLAG_NONE);
/* delete reverse route for client ip */
fib_table_entry_path_remove (a->decap_fib_index, &pfx,
- FIB_SOURCE_PLUGIN_HI,
+ pppoe_fib_src,
fib_proto_to_dpo (pfx.fp_proto),
&pfx.fp_addr,
sw_if_index, ~0, 1,
u32 total_entries;
} pppoe_show_walk_ctx_t;
-static void
+static int
pppoe_show_walk_cb (BVT (clib_bihash_kv) * kvp, void *arg)
{
pppoe_show_walk_ctx_t *ctx = arg;
result.fields.session_index == ~0
? -1 : result.fields.session_index);
ctx->total_entries++;
+
+ return (BIHASH_WALK_CONTINUE);
}
/** Display the contents of the PPPoE Fib. */
ethernet_register_input_type (vm, ETHERNET_TYPE_PPPOE_DISCOVERY,
pppoe_cp_dispatch_node.index);
+ pppoe_fib_src = fib_source_allocate ("pppoe",
+ FIB_SOURCE_PRIORITY_HI,
+ FIB_SOURCE_BH_API);
+
return 0;
}
/* *INDENT-OFF* */
VLIB_PLUGIN_REGISTER () = {
.version = VPP_BUILD_VER,
- .description = "PPPoE",
+ .description = "PPP over Ethernet (PPPoE)",
};
/* *INDENT-ON* */