From 9128637ee8f7b0d903551f165a1447d427e8dd19 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 5 Dec 2017 13:24:04 -0800 Subject: BIER in non-MPLS netowrks as decsribed in section 2.2 ihttps://tools.ietf.org/html/draft-ietf-bier-mpls-encapsulation-10 with BIFT encoding from: https://tools.ietf.org/html/draft-wijnandsxu-bier-non-mpls-bift-encoding-00 changes: 1 - introduce the new BIFT lookup table. BIER tables that have an associated MPLS label are added to the MPLS-FIB. Those that don't are added to the BIER table 2 - BIER routes that have no associated output MPLS label will add a BIFT label. 3 - The BIER FMask has a path-list as a member to resolve via any possible path. Change-Id: I1fd4d9dbd074f0e855c16e9329b81460ebe1efce Signed-off-by: Neale Ranns --- src/vnet/bier/bier.api | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/vnet/bier/bier.api') diff --git a/src/vnet/bier/bier.api b/src/vnet/bier/bier.api index 466524cc6a3..e4edfa1768a 100644 --- a/src/vnet/bier/bier.api +++ b/src/vnet/bier/bier.api @@ -36,7 +36,9 @@ typeonly define bier_table_id @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param bt_tbl_id - The BIER table-id the route is added in - @param bt_mpls_label - The MPLS label for the table + @param bt_label - The MPLS label for the table (0 or all ones means not set) + If the label is not set, then it is assumed that non-MPLS + encoding is used. @param bt_is_add - Is this a route add or delete */ autoreply define bier_table_add_del @@ -67,10 +69,11 @@ define bier_table_details @param preference - The preference of the path. lowest preference is prefered @param is_local - local if non-zero, else remote @param is_drop - Drop the packet - @param is_unreach - Drop the packet and rate limit send ICMP unreachable - @param is_prohibit - Drop the packet and rate limit send ICMP prohibited + @param is_udp_encap - The path describes a UDP-o-IP encapsulation. @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2 @param next_hop[16] - the next hop address + @param next_hop_id - Used when the path resolves via an object that has a unique + identifier. e.g. the UDP encap object WARNING: this type is replicated, pending cleanup completion */ @@ -82,10 +85,10 @@ typeonly define fib_path3 u8 preference; u8 is_local; u8 is_drop; - u8 is_unreach; - u8 is_prohibit; + u8 is_udp_encap; u8 afi; u8 next_hop[16]; + u32 next_hop_id; u32 rpf_id; u8 n_labels; u32 label_stack[16]; -- cgit 1.2.3-korg