SIXRD: fix post introduction of the directed subnet broadcast

Change-Id: I9ce801e9b257eaa6be0cbe2ad3bfe630717f8c67
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
This commit is contained in:
Neale Ranns
2018-07-30 08:14:14 -07:00
committed by Florin Coras
parent c5d4317ad0
commit 579092c4ba
2 changed files with 4 additions and 12 deletions

View File

@ -520,7 +520,8 @@ adj_nbr_midchain_update_rewrite (adj_index_t adj_index,
* src,dst, this is all we need.
*/
ASSERT((adj->lookup_next_index == IP_LOOKUP_NEXT_ARP) ||
(adj->lookup_next_index == IP_LOOKUP_NEXT_GLEAN));
(adj->lookup_next_index == IP_LOOKUP_NEXT_GLEAN) ||
(adj->lookup_next_index == IP_LOOKUP_NEXT_BCAST));
/*
* tunnels can always provide a rewrite.

View File

@ -179,14 +179,6 @@ sixrd_tunnel_stack (adj_index_t ai, u32 fib_index)
adj_nbr_midchain_stack (ai, &dpo);
}
const static ip46_address_t sixrd_special_nh = {
.ip6 = {
.as_u64 = {
[0] = 0xffffffffffffffff,
[1] = 0xffffffffffffffff,
},
},
};
static void
sixrd_update_adj (vnet_main_t * vnm, u32 sw_if_index, adj_index_t ai)
@ -197,8 +189,7 @@ sixrd_update_adj (vnet_main_t * vnm, u32 sw_if_index, adj_index_t ai)
/* Not our tunnel */
if (!t)
return;
if (!memcmp (&sixrd_special_nh, &adj->sub_type.nbr.next_hop,
sizeof (sixrd_special_nh)))
if (IP_LOOKUP_NEXT_BCAST == adj->lookup_next_index)
{
adj_nbr_midchain_update_rewrite (ai, sixrd_fixup, t, ADJ_FLAG_NONE,
sixrd_build_rewrite (vnm, sw_if_index,
@ -363,7 +354,7 @@ sixrd_add_tunnel (ip6_address_t * ip6_prefix, u8 ip6_prefix_len,
fib_table_entry_update_one_path (fib_index, &pfx6, FIB_SOURCE_CLI,
FIB_ENTRY_FLAG_ATTACHED, DPO_PROTO_IP6,
&sixrd_special_nh, hi->sw_if_index, ~0, 1,
&ADJ_BCAST_ADDR, hi->sw_if_index, ~0, 1,
NULL, FIB_ROUTE_PATH_FLAG_NONE);
*sw_if_index = hi->sw_if_index;