summaryrefslogtreecommitdiffstats
path: root/test/vpp_ip_route.py
AgeCommit message (Expand)AuthorFilesLines
2018-07-09IGMP improvementsNeale Ranns1-11/+27
2018-04-17IP mcast: allow unicast address as a next-hopNeale Ranns1-4/+11
2018-03-20FIB Interpose SourceNeale Ranns1-0/+13
2018-03-09MPLS Unifom modeNeale Ranns1-6/+38
2018-01-09DVR: run L3 output featuresNeale Ranns1-3/+5
2018-01-09BIER: missing endian swap for imposition object in API returnNeale Ranns1-0/+1
2017-11-09BIERNeale Ranns1-6/+22
2017-11-07UDP Encapsulation.Neale Ranns1-0/+8
2017-10-14Source Lookup progammable via APINeale Ranns1-0/+3
2017-10-05Distributed Virtual Router SupportNeale Ranns1-0/+2
2017-09-11FIB table add/delete APINeale Ranns1-0/+73
2017-08-08L2 over MPLSNeale Ranns1-7/+17
2017-05-24Missing VLIB node for IPv6 disposition from mcast MPLS LSPNeale Ranns1-4/+5
2017-04-24Improve Load-Balance MAPsNeale Ranns1-17/+36
2017-04-07MPLS McastNeale Ranns1-3/+35
2017-03-17Fix IP feature ordering.Neale Ranns1-0/+17
2017-03-10Fix MAP-E UT. Add functionality in MAP code to delete the pre-resolved next-h...Neale Ranns1-1/+9
2017-03-09IMplementation for option to not create a FIB table entry when adding a neigh...Neale Ranns1-34/+44
2017-03-09Tests to target holes in adjacency and DPO test coverageNeale Ranns1-9/+22
2017-02-20Python test IP and MPLS objects conform to infra.Neale Ranns1-12/+104
2017-01-27IP Multicast FIB (mfib)Neale Ranns1-1/+100
2017-01-26DHCPv[46] proxy testsNeale Ranns1-18/+49
2017-01-11make test: improve documentation and PEP8 complianceKlement Sekera1-22/+30
2016-12-14Ping response in a VRF context uses correct FIB for responseNeale Ranns1-1/+2
2016-12-02MPLS infrastructure improvmentsNeale Ranns1-3/+72
2016-11-22GRE tests and fixesNeale Ranns1-0/+46
\ body; \ \ /* End of circular list? */ \ if (__fheap_foreach_next_ni == __fheap_foreach_first_ni) \ break; \ \ __fheap_foreach_ni = __fheap_foreach_next_ni; \ \ } \ } while (0) typedef struct { u32 min_root; /* Vector of nodes. */ fheap_node_t *nodes; u32 *root_list_by_rank; u32 enable_validate; u32 validate_serial; } fheap_t; /* Initialize empty heap. */ always_inline void fheap_init (fheap_t * f, u32 n_nodes) { fheap_node_t *save_nodes = f->nodes; u32 *save_root_list = f->root_list_by_rank; memset (f, 0, sizeof (f[0])); f->nodes = save_nodes; f->root_list_by_rank = save_root_list; vec_validate (f->nodes, n_nodes - 1); vec_reset_length (f->root_list_by_rank); f->min_root = ~0; } always_inline void fheap_free (fheap_t * f) { vec_free (f->nodes); vec_free (f->root_list_by_rank); } always_inline u32 fheap_find_min (fheap_t * f) { return f->min_root; } always_inline u32 fheap_is_empty (fheap_t * f) { return f->min_root == ~0; } /* Add/delete nodes. */ void fheap_add (fheap_t * f, u32 ni, u32 key); void fheap_del (fheap_t * f, u32 ni); /* Delete and return minimum. */ u32 fheap_del_min (fheap_t * f, u32 * min_key); /* Change key value. */ void fheap_decrease_key (fheap_t * f, u32 ni, u32 new_key); #endif /* included_clib_fheap_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */