From 054c03ac9c20a5e38121590b83f01fd91f82acf0 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Fri, 13 Oct 2017 05:15:07 -0700 Subject: Source Lookup progammable via API Change-Id: I5d5d4f22b6369d504455a644f73076d772fbcfb4 Signed-off-by: Neale Ranns --- src/vnet/ip/ip.api | 4 ++++ src/vnet/ip/ip_api.c | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'src/vnet/ip') diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index df9ce6e615a..f5341667892 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -370,6 +370,9 @@ autoreply define sw_interface_ip6_set_link_local_address @param is_local - @param is_classify - @param is_multipath - Set to 1 if this is a multipath route, else 0 + @param is_source_lookup - The the path is a deaggregate path (i.e. a lookup + in another table) is the lookup on the packet's + source address or destination. @param not_last - Is last or not last msg in group of multiple add/del msgs @param next_hop_weight - @param dst_address_length - @@ -398,6 +401,7 @@ autoreply define ip_add_del_route u8 is_resolve_host; u8 is_resolve_attached; u8 is_l2_bridged; + u8 is_source_lookup; /* Is last/not-last message in group of multiple add/del messages. */ u8 not_last; u8 next_hop_weight; diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c index f3712d3fd29..8a3ceb2a4e9 100644 --- a/src/vnet/ip/ip_api.c +++ b/src/vnet/ip/ip_api.c @@ -830,6 +830,7 @@ add_del_route_t_handler (u8 is_multipath, u8 is_interface_rx, u8 is_rpf_id, u8 is_l2_bridged, + u8 is_source_lookup, u32 fib_index, const fib_prefix_t * prefix, dpo_proto_t next_hop_proto, @@ -877,6 +878,8 @@ add_del_route_t_handler (u8 is_multipath, path_flags |= FIB_ROUTE_PATH_INTF_RX; if (is_rpf_id) path_flags |= FIB_ROUTE_PATH_RPF_ID; + if (is_source_lookup) + path_flags |= FIB_ROUTE_PATH_SOURCE_LOOKUP; if (is_multicast) entry_flags |= FIB_ENTRY_FLAG_MULTICAST; @@ -1076,6 +1079,7 @@ ip4_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp) mp->is_resolve_host, mp->is_resolve_attached, 0, 0, mp->is_l2_bridged, + mp->is_source_lookup, fib_index, &pfx, DPO_PROTO_IP4, &nh, ntohl (mp->next_hop_sw_if_index), @@ -1136,6 +1140,7 @@ ip6_add_del_route_t_handler (vl_api_ip_add_del_route_t * mp) mp->is_resolve_host, mp->is_resolve_attached, 0, 0, mp->is_l2_bridged, + mp->is_source_lookup, fib_index, &pfx, DPO_PROTO_IP6, &nh, ntohl (mp->next_hop_sw_if_index), next_hop_fib_index, -- cgit 1.2.3-korg