Commit Graph

6156 Commits

Author SHA1 Message Date
Florin Coras
537e85deab tcp: make default mtu configurable
Change-Id: I56d8d8d67d5590e24c1ddb54b0c63a2cb03798e1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-23 03:45:16 +00:00
Dave Barach
6c1f56f08c DOC-ONLY: improve multi-arch documentation
Document CLIB_MARCH_FN and CLIB_MARCH_FN_SELECT

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I661ba2af79db8205d70fa87203d40a2e31b795e4
2019-03-22 15:52:57 -04:00
Andrew Yourtchenko
8e843bbf40 acl-plugin: get rid of doubly-linked list fields in hash applied ACEs
With collision match vector, the doubly-linked list is not needed anymore.

Change-Id: Iaf667ebe6ce0bdd78306bec31d3949e6acb8d401
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Andrew Yourtchenko
9f3d3ceb01 acl-plugin: tuplemerge: fix a crash during soak test with split partition
Reload the hash-ready ACE vector pointer during the partition split
with each iteration, since the ACL# may change.

Change-Id: I1b001e06b52ff02ef59ca1d890f8462ca99e6634
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Andrew Yourtchenko
b5395729c7 acl-plugin: get rid of a separate "count" field in the linear acl struct
Long time ago, the linear array of rules in the ACL structure was not
a vector. Now it is, so get rid of the extraneous "count" member.
Do so in a manner that would ease potential the MP-safe manipulation of
ACL rules in the future.

Change-Id: Ib9c0731e4f21723c9ec4d7f00c3e5ead8e1e97bd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Filip Tehlar
063dfa1587 crypto: implement rfc4231 test cases
Change-Id: I540241672a20f687d20bb70adbf2b33200f34167
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-22 17:32:25 +00:00
Damjan Marion
831d23866a ipv6: vectorized ext header check
Change-Id: I454bb01153d1d0536c4a6fe36103e7721aad8cd1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-22 17:31:15 +00:00
Neale Ranns
3e2e1907d4 ADJ: more thorough link up check
Change-Id: I04dbfb914706b25fcc3bd6ee0d19cfdc810234ae
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-22 17:30:58 +00:00
Florin Coras
4759683744 tcp: improve handling of snd_nxt
- avoid changing snd_nxt when doing fast retransmits
- use snd_una_max only to keep track of the max seq number sent
- simplify future ack testing

Change-Id: I3580ad3aefe30128486c3375d0ac3f3f62c04c5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-22 17:30:29 +00:00
Florin Coras
881d13ede7 svm/atomics: add clib_atomic_swap_rel_n
Change-Id: Iea2c173000570043beafef58ca923463ce76d872
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-22 17:30:17 +00:00
Dave Barach
b757d1a7f5 add a "make test-gcov" target
add a line to "make help"

Change-Id: I94c9e54832e959f35ee28adc1b37091c1473f687
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-22 17:29:43 +00:00
Damjan Marion
af73eda080 ipsec: fix esn handling
Change-Id: I27f24095309082363ba0d0ba4bd69e2c0741dc1c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-22 14:53:33 +00:00
Neale Ranns
00a442068d IPSEC: test for packet drop on sequence number wrap
Change-Id: Id546c56a4904d13d4278055f3c5a5e4548e2efd0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-22 13:05:39 +00:00
Hyong Youb Kim
c39a93a83c dpdk: do not enable VLAN stripping on Cisco VIC adapters by default
With the following local patch, VIC adapters remove default vlan tags
from ingress packets. So, it is no longer necessary to enable VLAN
stripping by default. This change also allows VLAN sub interfaces to
work with VIC adapters.

patches/dpdk_19.02/0001-net-enic-untag-default-vlan-by-default.patch

Change-Id: I2e7d62c62120c351c27d827d90de4a8335efa044
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-22 13:04:39 +00:00
Hyong Youb Kim
a1c175a40d dpdk: add ENIC PMD patch to untag default vlan
The ingress vlan rewrite mode affects the vlan header of ingress
packet. The enic driver currently uses the 'passthrough' mode, which
leaves the vlan header intact. As all packets in UCS network are
tagged, this default mode leads to tagged ingress packets in the
following cases where VPP expects untagged packets.

1. Trunk-mode vNIC on UCS standalone server.
A remote device sends an untagged packet to the server. This packet is
ultimately tagged with vlan 0 as it reaches the driver, and VPP sees
an ingress packet tagged with vlan 0.

2. Access-mode vNIC on UCS blade or standalone server.
A remote device sends a packet on the vNIC's default vlan (e.g. 200)
to the server. This tag is untouched, and VPP sees an ingress packet
tagged with the default vlan (e.g. 200).

In both cases, VPP expects to see untagged packets. To work around the
issue, VPP currently enables vlan stripping on VIC interfaces, which
breaks vlan sub-interface features.

To avoid the current workaround, use the "untag default vlan" rewrite
mode. With this mode, the VIC adapter removes the vlan header if it
matches the default vlan. In the cases described above, VPP would see
untagged packets. Packets tagged with non-default vlan (e.g. non-0 for
case 1 and non-200 for case 2) are received with their tags intact, so
VPP sees tagged packets as expected.

The driver currently has no programmatic way to change the rewrite
mode after rte_eal_init. So use this patch to change the mode for the
time being.

Change-Id: Iff6408275363ed52d6016e7516d745214d6b30d4
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-22 12:59:49 +00:00
Andrew Yourtchenko
5c4b9f1efd vppapigen: allow for enum size other than u32
Change-Id: If20d2fbab9b854b7db276c81918fdff6abcb8385
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 12:53:01 +00:00
Paul Vinciguerra
f7f13347bc tests: update test_lb.py to use api call lb_conf.
Change-Id: I96a1d4b2b3ae22cf164c0acd6db9b323cd70f51a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-22 08:30:11 +00:00
Jon Loeliger
bdd6e6ac4e MAP: Crush Coverity Complaint
Change-Id: I965229f5bf8fcde9176357536a23ba8056542919
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-03-22 08:28:02 +00:00
Dave Barach
d1e17d00bb Ignore SIGTERM during the vpp boot sequence
Call setjmp and mark the setjmp context valid just prior to entering the
vpp main loop.

Change-Id: I26d5cd6a624cb2a497d81eb85a62365621b3b469
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-21 23:17:51 +00:00
Florin Coras
9e041b10ee vec: use memset in vec_resize_allocate_memory
Change-Id: I0ed28846060a774b1f6cdc1e4e5974a7e16f9f16
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-21 22:09:44 +00:00
Florin Coras
4b76112dc4 session/fifo: make event unset atomic
Ensures that fifo cursize loads cannot be speculated to before the event
unset.

Change-Id: Ia7c20c510d58f26a8e9b82d3982c6d4143a3a4d6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-21 13:56:02 -07:00
Neale Ranns
192b13f96d BVI Interface
a new dedicated BVI interface as opposed to [re]using a loopback.

benefits:
 - removes ambiguity over the purpose of a loopback interface
 - TX node dedicated to BVI only functions.

Change-Id: I749d6b38440d450ac5b909a28053c75ec9df946a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 20:33:30 +00:00
Steven Luong
1ea74b5df5 docs: break up long lines in vmxnet3.rst to avoid line wrap
Although it does not make a difference for the formatter with long lines, it
is easier to view and read the raw text with conventional editor when there no
line wrap. Just break up the long lines to 80 characters or less.

Change-Id: Ia916638e974abd19b8d19aee4dd72ff6a243ca48
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-21 18:19:38 +00:00
Neale Ranns
7227c39dc4 error-drop; print interface by name
Change-Id: I19736180c1e7e1d13dbb74bcd8f1dfae762b1d25
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 18:18:38 +00:00
Neale Ranns
2ac885c665 IPSEC: Mutli-tunnel tests
Change-Id: I46f1db6579835c6613fdbb2b726246cc62b135fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 13:44:31 +00:00
ezkexma
bcee60d570 api trace: cli bug fix
vpp/src/vlibmemory/vlib_api_cli.c
Fixing the help string for the "set api-trace" command.

Change-Id: I70f85a4f55466d2cc01018c4ad8cbe8332dbb925
Signed-off-by: ezkexma <maqi.z.ke@ericsson.com>
2019-03-21 12:39:35 +00:00
Kingwel Xie
27431dde95 icmp: bug fix of buffer->error
Recent changes in icmp4/6 choose to free the original
buffer, and make a copy for sending icmp reply back.
However, buffer->error will be ignored when the buffer
is freed unconditionally.

A quick fix can be moving the counter increment code to icmp,
but I prefert to enqueue all buffers to 'error-drop' so that
they can be handled in a batch

rebase, using vlib_buffer_enqueue_to_single_next

Change-Id: I9f3028b55f1d5f634763e2410cd91e17f368195e
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-21 11:29:24 +00:00
Kingwel Xie
1ba5bc8d88 ipsec: add ipv6 support for ipsec tunnel interface
Change-Id: I6a76907dc7bed2a81282b63669bea2219d6903c9
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2019-03-21 07:42:09 +00:00
Florin Coras
a5efca30f5 vcl: mark app state as failed if attach fails
Change-Id: If6c3b9a9136390fb740e5c00fd270b7962a1c4ab
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 22:02:49 +00:00
Damjan Marion
8863123bad crypto: add hmac truncate option
This reverts commit 785368e559dbdf50676f74f43f13423c817abb52.

Change-Id: I782ac2be4e161790c73ccd4b08492e2188a6d79d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:24:31 +00:00
Damjan Marion
f2edfbd212 crypto_openssl: call EVP_EncryptFinal_ex only if needed
Change-Id: I4dc6749a67c0726bae20b8204a5171676308b909
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:23:59 +00:00
Neale Ranns
c80cc9ab84 IPSEC: Tunnel SA not deleted
p is overwritten by hash_unset so an incorrect value is passed to
ipsec_sa_del

Change-Id: I97300dd4421c62d7cfa47b8e7e9789becb2370e9
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-20 17:23:41 +00:00
Damjan Marion
b966e8bfdd ipsec: keep crypto data inside SA
Change-Id: Ie8986bd3652d25c4befe681cea77df95aba37ebc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:23:04 +00:00
Kingwel Xie
c372dc2190 ipsec: bug fix ipsec-init sequence
ipsec_tunnel_if_init might be called before ipsec_init
this memset in ipsec-init therefore zero the memory
allocated by ipsec_tunnel_if_init

Change-Id: Ie889f1bf624c76842ef77e5a51ed1d41fed4758d
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-20 16:36:18 +00:00
Florin Coras
5fc939eea9 cpu: fix rtype for fn selected by CLIB_MARCH_FN
Change-Id: I79f65d7bd19af035442dca48b7be6c94de20c167
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 16:12:02 +00:00
Florin Coras
e5c57d763b tcp: disable cc elog debugging
Change-Id: Iffed748a15b9f01b985f9a6a9574a7bc42ab55aa
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 15:22:40 +00:00
Damjan Marion
47d165e4c1 perfmon: python to C parser for intel CPUs
EXAMPLE:
src/plugins/perfmon/intel_json_to_c.py \
  -i skylakex_core_v1.12.json \
  -o src/plugins/perfmon/perfmon_intel_skx.c \
  -m 0x55,0 \
  -m 0x55,1 \
  -m 0x55,2 \
  -m 0x55,3

Change-Id: I16ce059e231d340ecfcb6f6638e29c5b46304683
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 03:06:52 -07:00
Florin Coras
d89411ef5f ldp: force exit if constructor init fails
Change-Id: I0c4659b9e413cf7291ec9e3b5a67de8ad8028cd3
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 09:27:32 +00:00
Lijian.Zhang
e6a47cf557 Re-enable aarch64 neon instruction in vlib_buffer_free_inline
int vaddvq_u8 (uint8x16_t __a) is not appropriate to implement xxx_is_all_zero,
as there may be overflow causing incorrect return value.

Here's an example.
u8x16 x = {0 <repeats 12 times>, 1, 255, 0, 0};

Change-Id: Ia6a10bdf8da360dec12db902d028751a1a77e9a4
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
2019-03-20 09:27:20 +00:00
Filip Tehlar
e225f71766 tests: implement crypto tests per RFC2202
Change-Id: I18b30d5ee8aa60c34d52b7716b5feb7225cb0d59
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-20 00:56:41 -07:00
Paul Vinciguerra
76ef6094cb tests: cdp plugin. Replace cdp enable cli command with API call.
Change-Id: Ic2d21b535a58c1c618ec9e652d30858ad45a7d43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:47:36 +00:00
Paul Vinciguerra
b8daa257bd vpp_papi: Expose the list of field attributes to the client.
Change-Id: I7aba1760f68798fc5bea1244ce798e4b528a4df4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:44:20 +00:00
Paul Vinciguerra
ec850a8044 tests: replace CLI command with API for flowprobe params.
Change-Id: If446a0d111b89f0a761db41696e0d6ca912312f0
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:44:18 +00:00
Paul Vinciguerra
3d04e3303a vpp_papi: specify encoding for .encode()/.decode()
py2 defaults to 'ascii', py3 defaults to 'utf-8'.

Change-Id: Ib76d0ec56f24535e4bafd397cc6fb5e85967d508
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-19 17:36:32 -07:00
Jon Loeliger
4dc5c7b905 MAP: Add optional user-supplied 'tag' field in MAPs.
Like other entities, allow an arbitrray user-supplied 'tag'
field to be place on created MAP domains.  It is also later
returned with the MAP details.  You might be thinking "User
assigned MAP name" here.

As the MAP domain structure was at the limit of a cacheline size,
introduce a parallel "extra data" vector with non-essential domain
information in it.

Change-Id: Icc12b64cc4cb3e040c9a475908b19f6abaf4c293
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-03-19 20:44:34 +00:00
Neale Ranns
2e2c91f925 Revert "tests: Deprecate the use of CLI commands in tests."
This reverts commit e2e8f02165f27ae04e6d20ce0c628e29271a8db6.

Change-Id: Ie23dcb8a5b3e96f77e0d117a6887c43064c79669
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 17:56:54 +00:00
Damjan Marion
91f17dc7c4 crypto: introduce crypto infra
Change-Id: Ibf320b3e7b054b686f3af9a55afd5d5bda9b1048
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-19 16:29:43 +00:00
Michal Cmarada
5daf0c55c0 add default NONE flag for bd_flags
Change-Id: I316bcc3d0244cf89bd1e2fc8a08cfac6aad0b22c
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-03-19 16:22:48 +00:00
Neale Ranns
231c469687 IPSEC: remove byte swap operations in DP during SPD classify
Change-Id: I4bfde738f9585b045cb5ba62cf51b141d639b1b2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 14:53:26 +00:00
Neale Ranns
9f231d4f14 IPSEC: tidy the policy types
Change-Id: I5e981f12ff44243623cfd18d5e0ae06a7dfd1eb8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 11:26:14 +00:00