summaryrefslogtreecommitdiffstats
path: root/src/vnet/mpls/mpls_output.c
AgeCommit message (Expand)AuthorFilesLines
2021-01-18ipsec: Support MPLS over IPSec[46] interfaceNeale Ranns1-32/+27
2020-10-07misc: Purge unused pg includesNeale Ranns1-1/+0
2020-04-09mpls: fix typo in error pathDave Barach1-10/+9
2019-11-11ip: functional interface to ip fragmentationOle Troan1-37/+181
2019-10-09mpls: support fragmentation of mpls output packetRajesh Goel1-14/+56
2019-06-19mpls: fix header offset overflowBenoƮt Ganne1-3/+6
2019-05-30mpls: leverage vlib_buffer_advanceZhiyong Yang1-7/+4
2019-03-05mpls: migrate old MULTIARCH macros to VLIB_NODE_FNFilip Tehlar1-15/+3
2018-03-16QoS recording and markingNeale Ranns1-1/+4
2018-01-30Allow the provider of a midchain adjacency to pass context data that is retur...Neale Ranns1-3/+9
2017-12-09BIER in non-MPLS netowrksNeale Ranns1-14/+0
2017-10-04[aarch64] Fixes CLI crashes on dpaa2 platform.Christophe Fontaine1-2/+2
2017-05-24MPLS trace fixesNeale Ranns1-0/+6
2017-04-06Use thread local storage for thread indexDamjan Marion1-5/+5
2017-03-29Mtrie optimisationsNeale Ranns1-8/+0
2017-03-17MPLS performance improvments.Neale Ranns1-0/+10
2017-03-17Cache a 'has-features' flag on the adjacency for faster access. Reclaim the n...Neale Ranns1-16/+26
2017-01-25[re]Enable per-Adjacency/neighbour countersNeale Ranns1-18/+19
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-0/+479
pan class="n">fib_entry_src_t *src) { src->fes_flags = FIB_ENTRY_SRC_FLAG_NONE; } /** * Source deinitialisation Function */ static void fib_entry_src_special_deinit (fib_entry_src_t *src) { } static void fib_entry_src_special_remove (fib_entry_src_t *src) { src->fes_pl = FIB_NODE_INDEX_INVALID; } static void fib_entry_src_special_add (fib_entry_src_t *src, const fib_entry_t *entry, fib_entry_flag_t flags, dpo_proto_t proto, const dpo_id_t *dpo) { src->fes_pl = fib_path_list_create_special(proto, fib_entry_src_flags_2_path_list_flags(flags), dpo); } static void fib_entry_src_special_path_swap (fib_entry_src_t *src, const fib_entry_t *entry, fib_path_list_flags_t pl_flags, const fib_route_path_t *rpaths) { src->fes_pl = fib_path_list_create((FIB_PATH_LIST_FLAG_SHARED | pl_flags), rpaths); } const static fib_entry_src_vft_t special_src_vft = { .fesv_init = fib_entry_src_special_init, .fesv_deinit = fib_entry_src_special_deinit, .fesv_add = fib_entry_src_special_add, .fesv_remove = fib_entry_src_special_remove, .fesv_path_swap = fib_entry_src_special_path_swap, }; void fib_entry_src_special_register (void) { fib_entry_src_register(FIB_SOURCE_SPECIAL, &special_src_vft); fib_entry_src_register(FIB_SOURCE_MAP, &special_src_vft); fib_entry_src_register(FIB_SOURCE_CLASSIFY, &special_src_vft); fib_entry_src_register(FIB_SOURCE_AE, &special_src_vft); fib_entry_src_register(FIB_SOURCE_PROXY, &special_src_vft); fib_entry_src_register(FIB_SOURCE_BIER, &special_src_vft); }