8063 Commits

Author SHA1 Message Date
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
Christian E. Hopps
19871f2539 pg: don't leak open files in packet-generator
Fix pg code to close it's open file descriptors before zero'ing the
pcap_main structure for re-use.

Ticket: VPP-1780
Type: fix
Signed-off-by: Christian E. Hopps <chopps@chopps.org>
Change-Id: I32945c6476ae83b8d210ee67ac78db3e8f786f46
2019-12-17 18:40:14 +00:00
Paul Vinciguerra
0812aea046 vpp: fix .short_help for "ip virtual"
Type: fix

"# <feature-name>: <subject>

Change-Id: I8b6b6b8c70faec7cd95e1842259e907fb9587017
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:39:29 +00:00
Paul Vinciguerra
336bccdfe6 dhcp: client use local logger
Type: fix

Change-Id: I8383e04d01e0001c1cba176d2148b2c4c74e397a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:37:18 +00:00
Paul Vinciguerra
5fb2278cb8 vxlan geneve gtpu: fix short help
Type: fix

Change-Id: Id53eb6ed15f270d747b9831a7b585cbafe515dd2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:36:41 +00:00
Paul Vinciguerra
32c4d38f7a ip: cleanup punt socket cli help
Make the help string consistent with the cli parser.

Type: fix

Change-Id: I7140bd589c2a94dbf5af5cc633cb495457a6af22
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:27:51 +00:00
Paul Vinciguerra
a4e2e7cc95 feature: add descriptive cli command output for 'set interface feature'
DBGvpp# set interface feature local0 arp-foo arc bad-arc
  set interface feature: Unknown arc name (bad-arc)...

  DBGvpp# set interface feature local0 arp-foo arc arp
  set interface feature: Feature (arp-foo) not registered to arc (arp)...
  See 'show features verbose' for valid feature/arc combinations.

  DBGvpp# set interface feature local0 arp-disabled arc arp

Type: fix

Change-Id: I036bb2a75dd2d40f6901e4fde3eb14925238e19b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:26:59 +00:00
Paul Vinciguerra
baa171041b feature: add [verbose] to show features help
Type: fix

Change-Id: Idf694477c18852e5541c28a493a56b302122e46c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 18:26:07 +00:00
Paul Vinciguerra
9d0ca07f1e build: Add missing package to Makefile
- add dependency for pip install psutil.
See: https://github.com/giampaolo/psutil/blob/master/INSTALL.rst#linux

Type: fix

Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: I3a24a9dbfc5093c02e2aedf08ac64f10821693f8
2019-12-17 18:25:00 +00:00
Renato Botelho do Couto
c025329bb2 misc: Add CentOS 8 package support
Type: feature

Added missing dependencies on RPM spec file and install-dep

Ticket: VPP-1800

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: I91d39c94b3f03c213249dff42b264718ef772bdb
2019-12-17 18:23:43 +00:00
jieqiang wang
842506f3c9 vlib: add max-size configuration parameter for pmalloc
Enable 'max-size' configuration parameter to set maximum size of
memory space allocated for pmalloc module. This parameter along
with existing 'base-addr' falls into physmem section. Both are
dedicated parameters to pmalloc module.

Type: feature

Change-Id: I939f25156b9a43440a24d69a7397d57eb6c2d392
Signed-off-by: Jieqiang Wang <Jieqiang.Wang@arm.com>
2019-12-17 18:19:50 +00:00
Vratko Polak
3be9351e5e l2: l2_patch_main should not be static
Without understanding what is going on,
a pattern from l2_fwd.c is applied to l2_patch.c file.

Type: fix
Fixes: d770cfc96257f9bd9e0c96c8ebe50e4531dc1bc5
Ticket: VPP-1799

Change-Id: Ia97d448f9d1846549f57ea69044ae15fa39bb942
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-17 18:17:44 +00:00
GordonNoonan
b2dbb36fc2 vlib: fix startup-config-process stack overflow
Type: fix

Startup config setting an i40e/ice interface
up in Debug VPP consumes more than the currently
available stack space.

Signed-off-by: GordonNoonan <gordon.noonan@intel.com>
Change-Id: I98b52c5596799017b97f802a8661b76cd1bb3245
2019-12-17 18:14:55 +00:00
Steven Luong
6dfd3785e4 bonding: drop traffic on backup interface for active-backup mode
For active-backup mode, we transmit on one and only one interface. However,
we might still receive traffic on the backup interface. We should drop them
and strictly process incoming traffic on only the active interface.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Idb6b798b30033e84044b151c616be3c157329731
2019-12-17 18:11:43 +00:00
Chenmin Sun
4ff8d615ca flow: add ethernet flow
Type: feature

This patch adds the ethernet type flow support

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I6de163d04c6472df60a5f296fb428efd000267c4
2019-12-17 18:10:57 +00:00
Benoît Ganne
497dd89432 misc: address sanitizer: do not instrument dlmalloc internals
Type: fix

Change-Id: I2b8273666db864d80012c39623ae866ac3527426
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 18:09:48 +00:00
Vratko Polak
dea0b23fa7 vlib: fix an issue with show pci
The fix has been received over e-mail from Lijian Zhang.
https://lists.fd.io/g/vpp-dev/message/14808

Type: fix
Ticket: VPP-1805

Change-Id: I73e5fe7dcbe2b0b1c639d844f29183eab3b6dd66
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-17 18:06:29 +00:00
Oliver Giles
dc20371f83 build: export vapi generation in vpp-dev
Adds the higher-level vapi generation to cmake/api.cmake and exposes
the necessary python scripts in vpp-dev, so that out-of-tree/downstream
plugins can also leverage the more convenient API.

Type: feature

Signed-off-by: Oliver Giles <oliver_g@radwin.com>
Change-Id: I8c40a14d27ba3cb972c6907632e03c0e7b0ce982
2019-12-17 18:05:15 +00:00
Bernhard M. Wiedemann
3d14f03619 build: Allow to override build date with SOURCE_DATE_EPOCH
and make host and user overridable
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Also switch to UTC to be independent of timezone.
Also use ISO 8601 date format to be easier to parse.
This is similar to c9f40227836b827b71a6cbc4744d4b7151b2fcef
and df82ec8fe7d91467c8b479bba74c761c0a6ffc59
which was lost in the move away from automake.

Note: This date call is designed to work with different flavors
of date (GNU, BSD and others).
If only GNU (Linux) support is needed, the patch can be simplified.

This PR was done while working on reproducible builds for openSUSE.

Type: fix

Change-Id: If4cab12320e6b5fcb1f2842fac5d745b33b01ed7
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
2019-12-17 18:03:56 +00:00