vpp.git
7 years agoRelease 18.01.2: update jvpp version 34/12634/1 v18.01.2
Dave Wallace [Thu, 17 May 2018 18:47:21 +0000 (14:47 -0400)]
Release 18.01.2: update jvpp version

Change-Id: I46229d50de4f8892551041be7fee2bba5581da63
Signed-off-by: Dave Wallace <[email protected]>
7 years agoMakefile: 1801 only change to revert its clang version 29/12629/2
Ed Kern [Thu, 17 May 2018 14:55:59 +0000 (08:55 -0600)]
Makefile: 1801 only change to revert its clang version

Base build image now uses clang 5 as default but this new version
throws errors that the older 3.8 did not.

Change-Id: I938ffc4464bf45dd52bc3ca4270db52e21865fc6
Signed-off-by: Ed Kern <[email protected]>
7 years ago18.01.2 Release Notes 07/12607/1
Dave Wallace [Wed, 16 May 2018 17:17:24 +0000 (13:17 -0400)]
18.01.2 Release Notes

Change-Id: I7f5704d023009a5226ca2b08a0be975ae0cf4884
Signed-off-by: Dave Wallace <[email protected]>
7 years agotapv2: Sporadic SIGABRT in ethernet_input [VPP-1183] 72/11472/1
Steven [Sat, 31 Mar 2018 05:18:11 +0000 (22:18 -0700)]
tapv2: Sporadic SIGABRT in ethernet_input [VPP-1183]

virtio_free_rx_buffers uses the wrong slot in the vring to get
the buffer index. It uses desc_next. It should be last_used_idx
which is the slot number for the first valid descriptor.

Change-Id: I6b62b794f06869fbffffce45430b8b2e37b1266c
Signed-off-by: Steven <[email protected]>
(cherry picked from commit 074f698be5c2e6afc9df776b56a366bc3f404d95)

7 years agoglibc 2.27 fix 28/11428/1
Marco Varlese [Tue, 6 Mar 2018 07:09:04 +0000 (08:09 +0100)]
glibc 2.27 fix

With glibc 2.27 the memfd_create has been added to the devel libraries.
That's causing the internally defined static function to clash with the
system wide one. This patch addresses that issue on systems with latest
glibc libraries.

Change-Id: I788bf49b23d5b5f1cb1c0374e243d8a429178a71
Signed-off-by: Marco Varlese <[email protected]>
(cherry picked from commit 3f6ede3ab3df9624ba3682d5bc82c4f2aa2e0506)

7 years agoNAT44: fix nat44_user_session_dump and nat44_del_session crash with one worker (VPP... 07/11407/2
Matus Fabian [Tue, 27 Mar 2018 08:07:25 +0000 (01:07 -0700)]
NAT44: fix nat44_user_session_dump and nat44_del_session crash with one worker (VPP-1213)

Change-Id: I8e0c7ed2ff462b9ab59c233f56be262ec03c29ff
Signed-off-by: Matus Fabian <[email protected]>
7 years agoNAT44: interface output feature and dst NAT (VPP-1200) 87/11387/2
Matus Fabian [Thu, 22 Mar 2018 12:50:47 +0000 (05:50 -0700)]
NAT44: interface output feature and dst NAT (VPP-1200)

Do not translate packet which go out via nat44-in2out-output and was tranlated
in nat44-out2in before. On way back forward packet to nat44-in2out node.

Change-Id: I934d69856f0178c86ff879bc691c9e074b8485c8
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit 4d023c8c930b2a4220998d4c211d751e33324faa)

7 years agoNAT44: interface output feature and service host direct access (VPP-1176) 67/11367/1
Matus Fabian [Mon, 26 Mar 2018 11:53:47 +0000 (04:53 -0700)]
NAT44: interface output feature and service host direct access (VPP-1176)

forwarding mode:
session initiaded from service host - translate
session initiaded from remote host - do not translate

Change-Id: I0e3733361de4b85068b9be02f953154a478ce8cc
Signed-off-by: Matus Fabian <[email protected]>
7 years agoAssign correct NUMA node for DPDK crypto QAT devices (VPP-1210) 49/11349/4
Lee Roberts [Sun, 25 Mar 2018 03:44:42 +0000 (21:44 -0600)]
Assign correct NUMA node for DPDK crypto QAT devices (VPP-1210)

DPDK rte_cryptodev_socket_id() is returning zero for QAT devices.
Apply DPDK patch where correct NUMA node can be obtained with pci_dev->device.numa_node.

Change-Id: Ifaf35c7ac292627ea7cfb44a35b1e1c617811e80
Signed-off-by: Lee Roberts <[email protected]>
7 years agoCorrect address calculation for VPP-1168 50/11350/6
Lee Roberts [Sun, 25 Mar 2018 04:46:19 +0000 (22:46 -0600)]
Correct address calculation for VPP-1168

Use (u64) cast to ensure proper address calculations.

Change-Id: Ifbbe66072eb94bfe33ac04eaa4416abceeb7245e
Signed-off-by: Lee Roberts <[email protected]>
7 years agoUser session counters stay <= per-user limit 63/11363/2
Matthew Smith [Fri, 23 Mar 2018 13:30:16 +0000 (08:30 -0500)]
User session counters stay <= per-user limit

When a user session is allocated/reused, only increase
one of the session counters for that user if the counters
are below the per-user limit.

THis addresses a SEGV that arises after the following
sequence of events:

- an outside interface IP address is put in a pool
- a user exceeds the number of per-user translations by
an amount greater than the number of per-user translations
(nsessions + nstaticsessions > 100 + 100)
- the outside interface IP address is deleted and then added
again (observed when using DHCP client, likely happens if
address changed via CLI, API also)
- the user sends more packets that should be translated

When nsessions is > the per-user limit,
nat_session_alloc_or_recycle() reclaims the oldest existing
user session. When an outside address is deleted, the
corresponding user sessions are deleted. If the counters were
far above the per-user limit, the deletions wouldn't result
in the counters dropping back below the limit. So no session
could be reclaimed -> SEGV.

Change-Id: I940bafba0fd5385a563e2ce87534688eb9469f12
Signed-off-by: Matthew Smith <[email protected]>
7 years agoIPSEC_AH: broken initialization (VPP-1208) 51/11351/1
Marco Varlese [Fri, 23 Mar 2018 12:32:50 +0000 (13:32 +0100)]
IPSEC_AH: broken initialization (VPP-1208)

The init-path for IPSEC_AH where the CTX gets initialized is broken
since the for-loop never executes due to the wrong usage of
tm->n_vlib_mains which being subtracted by 1.

Change-Id: I4d967f52cd3ca061aa60d824d65f446e06162403
Signed-off-by: Marco Varlese <[email protected]>
(cherry picked from commit 4631610a20e6ae3181cb517db27a93b2a3e07eff)

7 years agoNAT44: fix ICMP checksum update crash (VPP-1205) 33/11333/2
Matus Fabian [Fri, 23 Mar 2018 10:42:06 +0000 (03:42 -0700)]
NAT44: fix ICMP checksum update crash (VPP-1205)

Change-Id: I3e4bbfe205c86cb0839dd5c542f083dbe6bea881
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit 3f2dd30b0bf7cf3d82c720d5065178c1fa628c6b)

7 years agoNAT44: fix nat_not_translate_output_feature in dual loop (VPP-1194) 56/11256/2
Matus Fabian [Fri, 9 Mar 2018 13:07:35 +0000 (05:07 -0800)]
NAT44: fix nat_not_translate_output_feature in dual loop (VPP-1194)

Change-Id: Icb858414145db0e5fef495e155903b3b935e50ba
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit 3c2a416c42a0481698735a0b1e355bfb7a702882)

7 years agoNAT44: fix removal of LB static mappings with same local address and port pair (VPP... 50/11250/4
Matus Fabian [Tue, 20 Mar 2018 11:31:42 +0000 (04:31 -0700)]
NAT44: fix removal of LB static mappings with same local address and port pair (VPP-1199)

Change-Id: Iad8c626e83bbc58d5c85b6736f5a3dd5bc9ceafb
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit e877d68407d316adb64baa855985b746dcb2e102)

7 years agoVPP-1123: cherrypick to 18.01.02 46/11246/2
Dave Barach [Tue, 20 Mar 2018 17:40:10 +0000 (13:40 -0400)]
VPP-1123: cherrypick to 18.01.02

Change-Id: Iaf959d7636907cec54d83b3f14244153fbf19fa2
Signed-off-by: Dave Barach <[email protected]>
7 years agoRevert "NAT44: interface output feature and service host direct access (VPP-1176)" 67/11267/1
Matus Fabian [Wed, 21 Mar 2018 16:09:03 +0000 (09:09 -0700)]
Revert "NAT44: interface output feature and service host direct access (VPP-1176)"

This reverts commit d30c94afe4e67298b3da6fd839e0210844cf45a5.

Change-Id: Ic076f6c116e1d816c492eb8e03e50cf95cedae77
Signed-off-by: Matus Fabian <[email protected]>
7 years agoNAT44 - unknown protocols work with forwarding 60/11060/2
Matthew Smith [Fri, 2 Mar 2018 17:31:26 +0000 (11:31 -0600)]
NAT44 - unknown protocols work with forwarding

If forwarding is enabled, inbound packets on an outside
interface should not be dropped and instead pass on to
the FIB lookup. This works for TCP and UDP but not other
IP protocols. Enable it for unknown protocols.

Change-Id: I1da84b5633a36b3e5e64079754db2fcc50f29819
Signed-off-by: Matthew Smith <[email protected]>
(cherry picked from commit 03f942a1cc4de3963507fc7075d91aff0cae7d58)

7 years agoNAT44: interface output feature and service host direct access (VPP-1176) 61/11061/3
Matus Fabian [Thu, 1 Mar 2018 12:48:33 +0000 (04:48 -0800)]
NAT44: interface output feature and service host direct access (VPP-1176)

forwarding mode:
session initiaded from service host - translate
session initiaded from remote host - do not translate

Change-Id: I48170ee8e4ad14d3d3083ee31a40ef8d10d6ff32
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit 204591d1bd754f6086edcf8b27a95beab929a78f)

7 years agoNAT44: fix nat_not_translate_output_feature for ICMP (VPP-1191) 79/11079/2
Matus Fabian [Wed, 7 Mar 2018 12:57:22 +0000 (04:57 -0800)]
NAT44: fix nat_not_translate_output_feature for ICMP (VPP-1191)

Change-Id: I1552e1418b704fdf1f1fa2c0174313b9b82a37a3
Signed-off-by: Matus Fabian <[email protected]>
7 years agowhen lb tcp in2out flow, 58/11058/3
ahdj007 [Tue, 6 Mar 2018 08:15:44 +0000 (16:15 +0800)]
when lb tcp in2out flow,
in2out and out2in protocol are not same

Change-Id: I4ce680ad1f088cb079e1f2aeb15ca59225fca0d1
Signed-off-by: ahdj007 <[email protected]>
(cherry picked from commit 9691cf2d082727fb2f88e85050068dc6fd761bcd)

7 years agowhen exceed max reass, 59/11059/3
ahdj007 [Thu, 8 Mar 2018 02:02:17 +0000 (10:02 +0800)]
when exceed max reass,
frag packet can't get reass.

adding bihash,it can rewrite new hash value.
so need to delete hash after compare hash value.

Change-Id: I83b5c47890110e9a598b78cfbe8fcd27bbe291bb
Signed-off-by: ahdj007 <[email protected]>
(cherry picked from commit 5e85c54d229e443d30dabe9bca39625587add8a5)

7 years agoAt AF_PACKET socket create, do intf bind before rx ring cfg to avoid receiving pkts... 54/11154/1
Chaoyu Jin [Tue, 13 Mar 2018 14:37:41 +0000 (07:37 -0700)]
At AF_PACKET socket create, do intf bind before rx ring cfg to avoid receiving pkts from other interfaces

Change-Id: Ie40ee9129edaac717e716b469f4d10f3c29a4932
Signed-off-by: Chaoyu Jin <[email protected]>
7 years agoNAT44: allow to configure one interface only as output or input feature (VPP-1192) 56/11056/2
Matus Fabian [Wed, 7 Mar 2018 11:17:57 +0000 (03:17 -0800)]
NAT44: allow to configure one interface only as output or input feature (VPP-1192)

following is not possible:
set interface nat44 out GigabitEthernet0/3/0 output-feature
set interface nat44 out GigabitEthernet0/3/0

Change-Id: I1592cc18390881fda66f98316700886b8f5295f0
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit e4e34c23fe7050c26967997fdb8f555c51fd3961)

7 years agoreass frag_n should to be inited to 0 57/11057/1
ahdj007 [Tue, 6 Mar 2018 07:46:54 +0000 (15:46 +0800)]
reass frag_n should to be inited to 0

Change-Id: I8a4a7a85e86acbfe411e6dfa22e3976d7d4c903b
Signed-off-by: ahdj007 <[email protected]>
(cherry picked from commit 9f06d0eccf06b82b42cc55f02c37cbed9e1aab83)

7 years agomemif: fix crash caused by zero pkt len in memif and clear dirty cache while interfac... 24/11024/2
Chun Li [Tue, 6 Feb 2018 07:17:20 +0000 (15:17 +0800)]
memif: fix crash caused by zero pkt len in memif and clear dirty cache while interface reconnect.

Change-Id: Ifc7eb2494a22c334d8899422545fca1a4bba4d05
Signed-off-by: Chun Li <[email protected]>
7 years agoat af_packet input, drop partial packets to prevent l4 checksum deadloop at ouptut 27/11027/2
Chaoyu Jin [Wed, 28 Feb 2018 18:15:53 +0000 (10:15 -0800)]
at af_packet input, drop partial packets to prevent l4 checksum deadloop at ouptut

Change-Id: I6f75b7328fd0aa71d00a701e36c8b4ad06bff3c4
Signed-off-by: Chaoyu Jin <[email protected]>
7 years agoip4_forward: set pkt error in case potential memory corrupt 25/11025/2
Chun Li [Wed, 7 Feb 2018 01:58:28 +0000 (09:58 +0800)]
ip4_forward: set pkt error in case potential memory corrupt

Change-Id: Ib9eb65d2ba166f5883a8ce8d37298c696113f2be
Signed-off-by: Chun Li <[email protected]>
7 years agolibmemif: cleanup queue info while memif connecting 26/11026/1
Chun Li [Wed, 7 Feb 2018 01:51:35 +0000 (09:51 +0800)]
libmemif: cleanup queue info while memif connecting

Change-Id: I4265fd0606f87f80f43f7f59ced1c3a73de82776
Signed-off-by: Chun Li <[email protected]>
7 years agotapv2: abort in tap_create_if (VPP-1179) 09/10909/1
Steven [Wed, 28 Feb 2018 19:00:34 +0000 (11:00 -0800)]
tapv2: abort in tap_create_if (VPP-1179)

The following command sequences cause the crash:

create tap id 0 rx-ring-size 1024 tx-ring-size 1024
create tap id 1 rx-ring-size 1024 tx-ring-size 1024
set interface state tap0 up
set interface state tap1 up
delete tap tap0
delete tap tap1
create tap id 0 rx-ring-size 1024 tx-ring-size 1024

0: /home/sluong/vpp2/vpp/build-data/../src/vnet/interface_funcs.h:46
 (vnet_get_hw_interface) assertion `! pool_is_free (vnm->interface_main.hw_interfaces, _e)' fails

The reason for the crash is because when the tap interface is deleted,
the code does not remove the entry from the device queue. But the interface
is deleted anyway from vnet_main.interface_main.hw_interfaces.
When an interface is created again, it may encounter
the deleted entry in the device queue and crash. Notice create and delete a
single entry does not cause a crash. Need to create and delete 2 interfaces
to create a "hole" in the device queue.

Change-Id: I42ce0b7943d73b3eab32a16751a0a3183de62d9f
Signed-off-by: Steven <[email protected]>
(cherry picked from commit 0b8567331c3edf8b6aee51c849b8391a2922d9ab)

7 years agoNAT: replace format_vnet_sw_interface_name with format_vnet_sw_if_index_name (VPP... 16/10816/2
Matus Fabian [Mon, 26 Feb 2018 07:41:42 +0000 (23:41 -0800)]
NAT: replace format_vnet_sw_interface_name with format_vnet_sw_if_index_name (VPP-1149)

Change-Id: I860468bdc21c6ee07f63c8854592c46ca631ebc2
Signed-off-by: Matus Fabian <[email protected]>
7 years agoNAT44: in2out output feature skip translation for already translated packets (VPP... 14/10814/3
Matus Fabian [Tue, 30 Jan 2018 11:04:17 +0000 (03:04 -0800)]
NAT44: in2out output feature skip translation for already translated packets (VPP-1156)

Change-Id: I5395245c9e49f741a949ada1f725c34f9379c249
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit f7ad5cbe819533523169e8a88876b94b9f38789c)

7 years agoNAT44: fix ICMP error translation for endpoint dependent sessions (VPP-1150) 15/10815/2
Matus Fabian [Mon, 26 Feb 2018 06:59:56 +0000 (22:59 -0800)]
NAT44: fix ICMP error translation for endpoint dependent sessions (VPP-1150)

Change-Id: Iae15d15b470bdde759d08201de9d6dc5afef0ee9
Signed-off-by: Matus Fabian <[email protected]>
7 years agoNAT44: run NAT nodes after ACL (VPP-1160) 13/10813/1
Matus Fabian [Thu, 8 Feb 2018 13:28:28 +0000 (05:28 -0800)]
NAT44: run NAT nodes after ACL (VPP-1160)

NAT input features run after acl-plugin-in-ip4-fa
NAT output features run after acl-plugin-out-ip4-fa

Change-Id: I1e4487a0d6fdb99a90b8db640d9ad0e0eb7347a5
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit 16f0546cadb1248f9dce99788ecc50cc2668c7e4)

7 years agovirtio: add missing tx lock when running multithreaded 98/10798/2
Damjan Marion [Fri, 16 Feb 2018 15:13:32 +0000 (16:13 +0100)]
virtio: add missing tx lock when running multithreaded

Change-Id: I373f429c53c6f66ad38322addcfaccddb7761392
Signed-off-by: Damjan Marion <[email protected]>
7 years agovirtio: reset vnet header on tx 97/10797/1
Damjan Marion [Thu, 8 Feb 2018 18:49:22 +0000 (19:49 +0100)]
virtio: reset vnet header on tx

Change-Id: Ib04a8787038fb536470a04d99fdc165102edfb5a
Signed-off-by: Damjan Marion <[email protected]>
7 years agoFix DHCP client crash with worker threads 52/10752/1
Matthew Smith [Sat, 10 Feb 2018 17:11:45 +0000 (11:11 -0600)]
Fix DHCP client crash with worker threads

Crash occurring With a worker thread configured and dhcp
client active on an interface. When a DHCP reply packet
is received, call to ethernet_get_main() from
dhcp_proxy_to_client_input() was causing a crash.
Replaced with a call to vnet_get_ethernet_main().

Once that was resolved, calling dhcp_client_acquire_address()
from a worker thread also caused a crash. Changed so the main
thread will do the address/route configuration.

Change-Id: Ib23984787102dea8cf6cfcde86188a751f15c1e1
Signed-off-by: Matthew Smith <[email protected]>
7 years agoVPP-1169: reenable dhcp client detect when lease expires 61/10561/1
Dave Barach [Wed, 14 Feb 2018 22:58:33 +0000 (17:58 -0500)]
VPP-1169: reenable dhcp client detect when lease expires

We disable the client detect feature when we bind a DHCP address. Turn
it back on again when the lease expires.  Otherwise, if the DHCP
server replies after an outage, we'll never see the reply.

Add dhcp packet tx counters, by packet type

Change-Id: Id54b05647d5d7bd8d3ab99e6584ee86d9e4ff7f9
Signed-off-by: Dave Barach <[email protected]>
(cherry picked from commit 4941fcc23ab01f5ca918e56489d404b92d8bde90)

7 years agoUse CSIT release branch rls1801 in vpp stable/1801 branch 23/10423/2 v18.01.1
Jan Gelety [Tue, 6 Feb 2018 12:07:32 +0000 (13:07 +0100)]
Use CSIT release branch rls1801 in vpp stable/1801 branch

Change-Id: I6b00e7cd172709c1de4c700dbec29875bdc67fdb
Signed-off-by: Jan Gelety <[email protected]>
7 years agoProvide page-aligned length to ftruncate. 36/10436/2
Igor Mikhailov (imichail) [Mon, 5 Feb 2018 20:09:36 +0000 (12:09 -0800)]
Provide page-aligned length to ftruncate.

For some files such as hugepages files, ftruncate() fails with the error
"Invalid argument" if the 'length' parameter is not on a page boundary.

Change-Id: I42a9cde98707da15e3c5d1653046e2277fc7a424
Signed-off-by: Igor Mikhailov (imichail) <[email protected]>
(cherry picked from commit 7d25415a9384d4c3d786d0c1ae5c0fcff3112acd)

7 years agoRelease 18.01.1 jvpp version update. 41/10441/1
Dave Wallace [Wed, 7 Feb 2018 02:00:15 +0000 (21:00 -0500)]
Release 18.01.1 jvpp version update.

Change-Id: I000d842e969b838ad5fbcd18186ac7e1b39b4c46
Signed-off-by: Dave Wallace <[email protected]>
7 years ago18.01.1 Release Notes 16/10416/1
Dave Wallace [Mon, 5 Feb 2018 22:32:27 +0000 (17:32 -0500)]
18.01.1 Release Notes

Change-Id: I2a6826a388cdd4c6b38f53f0e9bcb8b199714d29
Signed-off-by: Dave Wallace <[email protected]>
7 years agoNAT64: Run nat64-expire-worker-walk only when NAT64 is configured (VPP-1162) 12/10412/1
Matus Fabian [Mon, 5 Feb 2018 10:57:47 +0000 (02:57 -0800)]
NAT64: Run nat64-expire-worker-walk only when NAT64 is configured (VPP-1162)

Change-Id: Ic5e8d74bf5ac84cce5661de44778c89541c67636
Signed-off-by: Matus Fabian <[email protected]>
(cherry picked from commit e71eb5922a293eca36dbd323970741daaca3c5c7)

7 years agoImprove tunnel interface creation performance 02/10402/1
John Lo [Wed, 24 Jan 2018 00:21:34 +0000 (19:21 -0500)]
Improve tunnel interface creation performance

Modify interface creation to allow creation of tunnel interfaces
without dedicated per tunnel output and tx nodes which are not
used for most tunnel types. Also changed interface-output node
function vnet_per_buffer_interface_output() so it does not rely
on hw_if_index as the next node index which is not flexible nor
efficient for large scale tunnel interfaces.

The improvenemts are done for VXLAN, VXLAN-GPE, GENEVE and GTPU
tunnels. GRE tunnel is still using per tunnel output nodes which
will be changed in a separate patch with other GRE enhencements.

Change-Id: I4123c01c0d2ead814417a867adb8c8a407e4df55
Signed-off-by: John Lo <[email protected]>
(cherry picked from commit e5453d0fa29f39a7f78a7e22815566a7f4c9e5ef)

7 years agolisp-cp: fix handling of ndp without source link addr VPP-1159 37/10337/2
Florin Coras [Tue, 30 Jan 2018 11:21:32 +0000 (03:21 -0800)]
lisp-cp: fix handling of ndp without source link addr VPP-1159

Change-Id: Idddb60bbc7fcc701d39212f6422a6b2f6dc75221
Signed-off-by: Florin Coras <[email protected]>
7 years agovlib: allocating buffers on thread-x and freeing them on thread-y causes 17/10317/1
Steven [Tue, 30 Jan 2018 04:09:09 +0000 (20:09 -0800)]
vlib: allocating buffers on thread-x and freeing them on thread-y causes
a crash on debug image (VPP-1151)

In debug image, there is extra code to validate the buffer when it is
freed. It uses the hash table to lookup the buffer index with spinlock
to prevent contention. However, there is one spinlock for each worker
thread. So allocating the buffer on thread-x and freeing the same buffer
on thread-y causes the validation to fail on thread-y. The fix is to
have only one spinlock, stored in vlib_global_main.

Change-Id: Ic383846cefe84a3e262255afcf82276742f0f62e
Signed-off-by: Steven <[email protected]>
7 years agoAdd link to 18.01 test framework documentation. 49/10249/1
Dave Wallace [Thu, 25 Jan 2018 19:27:54 +0000 (14:27 -0500)]
Add link to 18.01 test framework documentation.

Change-Id: I030602391ea3b612ac9a6780399cc30b427cc3a5
Signed-off-by: Dave Wallace <[email protected]>
7 years agoUpdate 18.01 Release Notes 27/10227/1
Dave Wallace [Wed, 24 Jan 2018 14:37:59 +0000 (09:37 -0500)]
Update 18.01 Release Notes

Change-Id: Id2f13c59c6f4e7bc79f6e77d6dab752bf6dfb06a
Signed-off-by: Dave Wallace <[email protected]>
7 years ago18.01 Release Notes 19/10219/2 v18.01
Dave Wallace [Wed, 24 Jan 2018 06:02:37 +0000 (01:02 -0500)]
18.01 Release Notes

Change-Id: I2493a6135aecb4e2eead20a71dcb9ca16834cd63
Signed-off-by: Dave Wallace <[email protected]>
7 years agoScript to list patches that changed api files. 18/10218/2
Dave Wallace [Wed, 24 Jan 2018 05:51:22 +0000 (00:51 -0500)]
Script to list patches that changed api files.

- Add Ole Troan's script from vpp-dev email:
  https://lists.fd.io/pipermail/vpp-dev/2017-October/007037.html

Change-Id: I0cbf5118169dc25f0edd659a5a9f5cde8619f780
Signed-off-by: Dave Wallace <[email protected]>
7 years agodocs: Clean up TOC 15/10215/1
Dave Wallace [Tue, 23 Jan 2018 22:47:02 +0000 (17:47 -0500)]
docs: Clean up TOC

Change-Id: I5415c002a431d84372f56d4a77dc2aabd6ef55f7
Signed-off-by: Dave Wallace <[email protected]>
7 years agoUpdate CSIT tests 180110 -> 180122 79/10179/1
Jan Gelety [Mon, 22 Jan 2018 07:31:43 +0000 (08:31 +0100)]
Update CSIT tests 180110 -> 180122

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I3c81303dc7959da3593240a6da1309843aff8369
Signed-off-by: Jan Gelety <[email protected]>
7 years agoSub-Interface deletion not cleanup hash's properly (VPP-1136) 62/10162/2
John Lo [Thu, 18 Jan 2018 17:44:50 +0000 (12:44 -0500)]
Sub-Interface deletion not cleanup hash's properly (VPP-1136)

On deleting sub-interfaces, functions vnet_delete_sub_interface()
and vnet_delete_hw_interface() are not cleaning up sub-interface
related hash tables and memory properly.

Change-Id: I17c7c4b2078c062c77bfe48889beb677610035ca
Signed-off-by: John Lo <[email protected]>
7 years agoVPP-1122 dpdk/ipsec: fix transport mode pkt len 47/10147/1
Radu Nicolau [Tue, 16 Jan 2018 15:33:31 +0000 (15:33 +0000)]
VPP-1122 dpdk/ipsec: fix transport mode pkt len

Change-Id: I6eef2ca258ff5b4aa9b21b98543d814633e295af
Signed-off-by: Radu Nicolau <[email protected]>
7 years agotapv2: deleting tap interface may leak buffers (VPP-1124) 33/10033/4
Steven [Tue, 9 Jan 2018 19:13:29 +0000 (11:13 -0800)]
tapv2: deleting tap interface may leak buffers (VPP-1124)

Buffers may be allocated for indirect descriptors by tx thread and
they are freed when tx thread is invoked in the next invocation.
This is to allow the recipient (kernel) to have a chance to process
them. But if the tap interface is deleted, the tx thread may not yet
be called to clean up the indirect descriptors' buffers. In that case,
we need to remove them without waiting for the tx thread to be called.
Failure to do so may cause buffers leak when the tap interface is deleted.

For the RX ring, leakage also exists for vring->buffers when the interface
is removed.

Change-Id: I3df313a0e60334776b19daf51a9f5bf20dfdc489
Signed-off-by: Steven <[email protected]>
7 years agoUse csit rls1801 operational branch in vpp stable/1801 71/10071/1
Jan Gelety [Thu, 11 Jan 2018 07:55:19 +0000 (08:55 +0100)]
Use csit rls1801 operational branch in vpp stable/1801

Change-Id: Ie5824b4efe7930816a4312d7d3f541a86db5a2f0
Signed-off-by: Jan Gelety <[email protected]>
7 years agoVPP-1131: doxygen: Documentation for Debug CLI stops at src/plugin/l2e 59/10059/1 v18.01-rc2
Billy McFall [Wed, 10 Jan 2018 21:48:59 +0000 (16:48 -0500)]
VPP-1131: doxygen: Documentation for Debug CLI stops at src/plugin/l2e

Change-Id: I3ce014da7b514aa766a90cacddd76cd2247406a8
Signed-off-by: Billy McFall <[email protected]>
7 years agomakefile set CXXFLAGS so they are propageted to sub-builds 58/10058/1
Neale Ranns [Wed, 10 Jan 2018 15:27:17 +0000 (07:27 -0800)]
makefile set CXXFLAGS so they are propageted to sub-builds

Change-Id: I55d9953851062f7106c66701d46bcd9073cf1ee4
Signed-off-by: Neale Ranns <[email protected]>
(cherry picked from commit 5ee623e789261552eb9460be10f34793d40b6575)

7 years agoVPP-1120 SRv6 bug with SID list containing only one SID and no srh 91/9991/3
Pablo Camarillo [Mon, 8 Jan 2018 13:25:55 +0000 (14:25 +0100)]
VPP-1120 SRv6 bug with SID list containing only one SID and no srh

Packets with a SR policy of one SID list create a malformed packet.
Outer IPv6 header points to a routing extension header that does not
exist since the SID list contains only one SID.

Change-Id: I1effee0457453bab95706a8a24fdabfbd843d5b7
Signed-off-by: Pablo Camarillo <[email protected]>
7 years agoVPP-1113 SR MPLS path.frp_label_stack 97/9997/3
Pablo Camarillo [Mon, 8 Jan 2018 14:53:20 +0000 (15:53 +0100)]
VPP-1113 SR MPLS path.frp_label_stack

provide one label stack per fib_table_entry_path_add2 call. otherwise multiple mheap releases take place.

Change-Id: I475ca1b801fc85dddda0b540c69ad628a274df7f
Signed-off-by: Pablo Camarillo <[email protected]>
7 years agoVPP-1119: PPPoE's destination MAC was overwritten 05/10005/5
Hongjun Ni [Mon, 8 Jan 2018 22:52:19 +0000 (06:52 +0800)]
VPP-1119: PPPoE's destination MAC was overwritten

Change-Id: I6ae99c00e76058654f2c5e71377e9fd1bd13b47b
Signed-off-by: Hongjun Ni <[email protected]>
7 years agoBIER: missing endian swap for imposition object in API return 22/10022/2
Neale Ranns [Tue, 9 Jan 2018 12:11:28 +0000 (04:11 -0800)]
BIER: missing endian swap for imposition object in API return

Change-Id: Iddd754d00ace3d042336e5c2c40431566275051a
Signed-off-by: Neale Ranns <[email protected]>
(cherry picked from commit eea537a288721b867d65b736363ab3f71ba6116c)

7 years agotest: consolidate the multiple versions of send_and_* 19/10019/2
Neale Ranns [Mon, 8 Jan 2018 12:41:42 +0000 (04:41 -0800)]
test: consolidate the multiple versions of send_and_*

Change-Id: I7fa7d0ebf73dab8264a2e5ddbd412600d78ead05
Signed-off-by: Neale Ranns <[email protected]>
(cherry picked from commit 52fae862646e25bac6d1cd11b9fc7ac77299bc25)

7 years agoBIER: crash in show command when no tables are present 25/10025/2
Neale Ranns [Sun, 7 Jan 2018 19:23:04 +0000 (11:23 -0800)]
BIER: crash in show command when no tables are present

Change-Id: Ie291468ea9d05c47cefe39c4ff7fea3e016bacf2
Signed-off-by: Neale Ranns <[email protected]>
(cherry picked from commit 0e8cb6c475b616a3296b08d25bcaa1eed3ab0084)

7 years agoGRE tunnel key should use fib_index instead of fib_id (VPP-1118) 10/10010/1
John Lo [Tue, 9 Jan 2018 04:19:18 +0000 (23:19 -0500)]
GRE tunnel key should use fib_index instead of fib_id (VPP-1118)

Follow up fix - vl_api_gre_add_del_tunnel_t_handler should pass
outer_fib_id from API message to vnet_gre_add_del_tunnel() and
not convert it to fib_index, since vnet_gre_add_del_tunnel()
already perform the lookup to get fib_index from fib_id.

Change-Id: I24967a97f82ce018ddef596e556bd3eb1706cb63
Signed-off-by: John Lo <[email protected]>
7 years agoNAT: fixed get_worker_out2in bug (VPP-1116) 59/9959/2
Matus Fabian [Fri, 5 Jan 2018 13:03:35 +0000 (05:03 -0800)]
NAT: fixed get_worker_out2in bug (VPP-1116)

Change-Id: I5e080d69f28661cc0b1846885d5001526b54fbd9
Signed-off-by: Matus Fabian <[email protected]>
7 years agoVPP-1110 BVI reply ARP that doesn't request BVI loacl IP. 79/9979/2
zhaoqingling [Sat, 23 Dec 2017 07:20:59 +0000 (15:20 +0800)]
VPP-1110 BVI reply ARP that doesn't request BVI loacl IP.

Change-Id: I66ae618edaa12c2b4e4afe276da689673b02c9cd
Signed-off-by: zhaoqingling <[email protected]>
(cherry picked from commit b4c42cdc6bbbf464f3f0034b2b39d4e20fd23a25)

7 years agoUnify/cleanup usage of hash_set/unset_mem by tunnels (VPP-1117) 61/9961/4
John Lo [Thu, 4 Jan 2018 21:39:42 +0000 (16:39 -0500)]
Unify/cleanup usage of hash_set/unset_mem by tunnels (VPP-1117)

Move the functions hash_set_key_copy() and hash_unset_key_free()
which are dupilicated in various tunnel support code modules to
hash.h as hash_set_mem_alloc() and hash_unset_mem_free() to be
used by all.

Change-Id: I40723cabe29072ab7feb1804c221f28606d8e4fe
Signed-off-by: John Lo <[email protected]>
(cherry picked from commit e6bfeab1c352ae73a19361c038e2a06a58c035db)

7 years agoGRE tunnel key should use fib_index instead of fib_id (VPP-1118) 77/9977/1
John Lo [Sat, 6 Jan 2018 05:22:54 +0000 (00:22 -0500)]
GRE tunnel key should use fib_index instead of fib_id (VPP-1118)

The code path in src/vnet/gre/interface.c uses fib_id as a
component to generate hash key for GRE tunnel. This should be
fib_index as the GRE rx/decap data path will be using fib_index
to generate the hash key to lookup the GRE tunnel.

Change-Id: Ia7f0892d84f9dac79223a6e016775892b61eb5fb
Signed-off-by: John Lo <[email protected]>
7 years agoVOM: NAT coverity found bugs 47/9947/1
Neale Ranns [Thu, 4 Jan 2018 09:11:44 +0000 (01:11 -0800)]
VOM: NAT coverity found bugs

Change-Id: Ic55ad2e0a1435f552ce84ed1a9b1981191bc178b
Signed-off-by: Neale Ranns <[email protected]>
(cherry picked from commit 842eb22e5d5a7e11114fe093eeccafb080e9aa8b)

7 years agoInitial changes for stable/1801 branch 37/9937/1 v18.01-rc1
Dave Wallace [Wed, 3 Jan 2018 20:23:14 +0000 (15:23 -0500)]
Initial changes for stable/1801 branch

This patch adds an entry for the defaultbranch
in .gitreview

Change-Id: I280cc0fb36a913cc5b26d2815d8429e18b8edde1
Signed-off-by: Dave Wallace <[email protected]>
7 years agoNAT64: free port when dynamic BIB deleted (VPP-1107) 72/9872/2 v18.04-rc0
Matus Fabian [Tue, 19 Dec 2017 11:43:07 +0000 (03:43 -0800)]
NAT64: free port when dynamic BIB deleted (VPP-1107)

Change-Id: Id897ed61a26a4069678ed4ddac1ba28bf32809c3
Signed-off-by: Matus Fabian <[email protected]>
7 years agoVOM: NAT updates 20/9920/1
Neale Ranns [Wed, 20 Dec 2017 16:49:51 +0000 (08:49 -0800)]
VOM: NAT updates

Change-Id: I112afaa1f2ccd2ee62a436c73802afaea9b44779
Signed-off-by: Neale Ranns <[email protected]>
7 years agotcp: add builtin server/client transfer test 61/9861/9
Florin Coras [Thu, 14 Dec 2017 19:30:48 +0000 (11:30 -0800)]
tcp: add builtin server/client transfer test

Change-Id: Iab0baabf2f27bc7ad7fbf2d2789a493752b07d8a
Signed-off-by: Florin Coras <[email protected]>
7 years agomaintainers: update email 97/9897/1
Sergio Gonzalez Monroy [Fri, 22 Dec 2017 09:36:21 +0000 (09:36 +0000)]
maintainers: update email

Change-Id: Ie915f7b0153bed2e603eedc642df852b85c8ad5c
Signed-off-by: Sergio Gonzalez Monroy <[email protected]>
7 years agofib: make deag entries urpf extempt 60/9860/4
Florin Coras [Sat, 16 Dec 2017 16:31:06 +0000 (08:31 -0800)]
fib: make deag entries urpf extempt

Change-Id: Ie8f6bb4fcd3e4fa269e86a77d2f21c87f372b783
Signed-off-by: Florin Coras <[email protected]>
7 years agoVPP-1109 Fix loop for some CLI (code review) 94/9894/1
Swarup Nayak [Thu, 21 Dec 2017 06:05:33 +0000 (11:35 +0530)]
VPP-1109 Fix loop for some CLI (code review)

Change-Id: I518387ab479bee4778d45a33c95f7b0f72aa1b72
Signed-off-by: Swarup Nayak <[email protected]>
7 years agoL2 emulation: remove usued ip-table-id from API 88/9888/1
Neale Ranns [Wed, 20 Dec 2017 16:54:52 +0000 (08:54 -0800)]
L2 emulation: remove usued ip-table-id from API

IP table mapping is set using 'set int ip table X Y"

Change-Id: I2adec40015f9281c9b00c55506000b322f42d91a
Signed-off-by: Neale Ranns <[email protected]>
7 years agoacl-plugin: add a debug CLI to print 5-tuple structure in human readable format from... 86/9886/2
Andrew Yourtchenko [Wed, 20 Dec 2017 15:08:03 +0000 (16:08 +0100)]
acl-plugin: add a debug CLI to print 5-tuple structure in human readable format from hex representation

Even though the trace now prints the hex as well as human readable format for acl plugin,
it can be handy to have a separate function which allows to decode the hex. So add this debug CLI.

Change-Id: I1db133a043374817ea9e94ae3736b8a98630669d
Signed-off-by: Andrew Yourtchenko <[email protected]>
7 years agoL2 Emulation 59/9759/8
Neale Ranns [Sat, 21 Oct 2017 13:34:22 +0000 (06:34 -0700)]
L2 Emulation

L2 Emulation is a feautre that is applied to L2 ports to 'extract'
IP packets from the L2 path and inject them into the L3 path (i.e.
into the appropriate ip[4|6]_input node).
L3 routes in the table_id for that interface should then be configured
as DVR routes, therefore the forwarded packet has the L2 header
preserved and togehter the L3 routed system behaves like an L2 bridge.

Change-Id: I8effd7e2f4c67ee277b73c7bc79aa3e5a3e34d03
Signed-off-by: Neale Ranns <[email protected]>
7 years agofix kubeproxy some tests 80/9880/2
Gabriel Ganne [Tue, 19 Dec 2017 15:13:44 +0000 (16:13 +0100)]
fix kubeproxy some tests

* NAT46: fix test cleanup, missing del keyword
* NAT66: fix kube-proxy vip, is ipv6
* add some missing kp_put_writer_lock
* wipe flowtable after each unit test
  * Add new cli api: "test kube-proxy flowtable flush" to flushes everything
  * Call this new cli function after the end of each kube-proxy unit test.
  * same as commit b3d1b203579226ca5136b9d6a2744577d07cfcc6 for the lb plugin

Change-Id: I4146f44841328ec96eb66729e3bae3d40f33e4aa
Signed-off-by: Gabriel Ganne <[email protected]>
7 years agoTranslate matching packets using NAT (VPP-1069) 59/9559/8
Juraj Sloboda [Thu, 23 Nov 2017 12:20:48 +0000 (13:20 +0100)]
Translate matching packets using NAT (VPP-1069)

Add API function which enables forwarding of packets not matching
existing translation or static mapping instead of dropping them.

When forwarding is enabled matching packets will be translated
while non-matching packets will be forwarded without translation.

Change-Id: Ic13040cbad16d3a1ecdc3e02a497171bef6aa413
Signed-off-by: Juraj Sloboda <[email protected]>
7 years agoFix MPLS local-label CLI help string 73/9873/3
Marek Gradzki [Tue, 19 Dec 2017 12:15:39 +0000 (13:15 +0100)]
Fix MPLS local-label CLI help string

CLI parsing code (unformat_fib_route_path) does not
recognise 'resolve-via-connected'.

However it understands 'resolve-via-attached'.

Change-Id: I57e5eb75199cb8ae72c0fc8642a41f042b022201
Signed-off-by: Marek Gradzki <[email protected]>
7 years agoVPP-1083 "ip punt redirect add" crashed if not mentioned any other parameter 87/9787/4
Swarup Nayak [Mon, 11 Dec 2017 08:22:44 +0000 (13:52 +0530)]
VPP-1083 "ip punt redirect add" crashed if not mentioned any other parameter

Change-Id: Ibb6f450783d0ab64bd943c19f12d0954b0a94b24
Signed-off-by: Swarup Nayak <[email protected]>
7 years agoBIER coverity fix in route downlaod 71/9871/2
Neale Ranns [Tue, 19 Dec 2017 09:34:30 +0000 (01:34 -0800)]
BIER coverity fix in route downlaod

Change-Id: I9341f1554d804dfeeecef656e59e8598704863dc
Signed-off-by: Neale Ranns <[email protected]>
7 years agoFIB memory leak during recursive loop detection 77/9877/2
Neale Ranns [Tue, 19 Dec 2017 15:00:09 +0000 (07:00 -0800)]
FIB memory leak during recursive loop detection

Change-Id: I5ecd43330b3329b072e6da62a4eed1641eb17f8f
Signed-off-by: Neale Ranns <[email protected]>
7 years agoVPP-1032: fix coverity warning in bier 76/9876/2
Dave Barach [Tue, 19 Dec 2017 13:26:27 +0000 (08:26 -0500)]
VPP-1032: fix coverity warning in bier

Change-Id: I0f8d2d9be78d4d936ed61538aee1b7207871347b
Signed-off-by: Dave Barach <[email protected]>
7 years agoFix passing bad context for callback function 24/9624/4
Juraj Sloboda [Fri, 10 Nov 2017 11:11:50 +0000 (12:11 +0100)]
Fix passing bad context for callback function

Change-Id: I61e6019ab34f52c82bf3f1e5327501a613f58bd9
Signed-off-by: Juraj Sloboda <[email protected]>
7 years agoNAT: Twice NAT44 (VPP-969) 67/9867/2
Matus Fabian [Mon, 18 Dec 2017 13:38:24 +0000 (05:38 -0800)]
NAT: Twice NAT44 (VPP-969)

Translation of both source and destination addresses and ports for 1:1 NAT
session initiated from outside network (ExternalIP K8 use case).

Change-Id: Ic0000497cf71619aac996d6d580844f0ea0edc14
Signed-off-by: Matus Fabian <[email protected]>
7 years agolldp: Fix Coverity Warnings CID 177942, CID 177945 70/9870/2
Dave Wallace [Mon, 18 Dec 2017 22:19:21 +0000 (17:19 -0500)]
lldp: Fix Coverity Warnings CID 177942, CID 177945

Change-Id: Ic1ab32c5df3f7a613fe0dcd6bfc15037fa2a008b
Signed-off-by: Dave Wallace <[email protected]>
7 years agosession api: Fix Coverity Warning CID 180115 68/9868/2
Dave Wallace [Mon, 18 Dec 2017 18:51:59 +0000 (13:51 -0500)]
session api: Fix Coverity Warning CID 180115

Change-Id: I87e3de556910851d16af343bfcbede49500843ff
Signed-off-by: Dave Wallace <[email protected]>
7 years agoAPI: Fix Coverity Warning CID 177944 69/9869/1
Dave Wallace [Mon, 18 Dec 2017 20:40:53 +0000 (15:40 -0500)]
API: Fix Coverity Warning CID 177944

Change-Id: I5dbd5e5673ecb0d3878053ae9985478740cf3bc6
Signed-off-by: Dave Wallace <[email protected]>
7 years agoNAT: Add performance testing TRex scripts and config (VPP-832) 58/8558/3
Matus Fabian [Wed, 27 Sep 2017 11:44:08 +0000 (04:44 -0700)]
NAT: Add performance testing TRex scripts and config (VPP-832)

Change-Id: I149a20f183b836db4c32fb4e4a8438b3a14c1c26
Signed-off-by: Matus Fabian <[email protected]>
7 years agoUpdated MAINTAINERS 64/9864/3
Radu Nicolau [Mon, 18 Dec 2017 11:18:22 +0000 (11:18 +0000)]
Updated MAINTAINERS

Added Radu Nicolau as maintainer for
src/devices/dpdk/ipsec/ and src/vnet/ipsec/

Change-Id: If354344f5685ce0e431757768b77c4d5e8e409f9
Signed-off-by: Radu Nicolau <[email protected]>
7 years agoFix nat44 identity mapping 65/9865/2
Dave Barach [Mon, 18 Dec 2017 13:11:37 +0000 (08:11 -0500)]
Fix nat44 identity mapping

Set l_addr to the interface address if the interface address is known
when the identity mapping is created.

Change-Id: I61af0f5248c9d86d23a24457b342b2e1fb4ac726
Signed-off-by: Dave Barach <[email protected]>
7 years agoProvide useful output when installed vpp-dpdk version is incorrect 26/9326/2
Ed Warnicke [Wed, 8 Nov 2017 20:39:31 +0000 (13:39 -0700)]
Provide useful output when installed vpp-dpdk version is incorrect

Change-Id: Icb931de82cb5969fa4976611629e2f882c720a99
Signed-off-by: Ed Warnicke <[email protected]>
7 years agoSupport kube-proxy data plane 20/8220/25
Hongjun Ni [Mon, 28 Aug 2017 17:00:42 +0000 (01:00 +0800)]
Support kube-proxy data plane

This plugin provides kube-proxy data plane on user space,
which is used to replace linux kernal's kube-proxy based on iptables.
The idea is largely inspired from VPP LB plugin.

Currently, kube-proxy plugin supports three service types:
1) Cluster IP plus Port: support any protocols, including TCP, UDP.
2) Node IP plus Node Port: currently only support UDP.
3) External Load Balancer.

Please refer to kp_plugin_doc.md for details.

Change-Id: I36690e417dd26ad5ec1bd77c7ea4b8100416cac6
Signed-off-by: Hongjun Ni <[email protected]>
7 years agoSR-MPLS: binary API and automated steering 76/9376/19
Pablo Camarillo [Thu, 13 Jul 2017 07:41:32 +0000 (09:41 +0200)]
SR-MPLS: binary API and automated steering

Change-Id: Iacfbaaa91ea8bd92790dec9fce567063bdbc5d64
Signed-off-by: Pablo Camarillo <[email protected]>
7 years agoVPP-269 Coding standards cleanup - vnet/vnet/policer 87/9587/5
Krishanpal singh [Mon, 27 Nov 2017 14:10:56 +0000 (19:40 +0530)]
VPP-269 Coding standards cleanup - vnet/vnet/policer

Change-Id: Ib92794205027d3242c6f0c8962fe02ac38c7129b
Signed-off-by: Krishanpal singh <[email protected]>
7 years agoUpdate CSIT tests 171204 -> 171218 63/9863/1
Jan Gelety [Mon, 18 Dec 2017 08:03:17 +0000 (09:03 +0100)]
Update CSIT tests 171204 -> 171218

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I5ad0e36fa40095cc107a31b32dd2bbf936636dc4
Signed-off-by: Jan Gelety <[email protected]>