Florin Coras [Fri, 18 May 2018 07:41:55 +0000 (00:41 -0700)]
tcp_echo: support multiple connections
Change-Id: I6d8e1351e088728f7363550a0fc117256cae2841
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Fri, 18 May 2018 09:27:10 +0000 (02:27 -0700)]
IP unnumbered dump
Change-Id: I4f245fd225bcc563fafee2696cd039477d661c57
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Damjan Marion [Thu, 17 May 2018 19:12:13 +0000 (21:12 +0200)]
Add vlib_buffer_enqueue_to_next inline function
Change-Id: I1042c0fe179b57a00ce99c8d62cb1bdbe24d9184
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Thu, 17 May 2018 13:34:24 +0000 (06:34 -0700)]
IP table bind allowed only if table exists
Change-Id: If01400e3434b25b2da36ba28ceb8444b216d0e38
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Jon Loeliger [Thu, 17 May 2018 20:55:00 +0000 (15:55 -0500)]
ARP: Ensure STATIC and DYANMIC ARP flags are mutually exclusive.
Change-Id: I44278dea2ee1daa147b0928bfe26e861907a209f
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Neale Ranns [Thu, 17 May 2018 16:38:13 +0000 (09:38 -0700)]
IP address dump - don't send subnets for unnumbered interfaces
Change-Id: I8c64a0d2f757d96ffa7fd042c23b0d814217c215
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Dave Wallace [Thu, 17 May 2018 16:06:27 +0000 (12:06 -0400)]
18.01.2 Release Notes
Change-Id: I17ba98b48409d907081a0fd8d7db35adf45192ef
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Thu, 17 May 2018 02:28:24 +0000 (19:28 -0700)]
session: add session process node
Add a session process node that handles main thread tx and retransmit in
order to avoid having a polling input node.
Change-Id: I3357e987c023a84b533b32793e37ab4204420f64
Signed-off-by: Florin Coras <fcoras@cisco.com>
Mohsin Kazmi [Thu, 17 May 2018 15:21:39 +0000 (17:21 +0200)]
tap: remove the local vlib_log_info definition
Change-Id: Idff55a19d27fed0d57e222f38d2e16c5367911cb
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Hongjun Ni [Tue, 6 Feb 2018 15:00:22 +0000 (23:00 +0800)]
Rework kube-proxy into LB plugin
Add support of NAT66
Change-Id: Ie6aa79078a3835f989829b9a597c448dfd2f9ea3
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Damjan Marion [Thu, 17 May 2018 10:44:00 +0000 (12:44 +0200)]
Add buffer pointer-to-index and index-to-pointer array functions
Change-Id: Ib3fcc3ceb7f315389bcdecbb7d9632540a5dd6ba
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohsin Kazmi [Thu, 17 May 2018 14:47:08 +0000 (16:47 +0200)]
vlib: Fix WARN-ING macro in function
Change-Id: I238106c2afc46904fb0eb17164f30dbd1378892e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Matthew Smith [Tue, 15 May 2018 20:51:30 +0000 (15:51 -0500)]
Fix failure during enable/disable of features
vnet_feature_enable_disable_with_index() checks the
return status of vnet_config_{add,del}_feature().
If the config string heap index returned is the same
index that was in use prior to the add/delete, it is
concluded that a failure occurred and processing of
the feature stops.
Sometimes the config index that is returned
can legitimately be the same index that was in used
before the add/delete. The old list of features can
have its heap entry deallocated before a new entry for
the new list is allocated. The heap entry for the new
list can be the entry that was deallocated while
deleting the old one.
Make vnet_config_{add,del}_feature() return ~0 on
failure. Look for that return value as an indication
that an error occurred in
vnet_enable_disable_feature_by_index().
Change-Id: I88bb3ff88a76971c1b5e5ece74784ce8ba78373c
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Marco Varlese [Thu, 17 May 2018 13:46:13 +0000 (15:46 +0200)]
Allow openSUSE tumbleweed
Change-Id: I2ab7f5d2a30620b12bd345d6102a3d381ee5d5ec
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Juraj Sloboda [Thu, 17 May 2018 10:05:27 +0000 (12:05 +0200)]
Fixes in IPv6 RD control plane
Add default route to the VRF table in which the interface is bound.
Add missing pool_put.
Change-Id: Id76c7dbfbf9bcf18357f372f3eee9b931df1995e
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Eyal Bari [Wed, 16 May 2018 09:15:32 +0000 (12:15 +0300)]
flow:redirect to node
Change-Id: I4b6577b496c56f27f07dd0066fcfdfd0cebb6f1a
Signed-off-by: Eyal Bari <ebari@cisco.com>
Matus Fabian [Mon, 14 May 2018 13:20:28 +0000 (06:20 -0700)]
NAT44: nat44_del_session and nat44_user_session_details API update (VPP-1271)
Change-Id: I484d79000c1bbd87ff83847cf567bf3414a719d3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Thu, 26 Apr 2018 15:26:52 +0000 (08:26 -0700)]
tcp: handle link-local addresses
Change-Id: I9ede6bc861350c7d9e78fa4d96cd584c2816d06f
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Wed, 16 May 2018 15:34:35 +0000 (11:34 -0400)]
Packet generator: preserve pcap file timestamps
Set vnet_buffer2(b0)->pg_replay_timestamp, for use when desired.
Fix a memory leak in pg_stream_free(...), which wasn't freeing the
replay packet templates.
Change-Id: I01822a9e91a52de4774d2b95cf0c2ee254a915e9
Signed-off-by: Dave Barach <dave@barachs.net>
Rui Cai [Thu, 26 Apr 2018 23:15:57 +0000 (23:15 +0000)]
dpdk: fix rte_eth_dev_set_mtu callsites to use same mtu value
During dpdk_lib_init, it calculates MRU and MTU and later calls
rte_eth_dev_set_mtu with calculated MTU value. However, dpdk_device_setup
calls rte_eth_dev_set_mtu with hi->max_packet_bytes, which is set to be
MRU value in dpdk_lib_init earlier.
Most of the time, MRU != MTU in dpdk_lib_init and it looks like
hi->max_packet_bytes is treated as MTU in other parts of vpp codebase.
Therefore, dpdk_lib_init should be consistent and use MTU instead of MRU
for hi->max_packet_bytes.
Change-Id: I23ff2a6cd45d6bc819b6f64d5f0fc0490b8a44de
Signed-off-by: Rui Cai <rucai@microsoft.com>
Matthew Smith [Wed, 16 May 2018 03:03:05 +0000 (22:03 -0500)]
Drop IPsec packets when interface is down
Packets arriving on an IPsec tunnel interface
are decrypted and forwarded even if the
interface is down.
Check interface flags. If the interface is down,
cause packet to be dropped and increment the
counters for drops.
Change-Id: I94456bda3bd8eade0f3f522ad7cc341251174e6e
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Klement Sekera [Wed, 16 May 2018 08:52:54 +0000 (10:52 +0200)]
make test: unify packet checksum verifications
Change-Id: If9cc7c5e32ebecff398fd38b39e8f485754a4ad4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Sachin Saxena [Thu, 10 May 2018 10:52:09 +0000 (16:22 +0530)]
Fix broken compilation for non-numa aware platforms
- The dpdk plugin always looks for libnuma library during compilation.
For non-numa aware platforms compilation breaks, if third party
libnuma lib is not available.
- Issue is more severe with Cross Compilation scenario where one has to
download and cross compile libnuma-dev package even when target platofrom
is NUMA disabled.
Like when cross compiling for ARM platforms, Linaro tool-chain doesn't have
libnuma by default.
Change-Id: Ib85b3188b787c23ba33b47e3f6123c74fd37190e
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Florin Coras [Wed, 16 May 2018 16:28:02 +0000 (09:28 -0700)]
echo client: used fixed pool for preallocated sessions
Change-Id: I9e2cf74ebe3e8750fa8d03930d2d72f4cae453c2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Tue, 15 May 2018 14:26:41 +0000 (10:26 -0400)]
Update ipfix documentation
Change-Id: Ie942efab86d24a953fe34754e3d50df54b560dc0
Signed-off-by: Dave Barach <dave@barachs.net>
Neale Ranns [Mon, 14 Aug 2017 17:35:44 +0000 (10:35 -0700)]
No overlapping sub-nets on any interface in the same table/VRF (VPP-943)
DBGvpp# set int ip addr loop0 10.10.10.10/24
DBGvpp# set int ip addr loop0 10.10.10.11/24
set interface ip address: failed to add 10.10.10.11/24 which conflicts with 10.10.10.10/24 for interface loop0
Change-Id: Iba63ffafbd36b6146ce86adb78139da9d55b40ba
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 14 May 2018 12:16:46 +0000 (05:16 -0700)]
VOM: nat-binding populate handle errors
Change-Id: I8f41c659c6f50efd679a56878c6fdcf426ac9410
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Florin Coras [Mon, 14 May 2018 08:44:01 +0000 (01:44 -0700)]
proxy: fix active open connection cleanup
Thanks to DucTM for spotting the issue.
Change-Id: I7985560f224c99cf0fdeea0c8457a3ac6f10b03c
Signed-off-by: Florin Coras <fcoras@cisco.com>
Mohsin Kazmi [Fri, 11 May 2018 13:49:49 +0000 (15:49 +0200)]
vom: fix interface admin up/down
Change-Id: I7b9d28a940e0d7c4a4acda3f4048261c67bf49ff
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Juraj Sloboda [Thu, 3 May 2018 08:03:50 +0000 (10:03 +0200)]
Rework CP and DP communication in IPv6 RD (VPP-1256)
Replace binary API communication between CP and DP with
direct communication using function calls and callbacks.
Change-Id: Ib54f09062217c028e5ee0e96ae2449cf7e9224e3
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Matus Fabian [Fri, 11 May 2018 05:48:53 +0000 (22:48 -0700)]
NAT44: delete closed TCP session (VPP-1274)
Change-Id: Id25b447bddccb7b321123e4abc4134e7261a0807
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Barach [Sun, 13 May 2018 12:50:25 +0000 (08:50 -0400)]
Improve ipfix template packet rewrite construction
Instead of repeatedly cutting, pasting, and hacking to create a new
callback, use vnet_flow_rewrite_generic_callback(). Add three
arguments to the flow rewrite callback:
(in) pointer to an array of report elements,
(in) length of array,
(out) pointer to the stream index
Change existing code prototypes. Code owners encouraged to evaluate
whether they can use the generic callback or not, at leisure.
/* ipfix field definitions for a particular report */
typedef struct
{
u32 info_element;
u32 size;
} ipfix_report_element_t;
Best generated like so:
_(sourceIPv4Address, 4) \
_(destinationIPv4Address, 4) \
_(sourceTransportPort, 2) \
_(destinationTransportPort, 2) \
_(protocolIdentifier, 1) \
_(flowStartMicroseconds, 8) \
_(flowEndMicroseconds, 8)
static ipfix_report_element_t simple_report_elements[] = {
foreach_simple_report_ipfix_element
};
...
/* Set up the ipfix report */
memset (&a, 0, sizeof (a));
a.is_add = 1 /* to enable the report */ ;
a.domain_id = 1 /* pick a domain ID */ ;
a.src_port = UDP_DST_PORT_ipfix /* src port for reports */ ;
a.rewrite_callback = vnet_flow_rewrite_generic_callback;
a.report_elements = simple_report_elements;
a.n_report_elements = ARRAY_LEN (simple_report_elements);
a.stream_indexp = &jim->stream_index;
a.flow_data_callback = simple_flow_data_callback;
/* Create the report */
rv = vnet_flow_report_add_del (frm, &a, &template_id);
if (rv)
return rv;
...
Change-Id: If6131e6821d3a37a29269c0d58040cdf18ff05e4
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Fri, 11 May 2018 16:20:12 +0000 (09:20 -0700)]
session: improve app verbose format function
Change-Id: Idae4ecb60351f2e74bad2f2a33c073de8412fcb0
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Thu, 10 May 2018 20:20:47 +0000 (13:20 -0700)]
session: alloc one frame per output node dispatch
Change-Id: I1f7877af61f3726cfb7b93ce7893f6df23e866a6
Signed-off-by: Florin Coras <fcoras@cisco.com>
Rui Cai [Fri, 11 May 2018 22:13:58 +0000 (22:13 +0000)]
dpdk: Add constants for failsafe PMD
Adding name, enum constants and formatting code
for failsafe PMD.
This is part of initial effort to enable vpp running over
dpdk on failsafe PMD in Microsoft Azure(2/4).
Change-Id: I4eb0093db9f666e2635f7ddff451e3c9064bd0c4
Signed-off-by: Rui Cai <rucai@microsoft.com>
Rui Cai [Fri, 11 May 2018 21:52:22 +0000 (21:52 +0000)]
dpdk: Add build related keywords for failsafe PMD
Added build related keywords for TAP, FAILSAFE PMD
and also added some missing keywords for mlx4 PMD
This is part of initial effort to enable vpp running over
dpdk on failsafe PMD in Microsoft Azure (1/4).
Change-Id: I2aebf209fbc6db030185f41971b51a593a003a3a
Signed-off-by: Rui Cai <rucai@microsoft.com>
Steve Shin [Thu, 10 May 2018 21:14:52 +0000 (14:14 -0700)]
dpdk: fix Unknown interface with Mellanox NIC
When port_type_from_speed_capa() is called before the port link update isn't completed,
xd->port_type becomes VNET_DPDK_PORT_TYPE_UNKNOWN. This happens with Mellanox NIC
without lsc interrupt. Calling rte_eth_link_get before getting dev_info will ensure
the link state is up-to-date.
Change-Id: I83a59654778eb4bf0c65a4a4e225a326227b9641
Signed-off-by: Steve Shin <jonshin@cisco.com>
John Lo [Sat, 28 Apr 2018 05:19:24 +0000 (01:19 -0400)]
Periodic scan and probe of IP neighbors to maintain neighbor pools
Scan IPv4 and IPv6 neigbor pool entries once a minute to keep them
up to date. The neighbor of an entry is probed if its time-stamp
is older than 1 minute. If the neighbor respond, its time-stamp
will be updated. If there is no response from a neighbor, its
entry will be deleted when the time-stamp of the entry become more
than 4 minutes old. Static neighbor entries are not probed nor
deleted.
Implemented CLI and API to enable and disable priodic scan of IPv4,
IPv6 or both types of IP neighbors. CLI is "ip scan-neighbor" and
API is "ip_scan_neighbor_enable_disable". Other IP neighbor scan
parameters can also be changed from their defaults via the CLI/API.
Change-Id: Id1a0a934ace15d03db845aa698bcbb9cdabebfcd
Signed-off-by: John Lo <loj@cisco.com>
Klement Sekera [Fri, 11 May 2018 09:06:09 +0000 (11:06 +0200)]
make test: reorganize ipsec_ah test code
Change-Id: Ie0eb0127affd3d771d19bb7c60e79c31858d82cd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Klement Sekera [Fri, 11 May 2018 10:59:05 +0000 (12:59 +0200)]
VPP-1275 Fix memory leaks in IPsec CLI
Change-Id: I1f7c634328f25b33580a215af2daeb498cd3b181
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Dave Barach [Wed, 9 May 2018 17:25:09 +0000 (13:25 -0400)]
Add ipfix exporter coding guide
Change-Id: Iaa28f96d613d6fb75bd29958d757de206448eb22
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Thu, 10 May 2018 18:26:36 +0000 (20:26 +0200)]
Fix issue with xconnect not working on the main interface
Due to union, l2 sub-interface bits were wrongly set
causing sporadic misconfiguration of l2 mode on some
interfaces.
Change-Id: Id77ee281e3a0030878641a786c22ffe16ce1c759
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Barach [Thu, 10 May 2018 20:44:27 +0000 (16:44 -0400)]
Remove the historical memfd api segment bootstrap
Clean up default and vpp_api_test custom private api segment allocator
ring configurations.
Change-Id: I145b6d64ba0a6315b5ccb07909c8256eeb772146
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Thu, 10 May 2018 11:40:44 +0000 (13:40 +0200)]
vppinfra: use count_trailing_zeros in sparse_vec_index
It is much cheaper to use ctzll than to do shift,subtract and mask
in likely case when we are looking for 1st set bit in the uword.
Change-Id: I31954081571978878c7098bafad0c85a91755fa2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Wed, 9 May 2018 11:51:03 +0000 (04:51 -0700)]
NAT44: sessions counters per user fix (VPP-1270)
Change-Id: I6306b81e0e1c3e1c591f929a76bb265c1c1d0859
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Fri, 16 Mar 2018 00:25:27 +0000 (01:25 +0100)]
vnet: device flow offload infra
Change-Id: Ibea4a96bdec5e368301a03d8b11a0712fa0265e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Thu, 10 May 2018 00:33:00 +0000 (17:33 -0700)]
session: fix proxy app multithreading
Change-Id: Ic5304749935f69018eb00183bb4670bb9f16273c
Signed-off-by: Florin Coras <fcoras@cisco.com>
Szymon Sliwa [Wed, 9 May 2018 12:28:08 +0000 (14:28 +0200)]
Change the way IP header pointer is calculated in esp_decrypt nodes
The pointer to IP header was derived from l3_hdr_offset,
which would be ok, if l3_hdr_offset was valid. But it does not
have to be, so it was a bad solution. Now the previous nodes
mark whether it is a IPv6 or IPv4 packet tyle, and in esp_decrypt
we count get ip header pointer by substracting the size
of the ip header from the pointer to esp header (which lies
in front of the ip header).
Change-Id: I6d425b90931053711e8ce9126811b77ae6002a16
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
Matthew Smith [Mon, 7 May 2018 12:52:12 +0000 (07:52 -0500)]
DHCP4 client process replies when renewing lease
When a DHCP client is in the bound state, it wakes up
halfway through it's lease (by default) to try and renew
the lease. The ip4-dhcp-client-detect is not enabled as
a feature at this point, so replies sent from the DHCP
server do not get applied to the lease. Eventually the
lease expires, the address is removed from the interface,
a new discovery is performed and the same address is added
back to the interface.
Before sending a request to renew in the bound state, enable
the feature to process the reply.
Change-Id: I95332ee0596f47df6f3c8bf8e3f0698dde9a1fc5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Damjan Marion [Thu, 10 May 2018 01:04:08 +0000 (03:04 +0200)]
vppinfra: use popcnt instruction when available
Change-Id: Id02d613b8613a2d448840fe2d6a5e3b168a3c563
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Wed, 9 May 2018 18:34:25 +0000 (11:34 -0700)]
tcp: fix jumbo retransmits
Change-Id: I1c8a14d4d51aa730f0edcf491e3c4725e2d8bd66
Signed-off-by: Florin Coras <fcoras@cisco.com>
Eyal Bari [Thu, 10 May 2018 06:12:42 +0000 (09:12 +0300)]
dpdk:fix tx count
Change-Id: I921465ea64b59d42674cc8f19069ed04e3b25026
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Wed, 9 May 2018 18:42:54 +0000 (11:42 -0700)]
dpdk: fix free of tx dropped packets
Change-Id: I3669068f694614f8555b33bf0b703c41e45363ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Tue, 17 Apr 2018 16:04:57 +0000 (18:04 +0200)]
ipsec: support UDP encap/decap for NAT traversal
Change-Id: I65c12617ad49e4d5ef242e53988782f0cefa5684
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Fri, 4 May 2018 22:46:57 +0000 (15:46 -0700)]
session: cleanup session tx function
- rework the function to declutter and avoid building more than one tx
frame
- add dual loop although benefits in my tests seem to be minimal
- improve tcp/udp echo external apps. They have slightly better
throughput than internal echo apps.
- udp bugfixes
Change-Id: Iea4a245b1b1bb407a7f403dedcce2664a49f774b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Sat, 5 May 2018 10:30:28 +0000 (12:30 +0200)]
dpdk: tx code rework
Change-Id: Ifea9c772e8784642433b92091f5769eb9ec06890
Signed-off-by: Damjan Marion <damarion@cisco.com>
Eyal Bari [Wed, 9 May 2018 06:37:54 +0000 (09:37 +0300)]
dpdk:fix mbuf index typo's
Change-Id: I387b22427b3f322969bcf32fcfc189123c8ed6ae
Signed-off-by: Eyal Bari <ebari@cisco.com>
Matus Fabian [Fri, 4 May 2018 10:57:42 +0000 (03:57 -0700)]
NAT44: TCP connection close detection (VPP-1266)
Change-Id: Iba1cc1179ee80478e29888790a6476571d1904dc
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Marco Varlese [Mon, 7 May 2018 13:40:45 +0000 (15:40 +0200)]
opensuse: OS_ID field content changed for SUSE
Change-Id: I4bb582d55b1071d3581155eb158995ca5153ba3c
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Damjan Marion [Mon, 7 May 2018 13:20:25 +0000 (15:20 +0200)]
dpdk: improve perf of buffer indices calc in the input node
Change-Id: I16557189aa4a763ec496cb4a45f6e12f2d46971f
Signed-off-by: Damjan Marion <damarion@cisco.com>
Andrey "Zed" Zaikin [Tue, 24 Apr 2018 11:50:02 +0000 (14:50 +0300)]
fix: AttributeError: module 'os' has no attribute 'cwd'
Change-Id: I1c49a12ef7fa7bd0046f1a420b01c1654b6d21ec
Signed-off-by: Andrey "Zed" Zaikin <zed.0xff@gmail.com>
Jon Loeliger [Sat, 5 May 2018 21:11:31 +0000 (16:11 -0500)]
BFD: Fix format_ip46_address() parameter ordering.
Change-Id: I2b50e3fc06b4e905395d4706083f12ebc76826ce
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Eyal Bari [Mon, 7 May 2018 07:13:44 +0000 (10:13 +0300)]
vxlan:vxlan.c conform coding style
Change-Id: I9937912cd760698e39044e8ae022a90b58c8db30
Signed-off-by: Eyal Bari <ebari@cisco.com>
Damjan Marion [Fri, 4 May 2018 18:45:41 +0000 (20:45 +0200)]
autodetect alignment during _vec_resize
Change-Id: I2896dbde78b5d58dc706756f4c76632c303557ae
Signed-off-by: Damjan Marion <damarion@cisco.com>
Radu Nicolau [Fri, 4 May 2018 11:51:53 +0000 (12:51 +0100)]
ipsec: allow null/null for crypto/integ algorithms pair
Change-Id: Ic1e189c22e3d344d165e0eab05ccb667eef088a9
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Thomas F Herbert [Thu, 3 May 2018 23:17:13 +0000 (19:17 -0400)]
Add python lex and yacc to spec file build requirements.
Change-Id: Icf1a30c9df4d3298407c00383020debe99acdbff
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Ole Troan [Wed, 2 May 2018 10:45:10 +0000 (12:45 +0200)]
Flow: Rename IPFIX exporter.
Change-Id: I9363cf54b73f7cfd8622af6f1cb250438ea0d3b6
Signed-off-by: Ole Troan <ot@cisco.com>
Sachin Saxena [Fri, 4 May 2018 10:38:43 +0000 (16:08 +0530)]
build-data: Common makefile for NXP DPAA1/DPAA2 platforms
- Same makefile will be used to support DPAA1 and DPAA2 platforms.
- Support added to have both on Host compilation as well as Cross compilation.
- If Cross compiling, by default NXP cutomized toolchain "aarch64-fsl-linux" will be used.
To use Linaro toolchains, please set env variable CROSS_PREFIX.
Like: export CROSS_PREFIX=aarch64-linux-gnu
- Added CPU_MTUNE to modify xxx_mtune , if CPU is not A72 which is default.
- You may set DPDK_PATH to dpdk installation folder, if wish to use locally compiled DPDK.
- In case of Cross compilation, OPENSSL_PATH will be required to include OPENSSL libs.
Change-Id: I9057dfc57522b60e306810f684b3085bfccf85e9
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Dave Barach [Thu, 3 May 2018 12:26:39 +0000 (08:26 -0400)]
Harmonize vec/pool_get_aligned object sizes and alignment requests
Object sizes must evenly divide alignment requests, or vice
versa. Otherwise, only the first object will be aligned as
requested.
Three choices: add CLIB_CACHE_LINE_ALIGN_MARK(align_me) at
the end of structures, manually pad to an even divisor or multiple of
the alignment request, or use plain vectors/pools.
static assert for enforcement.
Change-Id: I41aa6ff1a58267301d32aaf4b9cd24678ac1c147
Signed-off-by: Dave Barach <dbarach@cisco.com>
Sachin Saxena [Fri, 4 May 2018 09:38:29 +0000 (15:08 +0530)]
arm64: Avoid setting march to corei7 when Cross Compiling for ARM
When Cross-compiling VPP for arm64 target and build machine is x86_64,
based on build_cpu value, the march variable is set to corei7 which is
an unrecoganized option for ARM tool chain.
This breaks the VPP compilation.
Change-Id: I4cba5b4990e7cf0bdc1403e90c3d18110900bbef
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Marco Varlese [Wed, 2 May 2018 11:33:47 +0000 (13:33 +0200)]
Address compilation issues with Java > 1.8
This patch addresses the changes in the JDK to build headers (javah no
longer available)
Change-Id: I3e94b1cf97c8c474535c26b75ea08379338fe0af
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Milan Lenco [Thu, 3 May 2018 15:31:46 +0000 (17:31 +0200)]
Fix format for the dst address in the STN trace
Output string 's' was not assigned the return value of format() for
the destination address, which, in case the underlying memory was moved
by the realloc, resulted in an invalid memory access by the subsequent
invocations of format().
Change-Id: I2b5dfd85db085c553ca5ec0b3257aeeb437c360a
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Klement Sekera [Thu, 3 May 2018 12:27:42 +0000 (14:27 +0200)]
VAPI: support VLAs in type definitions
Change-Id: I8d54415972d6644190857175b0e895c5319ce7b6
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Milan Lenco [Wed, 2 May 2018 12:22:22 +0000 (14:22 +0200)]
NAT: fix bin API dump of static mappings.
Static mappings with equal local and external IPs
but different ports were dumped as identity mappings.
Change-Id: Ifea7cef5b78aea4c2eb31cf1620185eeef2681e5
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Neale Ranns [Wed, 2 May 2018 12:15:16 +0000 (05:15 -0700)]
MPLS prefetch fixes
Change-Id: I565d79af410825c72f291ab40178883b1bc6f1df
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matus Fabian [Wed, 2 May 2018 07:59:33 +0000 (00:59 -0700)]
NAT44: fix VAT nat44_user_session_details
Change-Id: If379247f0574fbfcca39e752684bf6c81b95187b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matthew Smith [Mon, 30 Apr 2018 21:39:13 +0000 (16:39 -0500)]
NAT44 segv on unknown proto on inside interface
When a packet with an unknown proto arrives
on an inside interface and there are no existing sessions
for the source address, a segv occurs.
snat_in2out_unknown_proto() finds the head of the sessions
dlist, fetches the address of the next element using
head->next, and then dereferences the next element. On the
first packet received from a source address, head->next is
~0, so this results in a segv.
Check that the session list is not empty before trying to
traverse it.
Also removed unnecessary lookup against tsm->user_hash.
Prior call to nat_user_get_or_create() already performed
that lookup and added a user if one didn't exist.
Change-Id: If73e79aa2f8e3962ab7b876ecf55aea40d7a5472
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Florin Coras [Wed, 2 May 2018 21:34:32 +0000 (14:34 -0700)]
tcp: fix echo server rx retries counter vec alloc
If sessions are not preallocated, the rx retries counters are not
correctly validated/initialized
Change-Id: Iaf7456f3a0e2181fcea0c370613d694f8e98276d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matthew Smith [Wed, 2 May 2018 14:55:01 +0000 (09:55 -0500)]
Fix CentOS 7 build issue with vxlan
Two vxlan union/struct initializations caused gcc on
CentOS 7 to puke. Modified them to make the build
work again.
Change-Id: Iad667444b86cfde5ee4329993b520028d3b593ad
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Tue, 1 May 2018 12:55:59 +0000 (05:55 -0700)]
Scapy; update to release 2.4.0
Change-Id: Ibcae49ab106efa9cd0ff60be60904ac5a2fc0b65
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
eyal bari [Thu, 26 Apr 2018 10:14:55 +0000 (13:14 +0300)]
vxlan:encap - use vnet rewrite
moving the rewrite into the tunnel struct
Change-Id: Iec74b48e13456d32957e826cffb5ea35a8ebd1a0
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Fri, 20 Apr 2018 17:51:49 +0000 (10:51 -0700)]
tcp/session: debug improvements/fixes
Change-Id: I906e58b4f9827a79a6ab673f8fa2e03036c69820
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Mon, 30 Apr 2018 17:03:46 +0000 (13:03 -0400)]
Add plugin periodic function elisp skeleton
Change-Id: Ide4e2d2a06dff20c94ae5436ba6361b246052867
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Mon, 30 Apr 2018 14:50:13 +0000 (10:50 -0400)]
Remove historical README file
Change-Id: I54a00686a7f3a61f583a5f701a0ab6c5480a455b
Signed-off-by: Dave Barach <dave@barachs.net>
Neale Ranns [Wed, 25 Apr 2018 08:41:24 +0000 (01:41 -0700)]
FIB: elide cover walk for insert of host route
Change-Id: I2d39e56ff605e3a24927d6330d65d0406f588381
Signed-off-by: Neale Ranns <nranns@cisco.com>
Chris Luke [Mon, 30 Apr 2018 13:59:43 +0000 (09:59 -0400)]
Add reference to 18.04 test framework documentation
Change-Id: I0f24e0f0fde0568161edf52f40c5b83877ed7130
Signed-off-by: Chris Luke <chrisy@flirble.org>
Szymon Sliwa [Mon, 30 Apr 2018 12:47:24 +0000 (14:47 +0200)]
plugins: dpdk: fix check which makes not sense, likely a typo
Change-Id: If33854f9c32736edf571fb66cdfa759db1c9de25
Signed-off-by: Szymon Sliwa <szs@semihalf.com>
Florin Coras [Fri, 27 Apr 2018 16:46:46 +0000 (09:46 -0700)]
svm/session: improve svm fifo allocation
Change-Id: Id9bad9a2fd99d22296a705ab08d1daedc3fef5c1
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Wed, 25 Apr 2018 12:40:48 +0000 (05:40 -0700)]
IPv6 NS/RS; do not vec_validate global structs in the DP
Change-Id: I5cab31639e7819c9ab7e9c9159d931b25161d00b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 25 Apr 2018 13:34:31 +0000 (06:34 -0700)]
IPv6 NS: use the mcast rewrite node to fill in the destination MAC
- move the IPv6 incomplete and glean node to ip6_neighbour.c (so it has access to ip6_neighbour_main_t)
- use the RA info config on the interface to find the multicast adj to use
Change-Id: I835e419072abe54fb09dafb0e7eb0a9e50eba1af
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Fri, 27 Apr 2018 11:42:47 +0000 (04:42 -0700)]
TAP memory leaks:
1 - use bit-map to re-use ID values and thus VLIB nodes
2 - free vrings
3 - free hw_address on HW interface delete (a HW * struct is memset on pool_get)
4 - free temporary node names during TX node setup
Change-Id: Id114c8bb9c844fd4ceb02fbbeb4b511ecfeb61ce
Signed-off-by: Neale Ranns <nranns@cisco.com>
Damjan Marion [Wed, 25 Apr 2018 17:11:15 +0000 (19:11 +0200)]
Move VOM to extras/vom
Change-Id: Iea174f03dfba3bd06024db0f0cc373532300dcae
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 26 Apr 2018 20:45:40 +0000 (22:45 +0200)]
A bit of buffer metadata reshuffling to accommodate flow_id
Change-Id: I2794384557c6272fe217269b14a9db09eda19220
Signed-off-by: Damjan Marion <damarion@cisco.com>
Igor Mikhailov (imichail) [Fri, 27 Apr 2018 04:33:02 +0000 (21:33 -0700)]
VAT for qos_record_enable_disable API
Change-Id: I2b418b9aefe298e4e6190cbe2e220a657f688cda
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
Ed Kern [Thu, 26 Apr 2018 23:13:17 +0000 (17:13 -0600)]
Makefile: Add new opensuse-leap os id
Newer opensuse no longer reports in /etc/os-release
as opensuse. It refers to itself as opensuse-leap.
I imagine they think that sounds cooler or something.
Change-Id: I12c721c7950101070dd8b58b627fb0e601cb8844
Signed-off-by: Ed Kern <ejk@cisco.com>
Steven [Wed, 25 Apr 2018 18:29:00 +0000 (11:29 -0700)]
vlib: set log tap level <level> does not work for some keywords
While some levels such as debug and emerg work, others don't. See below.
DBGvpp# set log class tap level warn
set log class tap level warn
set logging class: unknown input `level warn'
DBGvpp# set log class tap level debug
set log class tap level debug
DBGvpp# set log class tap level info
set log class tap level info
set logging class: unknown input `level info'
DBGvpp# set log class tap level err
set log class tap level err
DBGvpp# set log class tap level crit
set log class tap level crit
set logging class: unknown input `level crit'
DBGvpp# set log class tap level emerg
set log class tap level emerg
DBGvpp#
Cause:
The reason for the failure for the shorter keywords is level_str is unformatted
with %v which is not null terminated. For example, the character after "info"
could be anything in level_str. The memcmp with size of the macro keyword __##uc
which includes the null character or 5 in this case and thus the comparison fails.
Fix:
Use %s which insure level_str is null terminated. Use strcmp to rule out
false positve match like "debugxxx" against keyword "debug".
Change-Id: I7a2d97a0f7f618df105da7eca791618dce04d21e
Signed-off-by: Steven <sluong@cisco.com>
Damjan Marion [Thu, 26 Apr 2018 16:05:46 +0000 (18:05 +0200)]
dpdk: fix building debs from stable dpdk tarballs (VPP-1259)
Change-Id: I9585603e9fa1904658d84d226bd50370f1dbc889
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 26 Apr 2018 16:39:56 +0000 (18:39 +0200)]
libmemif: fix build on ununtu 18.04 (VPP-1244)
Change-Id: If830dc0c8171b14c8a686db899885e26628a6f91
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Thu, 26 Apr 2018 09:12:20 +0000 (02:12 -0700)]
NAT44: disable nat44-hairpinning feature for in-out interface (VPP-1255)
Change-Id: Icd42abf4e35db550df496592cffce655f1987d68
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Chris Luke [Tue, 24 Apr 2018 04:02:37 +0000 (00:02 -0400)]
VPP 18.04 release notes
- Notes for the 18.04 release
- Fixes for table layout of previous API summary
- Update list_api_changes.py script
Change-Id: Id99ed4df2e76e2704f949ee940eedf9ede7e8f4b
Signed-off-by: Chris Luke <chrisy@flirble.org>
(cherry picked from commit
ac2b7363f437afedd100162c901b5d03cb37a34a)