aboutsummaryrefslogtreecommitdiffstats
path: root/test/vpp_ipsec_tun_interface.py
AgeCommit message (Expand)AuthorFilesLines
2019-11-08ipsec: remove dedicated IPSec tunnelsNeale Ranns1-1/+4
2019-07-16ipsec: handle UDP keepalivesNeale Ranns1-1/+1
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-45/+0
2019-06-14ipsec: Correctly rewind the buffer to the IP header when punting UDP encapped...Neale Ranns1-1/+4
2019-04-17IPSEC: Pass the algorithm salt (used in GCM) over the APINeale Ranns1-2/+5
2019-04-02IPSEC-GRE; testsNeale Ranns1-0/+45
2019-03-29tests: refactor vpp_object.pyPaul Vinciguerra1-3/+0
2019-03-21ipsec: add ipv6 support for ipsec tunnel interfaceKingwel Xie1-9/+16
2018-06-24Revert "Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums""Klement Sekera1-0/+43
2018-06-22Revert "ipsec: VPP-1316 calculate IP/TCP/UDP inner checksums"Ole Troan1-43/+0
2018-06-21ipsec: VPP-1316 calculate IP/TCP/UDP inner checksumsKlement Sekera1-0/+43
e. */ #include <vlib/vlib.h> #include <vnet/pg/pg.h> #include <vnet/gre/gre.h> #include <vnet/mpls/mpls.h> typedef struct { pg_edit_t label; } pg_mpls_header_t; static inline void pg_mpls_header_init (pg_mpls_header_t * e) { pg_edit_init (&e->label, mpls_unicast_header_t, label_exp_s_ttl); } uword unformat_pg_mpls_header (unformat_input_t * input, va_list * args) { pg_stream_t * s = va_arg (*args, pg_stream_t *); pg_mpls_header_t * h; vlib_main_t * vm = vlib_get_main(); u32 group_index, error; h = pg_create_edit_group (s, sizeof (h[0]), sizeof (mpls_unicast_header_t), &group_index); pg_mpls_header_init (h); error = 1; if (! unformat (input, "%U", unformat_pg_edit, unformat_mpls_label_net_byte_order, &h->label)) goto done; { pg_node_t * pg_node = 0; vlib_node_t * ip_lookup_node; ip_lookup_node = vlib_get_node_by_name (vm, (u8 *)"ip4-input"); ASSERT (ip_lookup_node); pg_node = pg_get_node (ip_lookup_node->index); if (pg_node && pg_node->unformat_edit && unformat_user (input, pg_node->unformat_edit, s)) ; } error = 0; done: if (error) pg_free_edit_group (s); return error == 0; }