X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Flookup.c;h=a26dc12889e4e78a327acf40f8f6246857093869;hb=e821ab100aea2fb3f740a98650eb750ff5911c49;hp=3bbf2abd8dc17507ef24407ec684607433b3688b;hpb=039cbfe254be998f7311bc4638bb262b44efac19;p=vpp.git diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c index 3bbf2abd8dc..a26dc12889e 100644 --- a/src/vnet/ip/lookup.c +++ b/src/vnet/ip/lookup.c @@ -230,8 +230,6 @@ ip_lookup_init (ip_lookup_main_t * lm, u32 is_ip6) } lm->local_next_by_ip_protocol[IP_PROTOCOL_UDP] = IP_LOCAL_NEXT_UDP_LOOKUP; - lm->local_next_by_ip_protocol[IP_PROTOCOL_VPP_FRAGMENTATION] = - IP_LOCAL_NEXT_REASSEMBLY; lm->local_next_by_ip_protocol[is_ip6 ? IP_PROTOCOL_ICMP6 : IP_PROTOCOL_ICMP] = IP_LOCAL_NEXT_ICMP; lm->builtin_protocol_by_ip_protocol[IP_PROTOCOL_UDP] = @@ -901,14 +899,30 @@ vnet_ip_mroute_cmd (vlib_main_t * vm, pfx.fp_proto = FIB_PROTOCOL_IP6; pfx.fp_len = 128; } + else if (unformat (line_input, "via %U %U", + unformat_ip4_address, &rpath.frp_addr.ip4, + unformat_vnet_sw_interface, vnm, + &rpath.frp_sw_if_index)) + { + rpath.frp_weight = 1; + } + else if (unformat (line_input, "via %U %U", + unformat_ip6_address, &rpath.frp_addr.ip6, + unformat_vnet_sw_interface, vnm, + &rpath.frp_sw_if_index)) + { + rpath.frp_weight = 1; + } else if (unformat (line_input, "via %U", unformat_vnet_sw_interface, vnm, &rpath.frp_sw_if_index)) { + memset (&rpath.frp_addr, 0, sizeof (rpath.frp_addr)); rpath.frp_weight = 1; } else if (unformat (line_input, "via local")) { + memset (&rpath.frp_addr, 0, sizeof (rpath.frp_addr)); rpath.frp_sw_if_index = ~0; rpath.frp_weight = 1; rpath.frp_flags |= FIB_ROUTE_PATH_LOCAL;