X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fvxlan-gbp%2Fvxlan_gbp.c;h=e39c26fc5d150e9936ac79026e9814ecb419a1da;hb=76b5649d074ab198cbf5737ac76d21649a61bffd;hp=db10f5448e49ed51e120c4214eb938dcac4329da;hpb=1f4e1cbf576fc6ab4e871ba0603028112074b43b;p=vpp.git diff --git a/src/vnet/vxlan-gbp/vxlan_gbp.c b/src/vnet/vxlan-gbp/vxlan_gbp.c index db10f5448e4..e39c26fc5d1 100644 --- a/src/vnet/vxlan-gbp/vxlan_gbp.c +++ b/src/vnet/vxlan-gbp/vxlan_gbp.c @@ -28,7 +28,7 @@ * * VXLAN GBP provides the features of vxlan and carry group policy id. */ - +static vlib_punt_hdl_t punt_hdl; vxlan_gbp_main_t vxlan_gbp_main; @@ -1144,10 +1144,14 @@ clib_error_t * vxlan_gbp_init (vlib_main_t * vm) { vxlan_gbp_main_t *vxm = &vxlan_gbp_main; + clib_error_t *error; vxm->vnet_main = vnet_get_main (); vxm->vlib_main = vm; + if ((error = vlib_call_init_function (vm, punt_init))) + return (error); + /* initialize the ip6 hash */ clib_bihash_init_16_8 (&vxm->vxlan4_gbp_tunnel_by_key, "vxlan4-gbp", VXLAN_GBP_HASH_NUM_BUCKETS, @@ -1162,7 +1166,16 @@ vxlan_gbp_init (vlib_main_t * vm) fib_node_register_type (FIB_NODE_TYPE_VXLAN_GBP_TUNNEL, &vxlan_gbp_vft); - return 0; + punt_hdl = vlib_punt_client_register ("vxlan-gbp"); + + vlib_punt_reason_alloc (punt_hdl, + "VXLAN-GBP-no-such-v4-tunnel", + &vxm->punt_no_such_tunnel[FIB_PROTOCOL_IP4]); + vlib_punt_reason_alloc (punt_hdl, + "VXLAN-GBP-no-such-v6-tunnel", + &vxm->punt_no_such_tunnel[FIB_PROTOCOL_IP6]); + + return (error); } VLIB_INIT_FUNCTION (vxlan_gbp_init);