summaryrefslogtreecommitdiffstats
path: root/test/test_gre.py
AgeCommit message (Expand)AuthorFilesLines
2022-05-10tests: replace pycodestyle with blackKlement Sekera1-337/+376
2021-05-13tests: move test source to vpp/testDave Wallace1-0/+1296
2020-11-17tests: move gre tests to src/vnet/gre/testDave Wallace1-1275/+0
2020-10-08gre: MPLS over GRE does not select correct fixup functionNeale Ranns1-1/+55
2020-07-16gre: fix outer ip6 lengthAloys Augustin1-0/+9
2020-02-21ipsec: IPSec protection for multi-point tunnel interfacesNeale Ranns1-7/+7
2020-02-11ip: fix ip-local errorsFlorin Coras1-2/+2
2020-02-04teib: Rename NHRP to TEIBNeale Ranns1-9/+9
2020-01-30gre: Tunnel encap/decap flagsNeale Ranns1-19/+43
2020-01-27ipip: Multi-point interfaceNeale Ranns1-12/+12
2020-01-27tunnel: Common types for IP tunnelsNeale Ranns1-4/+4
2019-12-19gre: multipoint ingress lookup fixNeale Ranns1-14/+69
2019-12-17nhrp: mGREv6Neale Ranns1-0/+78
2019-12-17fib: Glean on NBMA interface points to dropNeale Ranns1-0/+6
2019-12-04gre: Multi-point interfacesNeale Ranns1-2/+78
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto1-1/+1
2019-06-18fib: fib api updatesNeale Ranns1-15/+8
2019-05-28gre: don't register gre input nodes unless a gre tunnel is createdJakub Grajciar1-0/+46
2019-04-18GRE: API updateNeale Ranns1-12/+9
2019-04-10Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.Paul Vinciguerra1-0/+4
2019-04-08fixing typosJim Thompson1-2/+2
2019-03-29tests: test/vpp_l2.py fix missing name.Paul Vinciguerra1-2/+1
2019-03-11vpp_papi_provider: Remove more wrapper functions.Ole Troan1-6/+6
2019-03-11VPP-1508: Use scapy.compat to manage packet level library differences.Paul Vinciguerra1-5/+8
2019-03-04test framework: Fix wrapper functions to match API message names.Ole Troan1-6/+6
2019-03-01Tests: Remove all wildcard imports.Paul Vinciguerra1-8/+6
2018-12-07FIB recusrion loop checks traverse midchain adjacenciesNeale Ranns1-0/+61
2018-11-29GRE: UT uses new pkt send functionsNeale Ranns1-108/+23
2018-11-29GRE: fix VRF unit-testsNeale Ranns1-3/+8
2018-09-19GRE: fix 4o6 and 6o4 adj stackingNeale Ranns1-0/+87
2018-09-11GBP Endpoint UpdatesNeale Ranns1-1/+2
2018-02-15Optimize GRE Tunnel and add support for ERSPAN encapJohn Lo1-2/+8
2017-12-16GRE tunnel key includes the FIB tableNeale Ranns1-0/+19
2017-12-13GRE: fix single loop decap and add testNeale Ranns1-0/+25
2017-09-11FIB table add/delete APINeale Ranns1-2/+6
2017-08-08L2 over MPLSNeale Ranns1-11/+13
2017-04-05GRE over IPv6Ciara Loftus1-7/+142
2017-03-03Changing the IP table for an interface is an error if the interface already h...Neale Ranns1-0/+4
2017-02-20Python test IP and MPLS objects conform to infra.Neale Ranns1-17/+19
2016-12-23make test: improve handling of packet capturesKlement Sekera1-19/+14
2016-12-19make test: filter IPv6 RAs out by defaultKlement Sekera1-14/+1
2016-12-16make test: improve robustness and performanceKlement Sekera1-39/+23
2016-12-02MPLS infrastructure improvmentsNeale Ranns1-10/+11
2016-11-28GRE Tests update after postinit removalNeale Ranns1-1/+1
2016-11-22GRE tests and fixesNeale Ranns1-0/+700
/span>->type = VAT_JSON_IPV6; json->ip6 = ip6; } static_always_inline vat_json_node_t * vat_json_object_add (vat_json_node_t * json, const char *name) { ASSERT (VAT_JSON_OBJECT == json->type); uword pos = vec_len (json->pairs); vec_validate (json->pairs, pos); json->pairs[pos].name = name; return &json->pairs[pos].value; } static_always_inline vat_json_node_t * vat_json_array_add (vat_json_node_t * json) { ASSERT (VAT_JSON_ARRAY == json->type); uword pos = vec_len (json->array); vec_validate (json->array, pos); return &json->array[pos]; } static_always_inline vat_json_node_t * vat_json_object_add_list (vat_json_node_t * json, const char *name) { vat_json_node_t *array_node = vat_json_object_add (json, name); vat_json_init_array (array_node); return array_node; } static_always_inline void vat_json_object_add_string_copy (vat_json_node_t * json, const char *name, u8 * str) { vat_json_set_string_copy (vat_json_object_add (json, name), str); } static_always_inline void vat_json_object_add_uint (vat_json_node_t * json, const char *name, u64 number) { vat_json_set_uint (vat_json_object_add (json, name), number); } static_always_inline void vat_json_object_add_int (vat_json_node_t * json, const char *name, i64 number) { vat_json_set_int (vat_json_object_add (json, name), number); } static_always_inline void vat_json_object_add_real (vat_json_node_t * json, const char *name, f64 real) { vat_json_set_real (vat_json_object_add (json, name), real); } static_always_inline void vat_json_object_add_ip4 (vat_json_node_t * json, const char *name, struct in_addr ip4) { vat_json_set_ip4 (vat_json_object_add (json, name), ip4); } static_always_inline void vat_json_object_add_ip6 (vat_json_node_t * json, const char *name, struct in6_addr ip6) { vat_json_set_ip6 (vat_json_object_add (json, name), ip6); } static_always_inline void vat_json_array_add_int (vat_json_node_t * json, i64 number) { vat_json_set_int (vat_json_array_add (json), number); } static_always_inline void vat_json_array_add_uint (vat_json_node_t * json, u64 number) { vat_json_set_uint (vat_json_array_add (json), number); } static_always_inline void vat_json_object_add_bytes (vat_json_node_t * json, const char *name, u8 * array, uword size) { ASSERT (VAT_JSON_OBJECT == json->type); vat_json_node_t *json_array = vat_json_object_add (json, name); vat_json_init_array (json_array); int i; for (i = 0; i < size; i++) { vat_json_array_add_uint (json_array, array[i]); } } static_always_inline vat_json_node_t * vat_json_object_get_element (vat_json_node_t * json, const char *name) { int i = 0; ASSERT (VAT_JSON_OBJECT == json->type); for (i = 0; i < vec_len (json->pairs); i++) { if (0 == strcmp (json->pairs[i].name, name)) { return &json->pairs[i].value; } } return NULL; } #endif /* __JSON_FORMAT_H__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */