aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/fib
AgeCommit message (Expand)AuthorFilesLines
2018-02-01FIB: Consolidate several copies of fib_ip_proto() into one.Jon Loeliger1-0/+11
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-0/+45
2018-01-18FIB Inherited SrouceNeale Ranns15-119/+1615
2018-01-09DVR: run L3 output featuresNeale Ranns4-52/+86
2017-12-21fib: make deag entries urpf extemptFlorin Coras4-0/+14
2017-12-19FIB memory leak during recursive loop detectionNeale Ranns1-0/+2
2017-12-15fib: fix show fib path-list and pathFlorin Coras2-4/+4
2017-12-13Separate heap for IPv4 mtriesNeale Ranns2-30/+14
2017-12-09BIER in non-MPLS netowrksNeale Ranns6-146/+117
2017-12-05Revert "FIB: optimise for src memory allocations"Neale Ranns5-264/+121
2017-11-30Fix CLI path parsing for via interface onlyNeale Ranns1-6/+6
2017-11-29Include allocated table memory in 'sh fib mem' outputNeale Ranns9-12/+148
2017-11-27Fix - sh ip fib mtrie sumNeale Ranns1-5/+5
2017-11-26FIB: optimise for src memory allocationsNeale Ranns5-121/+264
2017-11-26FIB: store the node type not the function pointer.Neale Ranns5-15/+11
2017-11-18unformat function for FIB pathsNeale Ranns2-0/+171
2017-11-15BIER: coverity fixesNeale Ranns1-5/+11
2017-11-14Ip6 dump not showing fib table names (VPP-1063)Neale Ranns1-4/+3
2017-11-11MPLS disposition actions at the tail of unicast LSPsNeale Ranns6-31/+107
2017-11-09BIERNeale Ranns15-70/+561
2017-11-07UDP Encapsulation.Neale Ranns4-1/+84
2017-10-26fib test - fix undefined behavior warning found by clangGabriel Ganne2-2/+2
2017-10-25L3 proxy FIB source for container networkingAndrew Yourtchenko3-7/+14
2017-10-14Source Lookup progammable via APINeale Ranns5-8/+61
2017-10-06Initial GENEVE TUNNEL implementation and tests.Marco Varlese1-0/+1
2017-10-05Distributed Virtual Router SupportNeale Ranns5-100/+100
2017-10-04[aarch64] Fixes CLI crashes on dpaa2 platform.Christophe Fontaine10-28/+28
2017-10-04Dump of deag/lookup routes has is_drop=1 (VPP-995)Neale Ranns1-0/+2
2017-10-03Repair vlib API socket serverDave Barach1-1/+2
2017-09-13Add a name to the creation of an IP and MPLS tableNeale Ranns6-14/+67
2017-09-11FIB table add/delete APINeale Ranns13-68/+171
2017-08-21PPPoE usses a midchain adjacency stack on an interface-tx DPONeale Ranns2-14/+14
2017-08-15coverity: remove dependency on uint32_t in fib_test.cMarek Gradzki1-1/+1
2017-08-08L2 over MPLSNeale Ranns20-263/+263
2017-08-03DHCP Client: receive unicast ACKsNeale Ranns1-7/+2
2017-08-01FIB path weight incorrect in dump (VPP-922)Neale Ranns3-5/+6
2017-07-31Fix fib_path encoding (VPP-921)Florin Coras1-0/+2
2017-07-19Add a bihash prefetchable bucket-level cacheDave Barach2-3/+3
2017-07-18FIB path preferenceNeale Ranns8-40/+623
2017-06-21ARP: ignore non-connected routes and non-interface sources when determing if ...Neale Ranns1-3/+7
2017-06-13FIB walk process - wake-up rate unnecessarily highNeale Ranns1-1/+11
2017-06-06Rework vxlan-gpe to support FIB 2.0 and bypass modeHongjun Ni1-1/+3
2017-05-26ARP/ND use path_remove to complement path_addNeale Ranns2-8/+19
2017-05-24IPv6 Performance bugsNeale Ranns3-44/+39
2017-05-24Leak locks and tables in the ClassifierNeale Ranns2-4/+6
2017-05-23Labelled attached paths via an MPLS tunnelNeale Ranns2-39/+62
2017-05-23ARP/ND entries for the same address on different interfaces (VPP-848)Neale Ranns13-621/+1159
2017-05-15Fix FIB recursion loops via cover (VPP-842)Neale Ranns3-38/+81
2017-05-05First commit SR MPLSPablo Camarillo1-4/+4
2017-05-02Use per-protocol default flow-hash config when the FIB table index is not knownNeale Ranns3-2/+44
t: /* *INDENT-OFF* */ REPLY_MACRO2(VL_API_VXLAN_GBP_TUNNEL_ADD_DEL_REPLY, ({ rmp->sw_if_index = ntohl (sw_if_index); })); /* *INDENT-ON* */ } static void send_vxlan_gbp_tunnel_details (vxlan_gbp_tunnel_t * t, vl_api_registration_t * reg, u32 context) { vl_api_vxlan_gbp_tunnel_details_t *rmp; ip46_type_t itype = (ip46_address_is_ip4 (&t->dst) ? IP46_TYPE_IP4 : IP46_TYPE_IP6); rmp = vl_msg_api_alloc (sizeof (*rmp)); clib_memset (rmp, 0, sizeof (*rmp)); rmp->_vl_msg_id = ntohs (VL_API_VXLAN_GBP_TUNNEL_DETAILS); ip_address_encode (&t->src, itype, &rmp->tunnel.src); ip_address_encode (&t->dst, itype, &rmp->tunnel.dst); rmp->tunnel.encap_table_id = fib_table_get_table_id (t->encap_fib_index, fib_proto_from_ip46 (itype)); rmp->tunnel.instance = htonl (t->user_instance); rmp->tunnel.mcast_sw_if_index = htonl (t->mcast_sw_if_index); rmp->tunnel.vni = htonl (t->vni); rmp->tunnel.sw_if_index = htonl (t->sw_if_index); rmp->context = context; vl_api_send_msg (reg, (u8 *) rmp); } static void vl_api_vxlan_gbp_tunnel_dump_t_handler (vl_api_vxlan_gbp_tunnel_dump_t * mp) { vl_api_registration_t *reg; vxlan_gbp_main_t *vxm = &vxlan_gbp_main; vxlan_gbp_tunnel_t *t; u32 sw_if_index; reg = vl_api_client_index_to_registration (mp->client_index); if (!reg) return; sw_if_index = ntohl (mp->sw_if_index); if (~0 == sw_if_index) { /* *INDENT-OFF* */ pool_foreach (t, vxm->tunnels, ({ send_vxlan_gbp_tunnel_details(t, reg, mp->context); })); /* *INDENT-ON* */ } else { if ((sw_if_index >= vec_len (vxm->tunnel_index_by_sw_if_index)) || (~0 == vxm->tunnel_index_by_sw_if_index[sw_if_index])) { return; } t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]]; send_vxlan_gbp_tunnel_details (t, reg, mp->context); } } /* * vpe_api_hookup * Add vpe's API message handlers to the table. * vlib has already mapped shared memory and * added the client registration handlers. * See .../vlib-api/vlibmemory/memclnt_vlib.c:memclnt_process() */ #define vl_msg_name_crc_list #include <vnet/vnet_all_api_h.h> #undef vl_msg_name_crc_list static void setup_message_id_table (api_main_t * am) { #define _(id,n,crc) vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id); foreach_vl_msg_name_crc_vxlan_gbp; #undef _ } static clib_error_t * vxlan_gbp_api_hookup (vlib_main_t * vm) { api_main_t *am = vlibapi_get_main (); #define _(N,n) \ vl_msg_api_set_handlers(VL_API_##N, #n, \ vl_api_##n##_t_handler, \ vl_noop_handler, \ vl_api_##n##_t_endian, \ vl_api_##n##_t_print, \ sizeof(vl_api_##n##_t), 1); foreach_vpe_api_msg; #undef _ /* * Set up the (msg_name, crc, message-id) table */ setup_message_id_table (am); return 0; } VLIB_API_INIT_FUNCTION (vxlan_gbp_api_hookup); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */