summaryrefslogtreecommitdiffstats
path: root/src/vnet/ipsec/ipsec_cli.c
AgeCommit message (Expand)AuthorFilesLines
2019-12-10ipsec: Init salt value in SA creation CLI (so it's not random)Neale Ranns1-0/+1
2019-12-03ipip: Tunnel flags controlling copying data to/from payload/encapNeale Ranns1-2/+2
2019-11-18ipsec: Coverity warningsNeale Ranns1-5/+2
2019-11-08ipsec: remove dedicated IPSec tunnelsNeale Ranns1-65/+90
2019-09-30ipsec: add insecure option for format of SAChristian E. Hopps1-1/+2
2019-08-27ipsec: Add 'detail' option to 'sh ipsec sa'Neale Ranns1-4/+8
2019-07-16ipsec: handle UDP keepalivesNeale Ranns1-0/+52
2019-07-12ipsec: Reference count the SAsNeale Ranns1-5/+5
2019-07-11ipsec: Revert "IPSEC: remove byte swap operations in DP during SPD classify"Neale Ranns1-4/+0
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-1/+124
2019-06-14ipsec: Display user specified SPI ID not VPP's indexNeale Ranns1-1/+3
2019-06-07ipsec: remove the set_key APINeale Ranns1-131/+0
2019-06-05IPSEC: some CLI fixesNeale Ranns1-4/+3
2019-05-15IPSEC: remove CLI check for unsupported IPv6-AH - it is supportedNeale Ranns1-22/+0
2019-05-14IPSEC coverity fixesNeale Ranns1-1/+3
2019-04-25IPSEC; dpdk backend for tunnel interface encryptionNeale Ranns1-8/+7
2019-04-23Fix a ipsec command line typoSimon Zhang1-1/+1
2019-04-17IPSEC: Pass the algorithm salt (used in GCM) over the APINeale Ranns1-2/+5
2019-04-16IPSEC: support GCM in ESPNeale Ranns1-1/+3
2019-04-03IPSEC: show CLI improvementsNeale Ranns1-31/+146
2019-03-21ipsec: add ipv6 support for ipsec tunnel interfaceKingwel Xie1-3/+2
2019-03-19IPSEC: remove byte swap operations in DP during SPD classifyNeale Ranns1-0/+4
2019-03-19IPSEC: tidy the policy typesNeale Ranns1-2/+17
2019-03-07ipsec: cli bug fixesKingwel Xie1-4/+8
2019-03-04IPSEC: script to bounce IPSEC traffic through a pipe to test encrypt and decrpytNeale Ranns1-0/+33
2019-02-18IPSEC: move SA counters into the stats segmentNeale Ranns1-0/+1
2019-02-12ipsec: cli bug fixKingwel Xie1-6/+23
2019-02-07IPSEC: no second lookup after tunnel encapNeale Ranns1-173/+71
2019-02-05IPSEC: SPD counters in the stats sgementNeale Ranns1-196/+15
2019-02-04ipsec: cli 'create ipsec tunnel' more optionsKingwel Xie1-3/+7
2019-01-25IPSEC: tests use opbject registryNeale Ranns1-1/+11
2018-12-11Add IPSec interface FIB index for TX packetPierre Pfister1-3/+13
2018-12-02IPSEC-AH: anti-replay testingNeale Ranns1-2/+4
2018-11-26Fix IPSec CLI key parsingPierre Pfister1-2/+2
2018-11-15ipsec: infra for selecting backendsKlement Sekera1-3/+139
2018-10-23c11 safe string handling supportDave Barach1-4/+4
2018-09-24Trivial: Clean up some typos.Paul Vinciguerra1-3/+3
2018-08-03ipsec: add udp-encap option to debug cli commandsRadu Nicolau1-4/+10
2018-06-29ipsec: fix VPP-1333 - crash in ipsec policy cliKlement Sekera1-0/+6
2018-05-11VPP-1275 Fix memory leaks in IPsec CLIKlement Sekera1-54/+83
2018-05-09ipsec: support UDP encap/decap for NAT traversalKlement Sekera1-3/+4
2018-05-04ipsec: allow null/null for crypto/integ algorithms pairRadu Nicolau1-2/+2
2018-04-19Allow an IPsec tunnel interface to be renumberedMatthew Smith1-1/+3
2017-11-28IPSec AH protocol enhancement in VPP native core“mukeshyadav1984”1-3/+16
2017-02-22VPP-635: CLI Memory leak with invalid parameterBilly McFall1-55/+122
2017-01-27dpdk: rework cryptodev ipsec build and setupSergio Gonzalez Monroy1-21/+10
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-0/+807
n class="p">(1 << 8)) return 0; *result = p; return 1; } /* Named type. */ if (unformat_user (input, unformat_vlib_number_by_name, pm->protocol_info_by_name, &i)) { llc_protocol_info_t *pi = vec_elt_at_index (pm->protocol_infos, i); *result = pi->protocol; return 1; } return 0; } uword unformat_llc_header (unformat_input_t * input, va_list * args) { u8 **result = va_arg (*args, u8 **); llc_header_t _h, *h = &_h; u8 p; if (!unformat (input, "%U", unformat_llc_protocol, &p)) return 0; h->src_sap = h->dst_sap = p; h->control = 0x3; /* Add header to result. */ { void *p; u32 n_bytes = sizeof (h[0]); vec_add2 (*result, p, n_bytes); clib_memcpy (p, h, n_bytes); } return 1; } static u8 * llc_build_rewrite (vnet_main_t * vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address) { llc_header_t *h; u8 *rewrite = NULL; llc_protocol_t protocol; switch (link_type) { #define _(a,b) case VNET_LINK_##a: protocol = LLC_PROTOCOL_##b; break _(IP4, ip4); #undef _ default: return (NULL); } vec_validate (rewrite, sizeof (*h) - 1); h = (llc_header_t *) rewrite; h->src_sap = h->dst_sap = protocol; h->control = 0x3; return (rewrite); } /* *INDENT-OFF* */ VNET_HW_INTERFACE_CLASS (llc_hw_interface_class) = { .name = "LLC", .format_header = format_llc_header_with_length, .unformat_header = unformat_llc_header, .build_rewrite = llc_build_rewrite, }; /* *INDENT-ON* */ static void add_protocol (llc_main_t * pm, llc_protocol_t protocol, char *protocol_name) { llc_protocol_info_t *pi; u32 i; vec_add2 (pm->protocol_infos, pi, 1); i = pi - pm->protocol_infos; pi->name = protocol_name; pi->protocol = protocol; pi->next_index = pi->node_index = ~0; hash_set (pm->protocol_info_by_protocol, protocol, i); hash_set_mem (pm->protocol_info_by_name, pi->name, i); } static clib_error_t * llc_init (vlib_main_t * vm) { clib_error_t *error; llc_main_t *pm = &llc_main; clib_memset (pm, 0, sizeof (pm[0])); pm->vlib_main = vm; pm->protocol_info_by_name = hash_create_string (0, sizeof (uword)); pm->protocol_info_by_protocol = hash_create (0, sizeof (uword)); #define _(f,n) add_protocol (pm, LLC_PROTOCOL_##f, #f); foreach_llc_protocol; #undef _ if ((error = vlib_call_init_function (vm, snap_init))) return error; return vlib_call_init_function (vm, llc_input_init); } VLIB_INIT_FUNCTION (llc_init); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */