BIER in non-MPLS netowrks 36/9736/7
authorNeale Ranns <nranns@cisco.com>
Tue, 5 Dec 2017 21:24:04 +0000 (13:24 -0800)
committerFlorin Coras <florin.coras@gmail.com>
Sat, 9 Dec 2017 20:55:08 +0000 (20:55 +0000)
commit9128637ee8f7b0d903551f165a1447d427e8dd19
tree244014dd1064643946d64066e352ee1627bf622c
parentcef87f1a5eb4d69cf11ce1cd3c5506edcfba74c4
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 <nranns@cisco.com>
39 files changed:
src/vnet.am
src/vnet/bier/bier.api
src/vnet/bier/bier_api.c
src/vnet/bier/bier_bift_table.c [new file with mode: 0644]
src/vnet/bier/bier_bift_table.h [new file with mode: 0644]
src/vnet/bier/bier_disp_dispatch_node.c
src/vnet/bier/bier_disp_entry.c
src/vnet/bier/bier_disp_table.c
src/vnet/bier/bier_entry.c
src/vnet/bier/bier_fmask.c
src/vnet/bier/bier_fmask.h
src/vnet/bier/bier_fmask_db.c
src/vnet/bier/bier_fmask_db.h
src/vnet/bier/bier_imp_node.c
src/vnet/bier/bier_input.c
src/vnet/bier/bier_lookup.c
src/vnet/bier/bier_output.c
src/vnet/bier/bier_table.c
src/vnet/bier/bier_test.c
src/vnet/bier/bier_types.c
src/vnet/bier/bier_types.h
src/vnet/bier/bier_update.c
src/vnet/buffer.h
src/vnet/dpo/load_balance.c
src/vnet/dpo/load_balance.h
src/vnet/fib/fib_entry_src.c
src/vnet/fib/fib_path.c
src/vnet/fib/fib_path.h
src/vnet/fib/fib_path_list.c
src/vnet/fib/fib_path_list.h
src/vnet/fib/fib_types.h
src/vnet/lisp-gpe/lisp_gpe_fwd_entry.c
src/vnet/mpls/mpls_output.c
src/vnet/udp/udp.h
src/vnet/udp/udp_encap.c
test/patches/scapy-2.3.3/bier.patch
test/test_bier.py
test/vpp_bier.py
test/vpp_papi_provider.py