8181 Commits

Author SHA1 Message Date
Neale Ranns
822d6899dd crypto-ipsecmb: Add FEATURE.yaml for all crypto engine plugins
Type: docs

Change-Id: Ia00e3167e954271c9eb7618792fd86df288d5c19
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-01-02 23:25:05 +00:00
Dave Barach
9ce3b74750 http_static: add FEATURE.yaml
Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2f9a74541183af6c10abea2c29002842ddb88815
2020-01-02 16:44:19 +00:00
Florin Coras
95cd864382 session: fix listener global endpoint lookup
Type: fix

Ensure listeners for app transport protocols are added to lookup tables
using their session endpoints instead of their transport connections,
which can override the network connection id in the transport connection.

Change-Id: I56fa3666bb1422c0799fc7143cd099751ff6e2e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-01-02 16:34:33 +00:00
Dave Barach
4ed2598562 tests: configure 32 mb physmem
Absolutely nothing good happens when we force the kernel to briefly
map and then unmap 16gb as vpp starts. Effect exacerbated when
TEST_JOBS = 20...40, and so forth.

Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id8e3ce1763cad3a0891d5d6c8d2c1e3e610682d7
2020-01-02 16:29:19 +00:00
Benoît Ganne
15d7fd0fe0 virtio: fix checksum offload support
Checksum offload and GSO are independent. We must support checksum
offload if it has been negotiated, independently of GSO.

Ticket: VPPSUPP-47
Type: fix

Change-Id: I8cb6dd58b61714ebb2726eb4aab0d74d49fdab99
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-01-02 12:54:38 +00:00
Mohsin Kazmi
222b709ad9 gso: fix number of buffers required for segmentation
Type: fix

Change-Id: I73ef0ce81b2d6a799f6a6e59908ec24cc2290a2c
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-01-02 12:50:19 +00:00
Paul Vinciguerra
7ade2f51ad tests: bfd - move test_poll_response to EXTENDED_TESTS
test_bfd.BFD4TestCase.test_poll_response providing
  inconsistent results is the per-patch tests.

Type: test

Change-Id: I8f1864511526fd330a7da1abfa19be3f565c683a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-01-02 12:49:27 +00:00
Neale Ranns
306c3080d9 ip: indent format typo fix
Type: style

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Idfcd4a363d4582ce69fac83ddc760f2dc4feed52
2020-01-01 21:55:41 +00:00
Neale Ranns
fca3c6a3aa ip-neighbor: set link-type ARP on incomplete adjacencies
Type: fix

Change-Id: I05d74da311d6a86ec4eb3df50d53ecaa9c622f50
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-31 03:49:56 +00:00
Florin Coras
fea813ae3d svm: broadcast on raw dequeues and full rings
Type: fix

Change-Id: I0cac9001290e7ed4e2e318ae62c56e97ec75a3db
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-30 19:50:38 +00:00
hanlin
9f3f18f99f vcl: hold errno when calling LDBG
Type: fix

Call trace of LDBG:
LDBG->clib_warning->_clib_error->dispatch_message->os_puts->writev
However, writev will hijacked by LDP, and then execute following code:
if ((errno = -ldp_init ()))
    return -1;
Now, errno will be set.

Because we always call LDBG just before return from ldp_accept4, listen,
and etc. So errno will be overwritted after LDBG called.

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I7a90f3a14772994f11f09650481411796e3f5630
2019-12-30 17:26:18 +00:00
Florin Coras
b7f035ff4c tcp: validate port reuse
Type: fix

Make sure existing connection is in time-wait

Change-Id: I8e8bef151f81bcd589b4da0d4bf63cc59f9f451b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-27 09:27:52 -08:00
Yu Ping
b092b77cf2 tcp: Enable TCP timewait port use
Improve host stack CPS test, and it help improve 10x performance

Type: feature

Change-Id: I6af61e0bad7c16ee2d30a1422cc46bb89f1cedb4
Signed-off-by: Yu Ping <ping.yu@intel.com>
Signed-off-by: Yuwei Zhang <yuwei1.zhang@intel.com>
2019-12-27 17:17:51 +00:00
Paul Vinciguerra
a42c6ee973 tests: test_mpls_v6_ebgp_pic - don't write to stdout
Type: test

Change-Id: I2cccc68b1b4b6c576580ae0eb5d4511ca2f4663d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-27 00:17:01 -05:00
hanlin
475c9d7bcd vcl: EPOLLOUT should be generated when epoll_ctl called with EPOLLOUT
event

Type: fix

When we call epoll_ctl to add or mod fd with EPOLLOUT event, mostly to
check if we can write. So we expect a EPOLLOUT event should be generated
immediately unless tx queue is full.

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: Ie99986a44dbb07b6ff2fba6512171056f79e77bd
2019-12-27 04:53:22 +00:00
Paul Vinciguerra
3f7b0f4a7c tests: tls - don't print skip info to stdout
Type: test

Change-Id: Id1bffbfe698113d85c4c6bf432ddf4908ed2b788
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-26 19:13:02 -05:00
Dave Barach
29c6132108 classify: "classify filter ..." debug CLI cleanup
The pcap trace filter initial table index lives in
cm->filter_set_by_sw_if_index [0], which corresponds to the "local0"
interface. Debug cli makes sure that folks don't accidentally specify
the "local0" interface. At least it does now...

Fix the "vlib format.c code coverage" test in test/test_vlib.py.

Type: fix
Change-Id: I35320bc2c8f0c6f1f8c12e3529d1938548185151
Signed-off-by: Dave Barach <dave@barachs.net>
2019-12-25 13:01:48 +00:00
Dave Barach
1decd98e2e unittest: test_bihash call clib_time_init(...)
Fix "Rejecting large frequency change of +infinity" errors.

Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I8efca1291e38c48bb98e7f8109253224a4f0a2a1
2019-12-24 15:26:05 -05:00
Paul Vinciguerra
de35cdb778 tests: fix skip logic on test_tap
log.txt message:
17:52:59,969 API call failed, expected 0 return value instead of -13 in tap_create_v2_reply(_0=58, context=77019, retval=-13, sw_if_index=4294967295)

Test was failing with log message:
  tap: tap0: tap_create_if: ioctl(TUNSETIFF): Operation not permitted

Type: test
Change-Id: I5bcd9d2b0c870ea5eef92b79314b97821399722f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-24 12:49:55 +00:00
Matthew Smith
5002e7f26f ip-neighbor: ip_neighbor_advertise() handles null
Type: fix
Fixes: cbe25aab3b

ip_neighbor_advertise() was calling one of both of
ip4_neighbor_advertise() and/or ip6_neighbor_advertise() with
&addr->{ip4|ip6} as an argument. If addr is null, which is likely
a requirement when the type is IP46_TYPE_BOTH, this results in a
SEGV.

Check addr and pass a pointer to one of it's members if it is not
null, otherwise pass null.

Change-Id: I6261bb8fe947365fe3d6c58788ea27d5cb28ff05
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-12-23 19:37:38 -06:00
Neale Ranns
4a56f4e48f ipsec: Test and fix IPSec worker hand-off
Type: fix

Change-Id: I5cb9a3845ddbc5f4de4eb4e9c481f606fe5cec9a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-23 21:39:23 +00:00
Florin Coras
1de7167e7a tcp: accept sack reneging as a cc event
Type: fix

Change-Id: Iead1303ca3dec7593eb3ce54f291b82d94c821a4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-23 18:52:57 +00:00
Florin Coras
da8f218f78 vcl: fix multi-thread app segment attaching
Type: fix

Guard segment attaching/deletion, not only the hash table CRD
operations.

Change-Id: Ic96e4adedffb73baf89e971438596927e6daf930
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-23 16:09:50 +00:00
Paul Vinciguerra
a25a8576cd tests: vpp_memif fix formatting error in exception
Type: test

Change-Id: I2d32797efd1c3478a862b7950ef9ab63428da890
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-23 07:35:04 +00:00
Paul Vinciguerra
548d5ee733 tests: TestL2bdMultiInst - break serial dependency on tests
enable the tests to run out of order/enable running an individual test.
  Before:
  [gw1] [ 20%] FAILED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_02
  [gw0] [ 40%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_01
  [gw1] [ 60%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_04
  [gw0] [ 80%] FAILED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_03
  [gw1] [100%] SKIPPED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_05
  -------
  After:
  [gw1] [ 20%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_02
  [gw0] [ 40%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_01
  [gw1] [ 60%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_04
  [gw0] [ 80%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_03
  [gw1] [100%] PASSED test/test_l2bd_multi_instance.py::TestL2bdMultiInst::test_l2bd_inst_05

Type: test

Change-Id: Ie40eb310f5fccacf854c364aa017891bce9b9372
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-23 07:33:12 +00:00
Miklos Tirpak
4a94cd26ef fib: use 32 bits per-source reference counter
The 16 bits reference counter limited the number of interfaces
per FIB table to 65K from a given source. Some use cases, for example
GTP-U tunnels require much more interfaces than that.
This change increases the size of the reference counter to 32 bits.

Type: fix

Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: I944a98513018840f904f2808c2a1e963b37886cc
2019-12-22 22:56:22 +00:00
Matthew Smith
c301dc33f2 ip-neighbor: fix API initialization call
Type: fix
Fixes: cbe25aab3b

Wrap ip_neighbor_api_init() in VLIB_API_INIT_FUNCTION() macro
instead of VLIB_INIT_FUNCTION() so API message IDs get allocated.

Change-Id: Id0c36c16b982feb9d7442015f9ddf2449a9e5b60
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-12-22 22:54:50 +00:00
Florin Coras
c4c4cf5066 session: move add/del segment msg to mq
Type: refactor

Change-Id: I32234173ebd69f80acb1afa4039fffbd19157f6d
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-21 18:50:12 +00:00
Florin Coras
d849edf384 svm: fix multichunk alloc with not enough space
Type: fix

Change-Id: Ia89c76b0e897fc3a3ebbc8dcba25e8ac9974b7fa
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-20 18:48:20 -08:00
Shawn Ji
623b4f85e6 vxlan: reuse inner packet flow hash for tunnel outer header load balance
Type: fix

Several tunnels encapsulation use udp as outer header and udp src port
is set by inner header flow hash, such as gtpu, geneve, vxlan, vxlan-gbd
Since flow hash of inner header is already been calculated, keeping it
to vnet_buffere[b]->ip.flow_hash should save load-balance node work to
select ECMP uplinks.

Change-Id: I0e4e2b27178f4fcc5785e221d6d1f3e8747d0d59
Signed-off-by: Shawn Ji <xiaji@tethrnet.com>
2019-12-20 18:25:10 +08:00
Florin Coras
4453c09ac3 svm: fix sh ssvm size for private segments
Type: fix

Change-Id: Id11cb596923541c12d37f1afa00416d73c6ff5e3
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-20 04:54:47 +00:00
Paul Vinciguerra
c701e57182 tests: don't prompt to launch gdb for sanity test case
Type: test

Change-Id: I4c54121b76b341381a819cee928c3c2455a83503
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-20 04:09:09 +00:00
Nathan Skrzypczak
ff6cdcca2d hsa: Add periodic timing
Type: feature

Change-Id: I18cf38d6f77e0d42212c85262f3bb769b9477b29
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-19 19:53:29 +00:00
Jon Loeliger
b22e1f06bb interface: Prevent bad inner-dot1q any exact-match configuration
Someone much more knowledgeable than I wrote:

    For L3 IP forwarding, any VLAN tags on a packet must be exact
    match to a sub-interface which means both outer and inner VLAN
    tag IDs must be exact-matched to specific values defined of that
    sub-interface.  Without exact match on a L3 sub-interface, VPP
    has no mechanism to know what VLAN tags to use for packet output,
    such as ARP request packets or IP packets, on that sub-interface.

    Thus, sub-interface with "inner-dot1q any" is not an exact match
    sub-interface by definition since no match is present on inner
    tag.

While in the area, fix a memory leak that would ensue on poorly
configured interfaces.

Change-Id: I8d17a96dbca3e3724c297ecc935ca61764e6ce2e
Type: fix
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-12-19 19:44:54 +00:00
Dave Wallace
b4f073cd44 bash: add -j <jobs> option to vpp-make-test
- Also cleanup local var declarations
- remove extraneous export statement

Type: test

Change-Id: I22198a65d1785ba53d1de22b2aa498cab910701b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-19 19:17:32 +00:00
Miklos Tirpak
75c7236918 gtpu: Track the dst FIB entry instead of RR sourcing that
RR sourcing the destination FIB entry limits the number of tunnels
to 255 for a particular destination. This change removes this limit.

Type: fix

The patch is based on 1f50bf8fc57ebf78f9056185a342493be460a847
that introduced the FIB entry tracking but did not update
the gtpu plugin.

Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: I8a4a87382a6eb5120e2bb65b9bc3c446bbfdbd3b
2019-12-19 18:06:02 +00:00
Florin Coras
8122cc2ac5 session: reserve memory for rbtree
Type: fix

Change-Id: I2b89f6e4c09297e3712d88cd25c80a806d3005aa
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-19 15:48:25 +00:00
Paul Vinciguerra
e090f4dbf5 papi: lazily initialize stats client
remove wait-loop on stats socket from test framework.

Type: refactor

Change-Id: I5bb95a7c597707a87f9d9a471215c4b4af1a2280
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-19 15:48:21 +00:00
Neale Ranns
4c16d80067 gre: multipoint ingress lookup fix
Type: fix

Change-Id: I170edd62220a63cb19efea3032e173fb87730b1b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-19 15:17:40 +00:00
Nathan Skrzypczak
cfffeae1e3 quic: fix accept failure
Type: fix

Change-Id: Ic85cedae268a3abc452a2b1d4cc6672a464e2d2c
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-19 11:00:25 +01:00
Paul Vinciguerra
64e9d28d37 build tests: fail test run if we can't patch scapy
Type: fix

Change-Id: I694e44f449863b3edbbc8b6095e94f770dc20330
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-18 23:10:19 +00:00
Jieqiang Wang
affa05532d docs: add physmem section in configuration parameters
physmem section is listed in 'Advanced Parameters', which has two
parameters, base-addr and max-size, for pmalloc module in VPP.

Type:feature

Change-Id: I7beef40603b864e4c8f3cf0fa716de74036cfdcc
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
2019-12-18 22:47:42 +00:00
Paul Vinciguerra
53131d2a26 tests: fix cdp patch for scapy 2.4.3
Type: test
Fixes: 5d4b8912d2fe186b4fb920a72b3a2f7b556f4e7d

Change-Id: Ib64ae00eba41b2b6afc728142cbccc02d07f4997
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-18 20:42:36 +00:00
Paul Vinciguerra
917c91ada5 docs: update troubleshooting commands
Depends-On: https://gerrit.fd.io/r/c/vpp/+/22819

Type: docs

Change-Id: I1e2170a524e19cb91836a8073f62100b88f46cee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-18 20:27:12 +00:00
Nathan Skrzypczak
d9942bcc61 quic: Hotfix crypto context on migrate
Type: fix

quicly_connections have internal references to crypto
contexts which need to be updated when we switch thread
as the supporting pools are thread-based.
This under the assumption that the new contexts will be
exactly identical

Change-Id: I38083e59657ff068e347d9e7b47abe91a1167b6c
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-18 14:19:05 +00:00
Florin Coras
9f4ac58700 svm: decrease svm map verbosity
Type: fix

Change-Id: I833b6c23c376f1e806f94f0780be365c82ad1f88
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-18 10:57:26 +00:00
Neale Ranns
568acbb7c9 ipsec: Fix decap of IPSEC/GRE in transport mode
Type: fix

in transport mode the header sequence is:
  MAC - IP (tun) - ESP - GRE - L2
so popping the GRE header is done in the ESP decrypt node.

Change-Id: Ia125eb65b9300368617d2bffca09683851e43be0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-18 05:54:40 +00:00
Paul Vinciguerra
6461b7a319 tests: fix import from change to scapy 2.4.3
Type: test
Fixes: 8d27fa73f22803d518993090804724f76350cfcc

Change-Id: I4656a9769011ed2399c1799f6f17520e44f375c7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 23:46:48 +00:00
Tetsuya Murakami
77022b88e9 srv6-mobile
Type: fix

Plug-in for IPv6 Segment Routing Mobile

Fix the packet forwarding issue on GTP4/6.D when configuring only 1 segment in SRH.

Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: I3a1d14b82821fc6e038d4ef719fd2aa006df2903
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
2019-12-17 20:43:14 +00:00
Christian E. Hopps
10a8bda37e misc: don't os_exit(1) causing core on SIGINT
It's not typical for a program to core when it receives a SIGINT, so
keep this from happening.

Type: fix
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: I2c15985a57e6ea898ff05c4001e4b30b41154eba
2019-12-17 18:41:21 +00:00