6370 Commits

Author SHA1 Message Date
Dave Barach
ac3b113957 VPP-1576: fix a class of spurious warnings
Change-Id: I52198e97397bb6f3b5c0c30c44aac34c17650d4d
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-30 18:14:44 +00:00
Damjan Marion
65ec33bd00 vppinfra: add few more cpuid flags
Change-Id: Ic2a61c45face18b6dd23d5509d75367d3b2441e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-30 12:57:02 +01:00
Igor Mikhailov (imichail)
2d6fc6b082 SPAN: Add pending frame on current thread, not on main
Previously, all frames were put for next node on the main thread,
even if the execution was happening on a worker thread.

Also, refactor to use API function vnet_get_main()

Change-Id: Ibefb1b3871563a78aa30352a37b9216537e15bf7
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-03-29 19:25:15 -07:00
Dave Barach
19e540f73e Convince Coverity that s = format (0, ...) is OK
Change-Id: Ia88c7228a46e251b8a7815240da6ddbbcde08bc7
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 19:47:30 -04:00
Dave Barach
26dc58bfa7 Minor bug fixes
Drop the session reader lock across vlib_process_suspend(...) calls.
Fix the debug CLI command.

Change-Id: Ic0266dda1fdfa90971f2cb935248941317c01205
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 22:42:39 +00:00
Damjan Marion
d93638e128 revert quicly related build/external changes
We dont't want git pull there, there is simple way to grab tarball
from github for every single commit

Change-Id: I7a98cab7660750e48084279d8b9892cdf229bceb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 21:23:30 +01:00
Neale Ranns
e524d45eff IPSEC-GRE: fixes and API update to common types.
Change-Id: Icdcbac7453baa837a9c0c4a2401dff4a6aa6cba0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 19:57:39 +00:00
Paul Vinciguerra
95c0ca42f2 tests: test/vpp_l2.py fix missing name.
test/vpp_l2.py:213:26: F821 undefined name 'L2_VTR_OP'
        self.itf.set_vtr(L2_VTR_OP.L2_DISABLED)

Move L2_VTR_OP enum to vpp_sub_interface.py where the VTR code is found.

Change-Id: I9eb9a3a2c679813c221ce1d0c4fa8aac6076c443
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-29 19:33:33 +00:00
Florin Coras
63d3ac6789 vls: add pthread check on vls_attr
Change-Id: I455d108dfe52d45d040167fecb37b33e9d630c3c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 17:43:36 +00:00
Paul Vinciguerra
3593a9174a tests: refactor vpp_object.py
Move __str__ to super for all subclasses of VppObject
Implement __repr__ in VppObject
Implement __hash__ and __eq__

Change-Id: Ibd4ea37b84b17f499ab86630fb5b9ed9c8b4b1c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-29 16:02:27 +00:00
Nathan Skrzypczak
60f3e6547a Integrate first QUIC protocol implementation
Currently supports on single stream exposed through standard internal APIs
Based on libquicly & picotls by h2o

Change-Id: I7bc1ec0e399d1fb02bfd1da91aa7410076d08d14
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-03-29 15:57:30 +00:00
Neale Ranns
db4cae5d43 VOM: recurive route update fix
Change-Id: Iff61904804d8218c4e02897521368f696002343d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 15:17:11 +00:00
Neale Ranns
d2a4194dc7 BVI: coverity error fix
Change-Id: Idc1e1747035638777240b7ea9afcf675b22be7f1
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 13:53:12 +00:00
Dave Barach
efd0d29353 Update MAINTAINERS
Change-Id: I1b041edb6f20a9f9c867fb243922985398485054
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 08:17:49 -04:00
Damjan Marion
b4fff3a397 ipsec: esp-decrypt rework
Change-Id: Icf83c876d0880d1872b84e0a3d34be654b76149f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 12:04:35 +00:00
Neale Ranns
d7603d97e0 IPSEC: tunnel fragmentation
Change-Id: I63741a22bc82f5f861e1c0f26a93b5569cc52061
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 11:10:33 +00:00
Florin Coras
74b7437bd1 tcp: remove sent rcv wnd 0 flag
Change-Id: If6c672d1caa8884eb5d819311606a79a3de81200
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 09:31:48 +00:00
Matthew Smith
d4bdd93f07 dhcp: only register UDP ports that are needed
When configuring a DHCP client, both the UDP ports for DHCP client
and server are registered. Packets to the server port end up being
dropped unless you have also configured a DHCP proxy.

This breaks a common home/office gateway use case where the WAN
interface gets configured using a DHCP client and devices attached
to a LAN interface attempt to configure themselves using DHCP. If
you try to punt to an external DHCP daemon to handle the LAN client
requests, the packets never make it to the external daemon because
of the server port being registered.

Modify dhcp_maybe_register_udp_ports() to accept a parameter that
controls which ports get registered. For a DHCP client, only the
client port is registered. For a DHCP proxy, both client and server
ports are registered.

Change-Id: I2182d9827e4c7424b03ebb94952c3d2dc37abdb6
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-29 08:19:25 +00:00
Florin Coras
f20fd1ac90 tcp: improve updating of rcv wnd
Change-Id: I0b8a311979d3ccd15f3854e7ac44ca9951dc6ce4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 07:56:26 +00:00
Damjan Marion
96d4e53363 rdma: add option to specify inteface name
Change-Id: Ic6244511b88bdd42756f74e3163a70b8014e8547
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 00:23:57 +00:00
Damjan Marion
a03d182383 crypto: add vnet_crypto_op_init (...)
Change-Id: I2018d8367bb010e1ab30d9c7c23d9501fc38a2e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 23:29:22 +00:00
Damjan Marion
1e3aa5e213 ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN
Change-Id: Ib828ea5106f3ae280e4ce233f2462dee363580b7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 22:23:08 +00:00
Damjan Marion
9fd24793a4 cmake: add vpp_plugin_find_library macro
Change-Id: I0b996460e05c40e74766563fb2a94c62a65063ce
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 20:59:04 +00:00
Neale Ranns
76b5649d07 Punt Infra
A punt/exception path that provides:
 1) clients that use the infra
 2) clients can create punt reasons
 3) clients can register to recieve packets that are punted
    for a given reason to be sent to the desired node.
 4) nodes which punt packets fill in the {reason,protocol} of the
    buffere (in the meta-data) and send to the new node "punt-dispatch"
 5) punt-dispatch sends packets to the registered nodes or drops

Change-Id: Ia4f144337f1387cbe585b4f375d0842aefffcde5
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 20:51:32 +00:00
Damjan Marion
1f4e1cbf57 ipsec: anti-replay code cleanup
Change-Id: Ib73352d6be26d639a7f9d47ca0570a1248bff04a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 19:59:04 +00:00
Florin Coras
b38ee66425 session: remove unused tx context field
Change-Id: I4a119937842eb188f5e5a7706cbe70e91ae4def8
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 19:32:16 +00:00
Benoît Ganne
fe750c248b Add RDMA ibverb driver plugin
RDMA ibverb is a userspace API to efficiently rx/tx packets. This is an
initial, unoptimized driver targeting Mellanox cards.
Next steps should include batching, multiqueue and additional cards.

Change-Id: I0309c7a543f75f2f9317eaf63ca502ac7a093ef9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-28 19:31:59 +00:00
Florin Coras
6bc6fd0aeb session: cap max burst to a constant
Change-Id: I1919d3844936486f04f2bfde24dc7e0d9121927a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 17:01:33 +00:00
Damjan Marion
4d3aa07ba3 Avoid overwrite in clib_memcpy_le{32,64}
Change-Id: Id4a8b6a31fc3e88af2f075cb97c85d3f9b738d9e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 17:01:13 +00:00
Neale Ranns
0e967e0998 VXLAN-GBP: format flags in encap trace
Change-Id: I561fd187b4865345f3bff86b3d6e67b0f0e97557
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 17:01:06 +00:00
Florin Coras
51793f54fd tcp: remove unused buffer flags
Change-Id: I86e71f32dee3cc48f680e6432a96caef0a7f66a1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 08:39:01 -07:00
Neale Ranns
987aea8ec1 IPSEC: 4o6 and 6o4 for tunnel interfaces
Change-Id: I4d3ba18ab5205317219989de55b6e50d3b1d8a79
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 12:53:37 +00:00
Neale Ranns
45d8f85daa IPSEC: fix build breakage from ships in the night merges
Change-Id: Iec7da9adc970d005cd7d3d42839b5e51b0b5f5c3
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 08:59:17 +00:00
ezkexma
7d3161adb5 vat:ignore SIGWINCH signal
vpp/src/vat/main.c
When change the window size,the vat will get the SIGWINCH signal and then exit.
It is not a exit action,so we can ignore it.

Change-Id: If796762216910e23cace09406d413331f505d990
Signed-off-by: ezkexma <maqi.z.ke@ericsson.com>
2019-03-28 08:21:24 +00:00
Dave Barach
0729f6481d AppImage packaging
Disabled by default. To kick the the tires:

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
sudo mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy
sudo chmod +x linuxdeploy-x86_64.AppImage

Enable VPP_BUILD_APPIMAGE e.g. in ccmake
make build | make build-release

The vpp AppImage lands in .../install-xxx-native/VPP-x86_64.AppImage. To run it:

./VPP-x86_64.AppImage vpp unix interactive

To run it (as root) and inhale the usual startup.conf:

sudo ./VPP-x86_64.AppImage \${HERE}/bin/vpp -c \${HERE}/etc/vpp/startup.conf

To run vppctl, or any of the usual vpp binaries:

./VPP-x86_64.AppImage vppctl [etc]

Change-Id: Ide8cf4658cbb56f1d36a1ce7fc8f7338f8d38278
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-28 08:18:57 +00:00
Neale Ranns
25edf14369 IPSEC: run encrpyt as a feautre on the tunnel
Change-Id: I6527e3fd8bbbca2d5f728621fc66b3856b39d505
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 08:16:37 +00:00
Paul Vinciguerra
8feeaff56f Typos. A bunch of typos I've been collecting.
Change-Id: I53ab8d17914e6563110354e4052109ac02bf8f3b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-28 06:36:04 +00:00
Naveen Joy
64f7530fff make-test: fix ValueError raised by hook in python3
Without this patch, the hook module raises a ValueError
when tests are run using python3. This patch updates the
exception being caught by ipaddress to ValueError.

Change-Id: I5e11e292a05ddf350fc04ebaf19cfd7dad2bd9d0
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-27 23:53:49 +00:00
Neale Ranns
3b12aa97ca VOM: routes support multipath so set is_multipath in route update
Change-Id: Ib0249aec00c8a8306f2cf25394d39b4b7850d8f7
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 13:40:59 +00:00
Neale Ranns
4dd4cf4f9c GBP: fixes for l3-out routing
Change-Id: I4d73b712da911588d511a8401b73cdc3c66346fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 13:40:50 +00:00
Damjan Marion
d709cbcb1e ipsec: compress ipsec_sa_t so data used by dataplane code fits in cacheline
Change-Id: I81ecdf9fdcfcb017117b47dc031f93208e004d7c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 12:40:18 +00:00
Florin Coras
fbf278adc2 tcp: add cc algo lookup table
Change-Id: Ie7be0136c182cdc35193e47dd3249153c2f8d65e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-27 12:37:36 +00:00
Mohsin Kazmi
9c1f824366 vom: Add support for BVI interface
Change-Id: Ie93f3a2107df0452f7a7436b78c337f482904899
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-03-27 08:59:56 +00:00
Neale Ranns
8164a0382d FIB: do debug before remvoing last source
Change-Id: I4e1cde754eb4d6406cd6cd51f37d89552bdb6a53
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 17:05:56 +00:00
Neale Ranns
40ddc31998 GBP: missing L3-out type coversion
Change-Id: Ic6455a930fcb21b055bcf093359bc8328f88140a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 17:05:47 +00:00
Benoît Ganne
ec6e8d2641 Add missing OpenSUSE Leap 15.0 build deps
Fresh OpenSUSE Leap 15.0 containers are missing build dependencies.

Change-Id: I9b62f36c658862d8f32db5547d2176e6f56df4ea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26 16:33:44 +00:00
Neale Ranns
4c3ba81709 ADJ: midchain delegate to performing stacking
this can be used by e.g. tunnels so it doesn't need to be
implemented for each tunnel type.

Change-Id: I0790f89aa49f83421612b35108cce67693285999
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 16:33:28 +00:00
Neale Ranns
af3f0783b0 IPSEC: more expressive API errors
Change-Id: I517a7bdae03abfea58451819e7854974397d77f8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 16:33:13 +00:00
Kingwel Xie
7ced7726d7 node: vector must be checked with vec_header
see register_node, node-name might be a vector

Change-Id: I883ec51c1fa9aa4da4ba6cba415a39bb6a4331e1
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-26 13:49:31 +00:00
Paul Vinciguerra
32ee2f1dca VPP-1508: Tests: Update version of syslog_rfc5424_parser.
Bump to version v0.3.1.
Fixes an issue with stdlib enum imports under python3.5.

Change-Id: I7d8cb9e8ae9321beb4cb2ba052b08e776590c75d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-26 12:38:11 +00:00