summaryrefslogtreecommitdiffstats
path: root/test/vpp_pg_interface.py
AgeCommit message (Expand)AuthorFilesLines
2018-06-24Revert "Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums""Klement Sekera1-3/+3
2018-06-22Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums"Ole Troan1-3/+3
2018-06-21ipsec: VPP-1316 calculate IP/TCP/UDP inner checksumsKlement Sekera1-3/+3
2017-02-21test: ip6 vrf instances multi-context test (CSIT-497)Jan Gelety1-2/+4
2017-02-14make test: improve stabilityKlement Sekera1-46/+57
2017-02-09make test: work around scapy truncated packetsKlement Sekera1-0/+33
2017-01-12make test: fix capture handling special-caseKlement Sekera1-8/+32
2017-01-11make test: improve documentation and PEP8 complianceKlement Sekera1-22/+26
2017-01-11test: ip4 vrf instances multi-context test (CSIT-492)Jan1-12/+10
2017-01-10IPv6 NS RS tests and fixesNeale Ranns1-2/+3
2017-01-09In python tests send NS packets to the solicited mcast address with correct m...Neale Ranns1-3/+8
2017-01-02make test: fix debug printKlement Sekera1-1/+1
2017-01-02make test: rotate capture files after consuming arp/ndpKlement Sekera1-2/+8
2017-01-02make test: fix assert_nothing_captured apiKlement Sekera1-8/+9
2016-12-23make test: improve handling of packet capturesKlement Sekera1-58/+128
2016-12-19make test: filter IPv6 RAs out by defaultKlement Sekera1-5/+29
2016-12-16make test: improve robustness and performanceKlement Sekera1-23/+59
2016-12-09When waiting for an IPv6 response, filter non-ND packetsNeale Ranns1-16/+21
2016-12-07BFD: basic asynchronous session up/downKlement Sekera1-2/+38
2016-12-05make test: fix missing log/packet messagesKlement Sekera1-20/+26
2016-11-24Remove postinit from make-test interfacesMatej Klotton1-13/+10
2016-11-14make test: improve naming of temporary pcap filesKlement Sekera1-6/+7
2016-11-11Add IRB testMatej Klotton1-1/+90
2016-11-09Improve test framework documentationKlement Sekera1-4/+37
2016-10-26refactor test frameworkKlement Sekera1-0/+99
>); memset (head, 0xFF, sizeof (*head)); } static inline void clib_dlist_addtail (dlist_elt_t * pool, u32 head_index, u32 new_index) { dlist_elt_t *head = pool_elt_at_index (pool, head_index); u32 old_last_index; dlist_elt_t *old_last; dlist_elt_t *new; ASSERT (head->value == ~0); new = pool_elt_at_index (pool, new_index); if (PREDICT_FALSE (head->next == ~0)) { head->next = head->prev = new_index; new->next = new->prev = head_index; return; } old_last_index = head->prev; old_last = pool_elt_at_index (pool, old_last_index); new->next = old_last->next; new->prev = old_last_index; old_last->next = new_index; head->prev = new_index; } static inline void clib_dlist_addhead (dlist_elt_t * pool, u32 head_index, u32 new_index) { dlist_elt_t *head = pool_elt_at_index (pool, head_index); dlist_elt_t *old_first; u32 old_first_index; dlist_elt_t *new; ASSERT (head->value == ~0); new = pool_elt_at_index (pool, new_index); if (PREDICT_FALSE (head->next == ~0)) { head->next = head->prev = new_index; new->next = new->prev = head_index; return; } old_first_index = head->next; old_first = pool_elt_at_index (pool, old_first_index); new->next = old_first_index; new->prev = old_first->prev; old_first->prev = new_index; head->next = new_index; } static inline void clib_dlist_remove (dlist_elt_t * pool, u32 index) { dlist_elt_t *elt = pool_elt_at_index (pool, index); dlist_elt_t *next_elt, *prev_elt; /* listhead, not so much */ ASSERT (elt->value != ~0); next_elt = pool_elt_at_index (pool, elt->next); prev_elt = pool_elt_at_index (pool, elt->prev); next_elt->prev = elt->prev; prev_elt->next = elt->next; elt->prev = elt->next = ~0; } static inline u32 clib_dlist_remove_head (dlist_elt_t * pool, u32 head_index) { dlist_elt_t *head = pool_elt_at_index (pool, head_index); u32 rv; ASSERT (head->value == ~0); if (head->next == ~0 || (head->next == head_index)) return ~0; rv = head->next; clib_dlist_remove (pool, rv); return rv; } static inline u32 clib_dlist_remove_tail (dlist_elt_t * pool, u32 head_index) { dlist_elt_t *head = pool_elt_at_index (pool, head_index); u32 rv; ASSERT (head->value == ~0); if (head->prev == ~0) return ~0; rv = head->prev; clib_dlist_remove (pool, rv); return rv; } #endif /* included_dlist_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */