Paul Vinciguerra [Tue, 30 Jul 2019 22:24:41 +0000 (18:24 -0400)]
vppapigen: add endian_string for f64
Type: fix
Change-Id: I35838baea21ead4a3f45d998ff225a513781d7ee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Andrew Yourtchenko [Thu, 25 Jul 2019 10:03:51 +0000 (10:03 +0000)]
tests: disable pg capture before enabling it
In a lot of places within the unit tests pg_start() starts
the capture with an already existing capture running
for the same test.
If the pcap file already exists, then it is renamed and there
is no problem.
However, there is a potential for race if the previous
pg_start() has enabled the capture, but the check for
renaming it happened just slightly earlier than the first
packet has arrived.
Then a second call to pg_start() will hit a check that
a file exists, and will cause an error. This is especially
visible when running the tests in parallel due to increased
load.
Solution: disable the capture before enabling it.
This will flush the aready running capture and eliminate the race.
The additional delay that flushing of the pcap creates has exposed
several other race conditions:
NAT tests: Some of the NAT reassembly tests
verify that the entries were added to the reassembly data structures,
but do so by comparing the quantities of entries. With the default
timeout being 2s, some of the entries might timeout,
resulting in a bogus test failure.
Solution: Bump the timeout to 20s for the affected tests.
Punt tests: nr_packets == 3 makes test intermittently fail,
nr_packets > 3 make it reliably fail, and nr_packets = 2 works
Solution: set nr_packets == 2 for the time being
IGMP tests: the leave-group calls get a spurious packet
from the time the new groups were configured
Solution: add 1 second delay before starting to delete the groups
Type: test
Change-Id: I931182a7b2860cf670e030ee7da8038f6e87356d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Neale Ranns [Wed, 31 Jul 2019 07:13:18 +0000 (00:13 -0700)]
tests: Split IPSec ESP into parameterized tests per engine
Type: feature
Change-Id: Icb1bd3fce768aebf8919c63a104f771ca7fa1d6f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 14:49:52 +0000 (14:49 +0000)]
ip: Ensure reassembly runs before IPSec decrypt.
Type: fix
Change-Id: I01eeedf8d5015b07b9422c65afe78bfe8177c22c
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 12:45:27 +0000 (12:45 +0000)]
fib: Add some path-list flags to its key
Type: fix
Ticket: 1729
The flags that are permanently set on a path-list should form part of
its key in the path-list DB. Otherwise, if shared, they will not behave
as expected.
Change-Id: I0aa7c7c5d270c97b08014e4a47ddbdcee2358706
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 29 Jul 2019 12:59:45 +0000 (12:59 +0000)]
fib: fix calls to unformat_fib_path
Type: fix
Ticket: 1728
Change-Id: I679c2b8c5b0f751c9476db3669ab3f6c26dcdd28
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 31 Jul 2019 08:04:43 +0000 (01:04 -0700)]
ipsec: Typo in flag name
Type: fix
Change-Id: I0c9353598d3c9b7ea587ea8a2b6e1faa5454843d
Signed-off-by: Neale Ranns <nranns@cisco.com>
Nathan Skrzypczak [Tue, 30 Jul 2019 14:14:34 +0000 (16:14 +0200)]
quic: fix cert loading
Type: fix
Change-Id: I29d24c8ec7b8e0613d4fbf5eedc72384326dc284
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Aloys Augustin [Thu, 25 Jul 2019 15:08:32 +0000 (17:08 +0200)]
quic: cleanup and refactorisation
Change-Id: I031a60ac010b55110f32f0a08e19b1156aeda268
Type: refactor
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: refactor use of CLIB_MEMORY_BARRIER ()
All instances of test_and_set locks used the following sequence
to release the locks:
CLIB_MEMORY_BARRIER ();
p->lock = 0; // p is a generic struct with a TAS lock
Use clib_atomic_release to generate more efficient assembly code.
Type: refactor
Change-Id: Idca3a38b1cf43578108bdd1afe83b6ebc17a4c68
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
Neale Ranns [Tue, 30 Jul 2019 14:14:25 +0000 (07:14 -0700)]
vlib: Fix packet tracing
Type: fix
Fixes:
99536f4
Change-Id: Ica230ec9fa7f6fd36e2754e8b0b9db555460ca55
Signed-off-by: Neale Ranns <nranns@cisco.com>
Mohsin Kazmi [Mon, 29 Jul 2019 11:21:17 +0000 (13:21 +0200)]
tap: fix segv when host-if-name is not given
Type: fix
Fixes:
c30d87e6139c64eceade54972715b402c625763d
Change-Id: I86b606b18ff6a30709b7aff089fd5dd00103bd7f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: conformed spinlocks to use CLIB_PAUSE
Modified test-and-set spin locks to call CLIB_PAUSE () when spinning
for code consistency. Decreases the memory bandwidth consumed.
Type: fix
Change-Id: I1cca4f87f44f23f257c7a35466cd2e7767072f51
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
Dave Barach [Fri, 26 Jul 2019 15:58:16 +0000 (11:58 -0400)]
misc: add vnet/pipeline.h example
To the sample plugin. We should probably suggest that folks use the
pipeline.h coding model more often. It's really easy, and these days
the performance results are similar to quad-single loop coding.
Type: refactor
Change-Id: Ie2caa087972737e6d9c31c4ac79355f3d8ced282
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Thu, 25 Jul 2019 21:51:09 +0000 (14:51 -0700)]
session: fix vpp to app msg generation
Type:fix
Freeing mq messages in vpp (producer), if enqueueing fails, invalidates
consumer assumption that messages can be freed without a lock.
Change-Id: I748a33b8846597bdad865945d8e899346d482434
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
Florin Coras [Sun, 28 Jul 2019 17:25:40 +0000 (10:25 -0700)]
vcl: fix config parsing of hex values
Type:fix
Change-Id: I31f35dd86fb6efb04d4a449f7fc834296baaa043
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Paul Vinciguerra [Tue, 23 Jul 2019 15:56:30 +0000 (11:56 -0400)]
api acl: breakout acl_types.api for reuse by others
Type: refactor
Change-Id: I40518ccddcb78e58f7e6a098c27d9ec53e5a1146
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Benoît Ganne [Wed, 17 Jul 2019 12:47:23 +0000 (14:47 +0200)]
fib: add invalid source type and fix debug log
Add the FIB_SOURCE_INVALID fib source type. This allows to spot
uninitialized fib source more easily (0 no longer means special) and we
can use it as placeholder when no source is present.
Use it to fix FIB_ENTRY_DBG() which was accessing the 1st source, even
when no sources were present.
Type: fix
Fixes:
710071bf0e
Change-Id: I980b6a6a07616d4a8d6f2db166a1dd335721c74d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Paul Vinciguerra [Mon, 8 Jul 2019 12:51:15 +0000 (08:51 -0400)]
api: add vl_api_version_t type
Type: feature
Depends-on: https://gerrit.fd.io/r/20484
Change-Id: Ifc8d7e00d7254db40856a088fdd352d9773f71d5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Paul Vinciguerra [Tue, 9 Jul 2019 20:49:46 +0000 (16:49 -0400)]
build: add option to wipe/rebuild papi
Previously, the only option was to wipe/rebuild all the test dependencies.
Type: make
Change-Id: Ia95d6e800f67bef033dcf614dbfa249c3e43159d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Mohsin Kazmi [Tue, 23 Jul 2019 09:54:48 +0000 (11:54 +0200)]
pg: add GSO support
Type: feature
Change-Id: I72676495a85fbecc946aa266a75234cce70c3a5e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Ahmed Abdelsalam [Thu, 20 Jun 2019 11:18:57 +0000 (11:18 +0000)]
sr: ipv6 segment routing header (srh) update
SRH has passed WG review in IETF and currently an IESG document.
This patch updates the SRH definition to be compliant with IETF.
- Change "first_segment" to "last_entry"
- Change "reserved" to "tag"
Change-Id: I1765c968671655c5646f6de478d1f7196abbc040
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Ahmed Abdelsalam [Thu, 25 Jul 2019 18:45:55 +0000 (13:45 -0500)]
sr: fix srv6 end.t behavior
Update the sr_localsid code to set the DPO for SRv6 End.T behavior.
Change-Id: I17e102a419eb2b4fdd1de7a672b109e4ff7e1dc2
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
Florin Coras [Fri, 26 Jul 2019 21:46:12 +0000 (14:46 -0700)]
session: define connection id length
Type:feature
To be used by transports overwriting the connection id.
Change-Id: Ia5dbd9dccc2e3eb62e602514b24882ddc12ff1f2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Mon, 22 Jul 2019 02:23:46 +0000 (19:23 -0700)]
session: separate ctrl, new and old events
Type: feature
Change-Id: I5e030b23943c012d8191ff657165055d33ec87a2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 26 Jul 2019 17:18:51 +0000 (10:18 -0700)]
tcp: count resets sent
Type:feature
Change-Id: Ie1ab4b24af9c654d5e0ed94b7fa96ca195b01c56
Signed-off-by: Florin Coras <fcoras@cisco.com>
Nathan Skrzypczak [Fri, 26 Jul 2019 13:32:59 +0000 (15:32 +0200)]
quic: coverity fixes
Type: fix
Change-Id: I93c083ee78168ed2da283fe4873ca022766fe861
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Jakub Grajciar [Wed, 24 Jul 2019 08:33:11 +0000 (10:33 +0200)]
libmemif: fix autoconnect
Type: fix
Change-Id: I426e210c47869904a01712b765db2356439f706f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Dave Barach [Fri, 26 Jul 2019 12:26:03 +0000 (08:26 -0400)]
docs: add binary api trace replay details
Folks need to know that they MUST carefully control the set of plugins
to avoid feeding messages to the wrong binary API message handlers.
Change-Id: Iefeeda6670aae4627446caee21717b847305c9b5
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Wed, 24 Jul 2019 06:54:47 +0000 (23:54 -0700)]
session tcp: handle rxt and acks as custom events
Type: feature
Control ack generation and retransmissions with session layer scheduler.
Change-Id: Iacdf9f84ab81f44851980aa45a83e75f29be2b7b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Fri, 19 Jul 2019 14:01:02 +0000 (14:01 +0000)]
dhcp ip: DSCP settings for transmitted DHCP packets
Type: feature
- Define the ip_dscp_t and use in the IP headers
- Add DSCP setting to the DHCP client for use with packet TX
Change-Id: If220dde0017ea78793747d65f53e11daf23a28fa
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 15 Jul 2019 08:04:11 +0000 (01:04 -0700)]
dpdk: fix vlan stripping
Type: fix
Fixes:
ce3e971
Change-Id: I30bbeced2f5ae7613e65546f2b9b41e2fb514208
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Thu, 25 Jul 2019 13:11:58 +0000 (06:11 -0700)]
dhcp: send unicast and broadcast packets via the IP adjacency
Type: feature
this means DHCP packets are subject to the IP features configured on the interface
- the unicast packets already were sent throught the adj
- added UT for DHCP client sending a unicast renewal
Change-Id: Id50db0b71822f44bf7cb639a524195cdc9873526
Signed-off-by: Neale Ranns <nranns@cisco.com>
Zhiyong Yang [Fri, 26 Jul 2019 02:44:01 +0000 (22:44 -0400)]
misc: remove unnecessary cast in classify
Type: style
Change-Id: I7628f7fba8250afe41f115595cca4129e43350d3
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Dave Wallace [Wed, 24 Jul 2019 20:57:48 +0000 (16:57 -0400)]
misc: 19.04.2 Release Notes
Type: docs
Change-Id: I1ee3909e042e56fd4caf3732762e9a9276aa6db1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Benoît Ganne [Thu, 25 Jul 2019 15:15:59 +0000 (17:15 +0200)]
build: vppapigen search VPP_INCLUDE_DIR if set
When building out-of-tree plugins, we must search for .api in VPP
installed include directory.
Type: fix
Change-Id: I76b7bace69ff54a385d944313879e2aeb7293648
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Thu, 25 Jul 2019 14:26:20 +0000 (16:26 +0200)]
build: package .api files in vpp-dev
Type: fix
Change-Id: I035ff638d346109e1b3b5e5a8cdd36d650c45e5e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Florin Coras [Tue, 23 Jul 2019 02:03:03 +0000 (19:03 -0700)]
session: add transport deleted state
Type: fix
Distinguish between closed and deleted states to avoid deleting the
session prior to the transport connection.
Change-Id: Ia285ce94b26a70773f8c0ce9d2c73095d3e2a337
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Thu, 25 Jul 2019 11:22:47 +0000 (07:22 -0400)]
vppinfra: fix coverity warning in mpcap.c
Type: fix
Ticket: VPP-1649
Change-Id: Ief77ec8d5f06bfcc63af6454c4cd9979cf0ab49d
Signed-off-by: Dave Barach <dave@barachs.net>
Benoît Ganne [Thu, 25 Jul 2019 12:14:03 +0000 (14:14 +0200)]
build: add missing .api files for packaging
Type: fix
Change-Id: Ic43fb0826907e3f3b42a78bfbd9a807cdbf1e8f9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Neale Ranns [Tue, 23 Jul 2019 08:48:55 +0000 (01:48 -0700)]
vom: QoS support
Type: feature
Change-Id: If517d10c318fc17fdbd797fac8d974d9851f6442
Signed-off-by: Neale Ranns <nranns@cisco.com>
Zhiyong Yang [Thu, 25 Jul 2019 02:06:55 +0000 (22:06 -0400)]
misc: leverage vlib_buffer_get_current in srp
Type: style
Change-Id: I6c57ab3e71c693de5ecfbdfee118d521a8c9a4c2
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Steven Luong [Wed, 24 Jul 2019 18:16:46 +0000 (11:16 -0700)]
memif: Fix uninitialized variable as reported by coverity
When mode == ip, the variable next_index is not initialized.
Although insde the while loop, ni will be fixed to contain next[0],
it is easier to initialize it.
Type: fix
Change-Id: I6653a958bbc5105e7266bf89e3c8569ff00f0199
Signed-off-by: Steven Luong <sluong@cisco.com>
Steven Luong [Thu, 25 Jul 2019 04:16:09 +0000 (21:16 -0700)]
bonding: incorrect RX counters for bond interface
show interface does not display the RX counters for the bond
interfaces. It displays rx-no-buf instead.
The problem is VNET_INTERFACE_COUNTER_RX is a combined counter,
not a simple counter. Change the code to use
vlib_increment_combined_counter passing it with n_rx_packets and
n_rx_bytes.
Type: fix
Change-Id: I8121ad7e546447049fa13da62481b6c8f5575bec
Signed-off-by: Steven Luong <sluong@cisco.com>
Jakub Grajciar [Wed, 24 Jul 2019 12:49:04 +0000 (14:49 +0200)]
libmemif: fix chained buffer flag
fixes issue: MEMIF_DESC_FLAG_NEXT persisted when enqueueing
stored buffers
Type: fix
Change-Id: I9e973ed6e0339612fe1dd3e3bd80ed7c05093791
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Andrew Yourtchenko [Thu, 13 Jun 2019 15:23:21 +0000 (15:23 +0000)]
acl: implement counters
implement per-acl-number counters in the stats segment.
They are created during the ACL creation,
the counters are incremented in the dataplane using
the new inline function with the extra parameter being
the packet size. Counting in shared segment adds
a noticeable overhead, so add also an API to
turn the counters on.
Type: feature
Change-Id: I8af7b0c31a3d986b68089eb52452aed45df66c7b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Paul Vinciguerra [Mon, 8 Jul 2019 18:14:22 +0000 (14:14 -0400)]
tests: add cpu/shm info to test runner output
Type: test
Depends-on: https://gerrit.fd.io/r/#/c/20484/
Change-Id: I140132cfcc4347035fe2bb9919f8e7923342940f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Neale Ranns [Tue, 23 Jul 2019 15:16:19 +0000 (08:16 -0700)]
qos: QoS dump APIs
Type: feature
Change-Id: I514b40026986f3828c8727453456b20a0a45f3af
Signed-off-by: Neale Ranns <nranns@cisco.com>
Dave Barach [Fri, 19 Jul 2019 21:40:18 +0000 (17:40 -0400)]
api: Disable tracing of memclnt_keepalive messages
A waste of binary API trace space; an otherwise idle control-plane
will eventually fill the api trace buffer with them.
Type: fix
Ticket: VPP-1725
Change-Id: Id8338ea4070cd76481595005986efc558f0694e6
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit
996a757ff93233379bf0a464dce6d99f5d622ca4)
Neale Ranns [Fri, 19 Jul 2019 11:44:53 +0000 (11:44 +0000)]
fib: Support the POP of a Psuedo Wire Control Word
Type: feature
Change-Id: Ib24547a7c4c73ceb5383d1ca8f14ec40e6a90f01
Signed-off-by: Neale Ranns <nranns@cisco.com>
Nitin Saxena [Wed, 24 Jul 2019 11:49:06 +0000 (17:19 +0530)]
dpdk: Prefetch correct size of rte_mbuf
sizeof(rte_mbuf) is 128 byte but 2* CLIB_CACHE_LINE_BYTES
is 256 byte for ThunderX/OCTEONTx targets.
Type: fix
Change-Id: If6893b168cf1c55c44bf4669a888ce858f2ef487
Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
Vratko Polak [Wed, 24 Jul 2019 11:42:36 +0000 (13:42 +0200)]
vapi: add python scripts to vpp-dev package
As requested in https://lists.fd.io/g/vpp-api-dev/message/18
three vapi scrips are packaged, destination to share/vpp/.
Also:
+ Add "vapi" as a separate component to maintainers file.
+ Add also vppapigen/generate_json.py to share/vpp/.
+ Improve CMakeLists.txt indentation.
Type: feature
Change-Id: Ia06715621aa344e8ee759410b293509a54f81fdd
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Paul Vinciguerra [Tue, 2 Jul 2019 17:06:21 +0000 (13:06 -0400)]
papi: add additional types to vpp_serializer
vppapigen supports additional types not handled by the papi seializer.
This adds the types for the sake of parity.
Change-Id: Id8efad7f169b5023879935575ace2cc3e9c291d4
Type: feature
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Benoît Ganne [Wed, 10 Jul 2019 12:56:26 +0000 (14:56 +0200)]
memif: fix vector overflow when copying strings
When memif sends back socket messages containing strings, we copy
vectors into C-string. Unfortunately, most vectors are not
null-terminated, causing strncpy() read overflow. Moreover, strncpy()
does not null-terminate string in case of max length reached.
This patch introduces helpers to safely copy strings from vectors.
Type: fix
Fixes:
d6042d4f1ea0baf02bc87c72960a331a9e08dfab
Change-Id: I38489ec8d2a5d4a42b9abde1aa3dfdbd06ebe024
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Mohsin Kazmi [Mon, 1 Jul 2019 09:08:20 +0000 (11:08 +0200)]
bonding: print the name on the cli when created
Type: feature
Change-Id: Icd718c98ba2fa900cafaf1a59dfb100ee9914ec9
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Mohsin Kazmi [Mon, 1 Jul 2019 08:26:43 +0000 (10:26 +0200)]
tap: print the interface name on cli when created
Type: feature
Change-Id: If11f00574322c35c1780c31d5f7b47d30e083e35
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Mohsin Kazmi [Thu, 18 Jul 2019 14:24:45 +0000 (16:24 +0200)]
misc: Add maintainer entry for native virtio driver
Type: feature
Change-Id: Ieda0d8fbd2c1524ddf9fc776bc5c315629e893bf
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Neale Ranns [Wed, 17 Jul 2019 15:07:14 +0000 (15:07 +0000)]
ipsec: GCM, Anti-replay and ESN fixess
Type: fix
Several Fixes:
1 - Anti-replay did not work with GCM becuase it overwrote the sequence
number in the ESP header. To fix i added the seq num to the per-packet
data so it is preserved
2 - The high sequence number was not byte swapped during ESP encrypt.
3 - openssl engine was the only one to return FAIL_DECRYPT for bad GCM
the others return BAD_HMAC. removed the former
4 - improved tracing to show the low and high seq numbers
5 - documented the anti-replay window checks
6 - fixed scapy patch for ESN support for GCM
7 - tests for anti-reply (w/ and w/o ESN) for each crypto algo
Change-Id: Id65d96b6d1d4dd821b2ab557e87468fff6d70e5b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Wed, 24 Jul 2019 05:38:16 +0000 (22:38 -0700)]
tls: handle engine listen failure
Type:fix
Change-Id: I528b7cfcb7a6aada94ee3649378e6fbe84d2e4e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
Zhiyong Yang [Wed, 24 Jul 2019 04:02:55 +0000 (00:02 -0400)]
fib: remove unused input parameter
Type: style
Change-Id: I2a21076fffaeb5726be80356aaffc9fea3d95850
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Gary Boon [Mon, 22 Jul 2019 14:57:56 +0000 (10:57 -0400)]
vppinfra: add mapped pcap file support
Type: feature
Change-Id: Ic720d56a6f8901efde2a58519bc9aa553205a9a6
Signed-off-by: Gary Boon <gboon@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Tue, 23 Jul 2019 20:28:36 +0000 (16:28 -0400)]
api: binary api cleanup
Multiple API message handlers call vnet_get_sup_hw_interface(...)
without checking the inbound sw_if_index. This can cause a
pool_elt_at_index ASSERT in a debug image, and major disorder in a
production image.
Given that a number of places are coded as follows, add an
"api_visible_or_null" variant of vnet_get_sup_hw_interface, which
returns NULL given an invalid sw_if_index, or a hidden sw interface:
- hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
+ hw = vnet_get_sup_hw_interface_api_visible_or_null (vnm, sw_if_index);
if (hw == NULL || memif_device_class.index != hw->dev_class_index)
return clib_error_return (0, "not a memif interface");
Rename two existing xxx_safe functions -> xxx_or_null to make it
obvious what they return.
Type: fix
Change-Id: I29996e8d0768fd9e0c5495bd91ff8bedcf2c5697
Signed-off-by: Dave Barach <dave@barachs.net>
Aloys Augustin [Sun, 14 Jul 2019 21:48:36 +0000 (23:48 +0200)]
quic: Refactor connections closing and deletion
This code should handle the 3 following cases:
- Active close
quic_proto_on_close sets state to ACTIVE_CLOSING
send packets eventually returns an error, calling
quic_connection_closed which deletes the connection
- Passive close
quic_on_closed_by_peer -> set state to PASSIVE_CLOSING
"race" between app confirmation (calling quic_proto_on_close) and
quicly signalling that it's done (triggers call to
quic_connection_closed).
If quic_connection_closed is called first, it sets the state to
PASSIVE CLOSING QUIC CLOSED, then when quic_proto_on_close is called
it frees the connection.
If quic_proto_on_close is called first, it sets the state to PASSIVE
CLOSING APP CLOSED, then when quic_connection_closed is called it frees
the connection
- Error close (reset)
quic_connection_closed is called in state READY. This means a timeout
or protocol error happened. This calls session_transport_reset_notify,
the app should confirm the deletion and quic_proto_on_close will be
called to delete the connection.
Change-Id: I3acbf9b079ed2439bdbb447197c428c78915d8c0
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Type: feature
Dave Wallace [Tue, 23 Jul 2019 17:09:23 +0000 (13:09 -0400)]
udp: fix typo in udp connectinon flags
Type: fix
Fixes:
3b726197
Change-Id: Ib515f0995e5c837349ebcad5f63fbd1b2a197e13
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Sat, 20 Jul 2019 22:53:16 +0000 (15:53 -0700)]
session: reorganize dispatch logic
Type:refactor
Change-Id: Id796d0103e61e15c35a586d8cbd3d8916487b84d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Tue, 23 Jul 2019 14:22:31 +0000 (10:22 -0400)]
vlib: address vlib_error_t scaling issue
Encoding the vpp node index into the vlib_error_t as a 10-bit quantity
limits us to 1K graph nodes. Unfortunately, a few nodes need 6 bit
per-node error codes. Only a very few nodes have so many counters.
It turns out that there are about 2K total error counters in the system,
which is (approximately) the maximum error heap index.
The current (index,code) encoding limits the number of interfaces to
around 250, since each interface has two associated graph nodes and we
have about 500 "normal, interior" graph node
This patch adds an error-index to node-index map, so we can store
error heap indices directly in the vlib_buffer_t.
Type: refactor
Change-Id: I28101cad3d8750819e27b8785fc0cf71ff54f79a
Signed-off-by: Dave Barach <dave@barachs.net>
Aloys Augustin [Tue, 23 Jul 2019 08:24:39 +0000 (10:24 +0200)]
udp: fix connection flags
Change-Id: Ib69f9bd7970aeb2ee6a1c114d38dcb7f8698dc6d
Type: fix
Fixes:
c754239
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Florin Coras [Mon, 22 Jul 2019 22:57:19 +0000 (15:57 -0700)]
session: avoid postponing close
Type: feature
Change-Id: I96e850fc15b79349abbb52d91c0314f255d635be
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Tue, 23 Jul 2019 03:55:11 +0000 (20:55 -0700)]
tcp: generate closed notifications whenever tcp closes
Type: fix
This gives the session layer a chance to to cleanup events.
Change-Id: I7499e94acf06340e2b19a1d91a4c61a63cd66c52
Signed-off-by: Florin Coras <fcoras@cisco.com>
Aloys Augustin [Tue, 23 Jul 2019 13:19:28 +0000 (15:19 +0200)]
tests: pin pip version
New pip releases can break pip-tools. This commit pins the version of
pip used in the test virtualenv to prevent uncontrolled breakage.
This fixes the current issue in make test:
TypeError: __init__() got an unexpected keyword argument 'index_urls'
Change-Id: I3b7ecb31e651401ada0d357e2bf093c91c934565
Type: feature
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Filip Varga [Mon, 15 Jul 2019 18:19:44 +0000 (14:19 -0400)]
nat: fixed handoff in2out lookup of static mappings by external address
Type: fix
Change-Id: Ie5befde2f23caffb033b3b9f35ac1535c1224925
Signed-off-by: Filip Varga <fivarga@cisco.com>
Steven Luong [Fri, 19 Jul 2019 01:38:52 +0000 (18:38 -0700)]
devices: vhost handling VHOST_USER_SET_FEATURES
Some combinations of new qemu (2.11) and old dpdk (16.10) may
send VHOST_USER_SET_FEATURES at the end of the protocol exchange
which the vhost interface is already declared up and ready.
Unfortunately, the process of VHOST_USER_SET_FEATURES will cause
the interface to go down. Not sure if it is correct or needed.
Because there is no additional messages thereafter, the hardware
interface stays down.
The fix is to check the interface again at the end of processing
VHOST_USER_SET_FEATURES. If it is up and ready, we bring back
the hardware interface.
Type: fix
Change-Id: I490cd03820deacbd8b44d8f2cb38c26349dbe3b2
Signed-off-by: Steven Luong <sluong@cisco.com>
Zhiyong Yang [Mon, 22 Jul 2019 01:51:21 +0000 (21:51 -0400)]
bonding: fix create bond CLI
1. "numa-only" is optional and is disabled by default for lacp mode.
2. update lacp doc.
Type: fix
Change-Id: I6a3a8423ef31ad9980353a796957693cd6205d73
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Florin Coras [Mon, 22 Jul 2019 15:08:43 +0000 (08:08 -0700)]
udp: support close with data
Also adds connection flags.
Type: feature
Change-Id: I76f21eb88ab203076149b7c03dc31c22fc0f342e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Mon, 22 Jul 2019 14:55:05 +0000 (10:55 -0400)]
docs: improve home gateway use-case documentation
Add plugin config, systemd config, netplan config, software
installation via ssh, and a quick HowTo for setting up a double-nat
test gateway.
Fix a minor doc bug which caused a complaint on vpp-dev@lists.fd.io:
/etc/vpp/startup.conf -> /setup.gate, but the vpp configuration file
wasn't explicitly tagged with the name /setup.gate.
Type: docs
Change-Id: Ib219040d7c3c8b50ed66f8e9d3afd3dcf51b6b7b
Signed-off-by: Dave Barach <dave@barachs.net>
Aloys Augustin [Mon, 22 Jul 2019 14:50:36 +0000 (16:50 +0200)]
quic: move patch for quicly 0.0.3
Change-Id: I58e58f1f297820b110013f4bf6ede827ced94a3d
Type: fix
Fixes:
5ff9765
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Aloys Augustin [Mon, 8 Jul 2019 14:12:38 +0000 (16:12 +0200)]
quic: update quicly library
Update quicly to latest version that includes our upstreamed patch.
Change-Id: I0b26c72e49bce81daf4fb069b5818defd6cf25b9
Type: feature
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Mohsin Kazmi [Fri, 12 Jul 2019 11:18:16 +0000 (13:18 +0200)]
gso: Fix the l3 packet gso segment size
Type: fix
Ticket: VPP-1721
Change-Id: I7a5d4f1440048ddc9f599ac11d06e5a7df20440e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Zhiyong Yang [Mon, 22 Jul 2019 08:50:32 +0000 (04:50 -0400)]
gtpu: fix missing trace issue
Type: fix
Change-Id: I1e1c39452edd94712455d102a6faad58bc7f66ff
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Benoît Ganne [Mon, 8 Jul 2019 12:39:02 +0000 (14:39 +0200)]
stats: fix use-after-free hash key string
Hash keys are not copied by the hash infrastructure, instead the pointer
is used directly. stat_segment_register_gauge() does not allocate a
private object for the key, causing issues when it is freed or reused.
Allocate a private object on insertion into the hashtable instead.
Type: fix
Fixes:
92e3082199d10add866894e86a9762d79a3536c4
Change-Id: Ifb6addfcaec81bdb7ea3512050ce55f06ef09a4c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Neale Ranns [Tue, 16 Jul 2019 15:28:52 +0000 (15:28 +0000)]
fib: FIB Entry tracking
Instead of all clients directly RR sourcing the entry they are tracking,
use a deidcated 'tracker' object. This tracker object is a entry
delegate and a child of the entry. The clients are then children of the
tracker.
The benefit of this aproach is that each time a new client tracks the
entry it doesn't RR source it. When an entry is sourced all its children
are updated. Thus, new clients tracking an entry is O(n^2). With the
tracker as indirection, the entry is sourced only once.
Type: feature
Change-Id: I5b80bdda6c02057152e5f721e580e786cd840a3b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Fri, 19 Jul 2019 14:34:13 +0000 (07:34 -0700)]
session: improve event logging
Type:feature
Change-Id: I67a52ee48963a66915e2ebd116626eb9c296a9a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Fri, 19 Jul 2019 19:15:52 +0000 (12:15 -0700)]
vcl: fix coverity warning
Type:fix
Change-Id: I7b91ce9359f94131882ab430606586b1a6cf3e02
Signed-off-by: Florin Coras <fcoras@cisco.com>
Zhiyong Yang [Wed, 26 Jun 2019 09:49:14 +0000 (05:49 -0400)]
bonding: add support for numa-only in lacp mode
If numa-only is set, Only slaves on local numa node
transmit pkts if have at least one, otherwise the bond
interface works as usual.
CLI change:
create bond mode lacp [load-balance { l2 | l23 | l34 } {numa-only}]
[hw-addr <mac-address>] [id <if-id>]
The new member "u8 numa_only;" is also added to bond_create_if_args_t.
Type: feature
Change-Id: Icdccedafb0738d8c9d4a5acce909ce562428c071
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Nathan Skrzypczak [Wed, 17 Jul 2019 09:02:20 +0000 (11:02 +0200)]
session: Use parent_handle instead of transport_opts
Type: feature
This is mostly used for quic in the case of a stream
creation (i.e. connect on an already established QUIC
session). We want do default parent_handle to INVALID
to be able to distinguish it from parent_handle = 0
Change-Id: Id5ac0b0155a3c44e51334231b711e4fd87a96a10
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Dave Barach [Fri, 19 Jul 2019 12:25:37 +0000 (08:25 -0400)]
vat: remove #if BUILTIN from vat_main_t definition
Otherwise, vat plugins will be confused about the offset from &vat_main
of the vlib_main_t * pointer, leading to NULL pointer crashes.
Type: fix
Change-Id: I7298b7ce8c000217ed7fdd2e97a3cbf978464377
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Fri, 19 Jul 2019 13:31:29 +0000 (09:31 -0400)]
api: fix coverity warning
Type: fix
Ticket: VPP-1649
Change-Id: Ia159d0f67d33719d05fa2dbd82f9c8c9b5d8f2a9
Signed-off-by: Dave Barach <dave@barachs.net>
Neale Ranns [Fri, 19 Jul 2019 07:59:45 +0000 (00:59 -0700)]
ipsec: register for port 4500 at INIT
Type: fix
Fixes:
41afb33
Change-Id: Iceb99ead32f1858a5b4f85911d7cb2b39cc9add5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Andreas Schultz [Fri, 19 Jul 2019 09:14:50 +0000 (11:14 +0200)]
vppinfra: fix OOM check in bihash
The OOM check must consider the end of alloced arena and
not the start when checking for overflow.
Type: fix
Change-Id: Ie83e653d0894199d2fa433a604a0fe0cee142338
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
jdenisco [Fri, 19 Jul 2019 14:21:41 +0000 (10:21 -0400)]
docs: Fix conf.py for read the docs
Change-Id: Iaaf9e6ef5acc82fb751c851cc943cf0c48a8940d
Signed-off-by: jdenisco <jdenisco@cisco.com>
Andrew Yourtchenko [Thu, 18 Jul 2019 11:03:34 +0000 (11:03 +0000)]
misc: 19.01.3 Release Notes
Type: docs
Change-Id: I3f9d243d6f5d99faea67c24c9bf5c42c7a4dc3b0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Matthew G Smith [Wed, 17 Jul 2019 15:01:17 +0000 (10:01 -0500)]
ip: admin change affects intf IPv4 addr routes
Type: feature
When admin status is changed on an interface, add or delete the
routes for the IPv4 addresses configured on that interface.
This is already being done for IPv6 interface addresses.
Change-Id: Ib1e7dc49c499921dd287e075640243520ffa5589
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Nathan Skrzypczak [Thu, 16 May 2019 12:38:44 +0000 (14:38 +0200)]
vcl: add QUIC support
Type: feature
* Adds the concept of a "connectable listener" : a session that
can be both connected and accepted on.
* vppcom_session_is_connectable_listener (fd) that tells if the fd
is a connectable listener
* vppcom_session_listener (fd) that gives you the listener's fd
that accepted the session (if any)
* vppcom_session_n_accepted (fd) that gives the number
of sessions a listener accepted.
Change-Id: Id89d67d8339fb15a7cf7e00a9c5448175eca04fc
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Wed, 17 Jul 2019 08:20:45 +0000 (10:20 +0200)]
session: Refactor invalid session idx/handle
Type: refactor
Change-Id: I885d9d2af1674f705339e3e96f87ff766965c9e5
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Vratko Polak [Thu, 18 Jul 2019 13:58:41 +0000 (15:58 +0200)]
build: add more src dirs for generate_json.py
Because file vpe.api is in src/vpp/api/
and memclnt.api is in src/vlibmemory/.
Also removed api_types, as iteration can be done over output_dir_map.
Type: fix
Fixes:
9529feb4525dfd13e5636640083361256121d275
Ticket: VPP-1715
Change-Id: I021afeafdf98904d076953f0b09d1e3587fd3100
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Benoît Ganne [Mon, 15 Jul 2019 15:16:49 +0000 (17:16 +0200)]
tap: fix memory errors with create/delete API
CLI allocates vectors consumed by tap_create_if(), whereas API pass
null-terminated C-strings allocated on API segment.
Do not try to be too clever here, and just allocate our own private
copies.
Type: fix
Fixes:
8d879e1a6bac47240a232893e914815f781fd4bf
Ticket: VPP-1724
Change-Id: I3ccdb8e0fcd4cb9be414af9f38cf6c33931a1db7
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Andreas Schultz [Mon, 15 Jul 2019 13:40:56 +0000 (15:40 +0200)]
vlib: convert frame_index into real pointers
The fast path almost always has to deal with the real
pointers. Deriving the frame pointer from a frame_index requires a
load of the 32bit frame_index from memory, another 64bit load of the
heap base pointer and some calculations.
Lets store the full pointer instead and do a single 64bit load only.
This helps avoiding problems when the heap is grown and frames are
allocated below vm->heap_aligned_base.
Type: refactor
Change-Id: Ifa6e6e984aafe1e2755bff80f0a4dfcddee3623c
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Paul Vinciguerra [Sun, 14 Jul 2019 17:47:43 +0000 (13:47 -0400)]
lb: update api.c to use scaffolding from latest skel
Type: refactor
Change-Id: I01329385684f4a4f477cb046079b554ae3024ded
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Vladimir Kropylev [Tue, 16 Jul 2019 18:22:29 +0000 (21:22 +0300)]
tcp: add node with no 6-tuple lookup
Type: feature
Add new node in TCP stack where TCP 6 tuple lookup is not required.
In new node, packet metadata contains connection-index which can be used
to retrieve the TCP connection. The new node will be used by proxy.
Change-Id: I3aa0268946898912f4176d5c8c5903e06657479d
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
Nathan Skrzypczak [Tue, 16 Jul 2019 08:58:58 +0000 (10:58 +0200)]
quic: Add back stream connect condition
Type: fix
This is needed for VCL patch in the case the Qsession
handle we connect to is 0. A better way to do this
would be to add a u16 header to the transport_opts,
as session_handles are :
<u16 unused><u16 thread_id><u32 session_index>
But this requires modifying all clients.
Change-Id: If171bcf982eba3bd705b586c9fd4a6c2ad0e114b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>