Age | Commit message (Collapse) | Author | Files | Lines |
|
Adds support for running the API purely across Unix domain sockets.
Usage: vpp = VPP(use_socket=True)
Change-Id: Iafc1301e03dd3edc3f4d702dd6c0b98d3b50b69e
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: I08b0244ba8b0e8a463224b39e1f7b878ba8e4e6f
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Makes it easy to add protocols that skip L4 checks.
Change-Id: I80ff95685bfa17e29c5800d9c96153cdc7739be2
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I0af68f6b41d0024aa64b93a8b18e2d179bf939b0
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: I45f540128e038ddb17ba96ce30965e8f7c732067
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Change-Id: I36e6878712c394de629a9182d2af24c53a8f811d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Fix inconsistencies between admin and link interface states
Admin down should imply link down:
link_up = admin_up && link_ready
Change-Id: I4d668d82d035b5d2ae508727f34f1722a0c3e677
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
|
|
Change-Id: I0caa5fd584e3785f237d08f3d3be23e9bfee7605
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
|
|
Compute ICMP checksum for buffer chains
Fix checksum function for buffer chains
Change-Id: I39b845b94a63c3ab5fc9f6f9ab36cadbc67c104f
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
|
|
TLS can enqueue events to itself when app session queue cannot be
entirely drained. If a pending disconnect is handled before any such
event, session layer may try to dequeue data on deallocated sessions.
Change-Id: I5bfc4d53ce95bc16b6a01e1b0e644aafa1ca311b
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Icba9b0dc6dcb4b72288f966728201812d8d12144
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I0c9c055fcc3d681c4032228a90cc81f484e200f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I53e0e7d2cf1e3c52794830b33fa93d1582b74769
Signed-off-by: Yichen Wang <yicwang@cisco.com>
|
|
match against a packet's source address to determine
the VRF for the subsequent destination address lookup.
Change-Id: I48ee0ef54dcb891f0ec7f879e4d3b925a0ed0081
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: Ia20eee6cef360b1acd768101df0713f0005a7d14
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Change-Id: I6b59df939c9daf40e261d73d19f500bd90abe6ff
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
|
|
Change-Id: I8c226b91cc45f6f345444afd8d168e1292371582
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
|
|
Add an "elog trace [api][cli][barrier]" debug CLI command. Removed the
barrier elog test command. Remove unused reliable multicast code.
Change-Id: Ib3ecde901b7c49fe92b313d0087cd7e776adcdce
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: I3124238ab4d43bcef5590bad33a4ff0b5d8b7d15
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
|
|
Change-Id: I798e4fb6470ae9e763f8de1c290ff0fc3c0b7f9e
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I363370b9d4a27b992bad55c48fc930a2fbea2165
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Change-Id: I03bb47a2baa4375b7bf9347d95c4cc8de37fe510
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
|
|
Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72.
-DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation.
Besides, different compiler options are applied on these critical functions.
gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99,
so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0
Cavium ThunderX2, Impermenter 0x43, Part 0x0af
-march=armv8-a+crc+crypto -mtune=thunderx2t99
Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00
-march=armv8.1-a+crc+crypto -mtune=qdf24xx
Cortex-A72, Impermenter 0x41, Part 0xd08
-march=armv8-a+crc+crypto -mtune=cortex-a72
Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
|
|
Change-Id: I2d3b8d5a7192ff68bee443a99346ecb807b2d833
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: I8aba11142daeacce892ec529c2229ec54ee427e2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
|
|
Change-Id: I3e62c787882d93c3bfb398ed0d04ef56b3a60b2b
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I229ce9c306a97956c87ccb8f7a1c5c9dac94ab31
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- Reduce per packet cost by buffering the output packet buffer indexes in the queue and
process the queue outside the packet processing loop.
- Move unnecessary variable initialization outside of the while loop.
- There is no need to save the old interface if tracing is not enabled.
Test result for 256 bytes packet comparison. Other packet size shows similar improvement.
With the patch
--------------
BondEthernet0-output active 52836 13526016 0 1.71e1 256.00
BondEthernet0-tx active 52836 13526016 0 2.68e1 256.00
TenGigabitEthernet6/0/0-output active 52836 6762896 0 9.17e0 127.99
TenGigabitEthernet6/0/0-tx active 52836 6762896 0 6.97e1 127.99
TenGigabitEthernet6/0/1-output active 52836 6763120 0 9.40e0 128.00
TenGigabitEthernet6/0/1-tx active 52836 6763120 0 7.00e1 128.00
bond-input active 52836 13526016 0 1.76e1 256.00
Without the patch
-----------------
BondEthernet0-output active 60858 15579648 0 1.73e1 256.00
BondEthernet0-tx active 60858 15579648 0 2.94e1 256.00
TenGigabitEthernet6/0/0-output active 60858 7789626 0 9.29e0 127.99
TenGigabitEthernet6/0/0-tx active 60858 7789626 0 7.01e1 127.99
TenGigabitEthernet6/0/1-output active 60858 7790022 0 9.31e0 128.00
TenGigabitEthernet6/0/1-tx active 60858 7790022 0 7.10e1 128.00
bond-input active 60858 15579648 0 1.77e1 256.00
Change-Id: Ib6d73a63ceeaa2f1397ceaf4c5391c57fd865b04
Signed-off-by: Steven <sluong@cisco.com>
|
|
And more unit-tests.
Change-Id: I4667d82d928b7ba8d96b5a5648d464115b3ed216
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: Idc17b2f8794d37cd3242a97395ab56bd633ca575
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Split the stat_segment.c code from stats.c.
Rename stats.[ch] to prepare for removing (19.01?)
In addition stats.api can be removed.
Since the stats aggregation for the stat segment does not use the API, that
part is now done on the main thread. (Old stats aggregator is also left in place).
Change-Id: I9867429f4fc547b1a7ab7f88bc4f3625428d681b
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: I17b19875547cd6056aaf8f8fde439caa8e42d274
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: I261e11f1006039e4a4019fec2fd3271763ae476a
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
This is a new commit for code under a different maintainer.
Change-Id: I79fa403fec6a312238a9a4b18b35dbcafaa05439
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
Change-Id: Iacdff0a5006a0617e3c9559ce7b258f26e256abb
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
There are issues with VPP finding and linking the mlx5 shared glue
library which was built by default if mlx5 was enabled.
Runtime Errors this patch fixes:
net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0:
cannot open shared object file: No such file or directory
net_mlx5: cannot initialize PMD due to missing run-time dependency on
rdma-core libraries (libibverbs, libmlx5)
This patch introduces additional config parameter to disable glue
library building and instead statically link ibverbs and mlx5
libraries to the PMD and dpdk_plugin.
Change-Id: I0b2f67652a57854c778e991780903fb15706ace8
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
|
|
Change-Id: I36f42c03f778955dd543da6c878be090d0443922
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
This code is orignally in automake, but it is missing in cmake.
Thus add it to make openssl async work in cmake build system
Change-Id: Ie69ee9c2099273e51ce13ccab27bdd2619db4814
Signed-off-by: Ping Yu <ping.yu@intel.com>
|
|
In avf_rxq_refill, we invoke vlib_buffer_alloc_to_ring which may fill buffers from the
end of the ring and continue to the beginning of the ring. If we fill some in the end and
continue to fill some in the beginning, but does not have enough buffers to fill the
whole request, n_alloc returns a value which is not equal to n_refill to indicate partial
refill. We don't like partial refill and invoke vlib_buffer_free to get rid of
the buffers that just got refilled. However, vlib_buffer_free API is to free the buffers
from the slot continuously. It does not know how to free some from rxq->bufs[slot], and then
continue to free the rest when it reaches the end of the ring.
The fix is to use vlib_buffer_free_from_ring which is smart enough to figure that stuff
out.
Change-Id: I93c28e0b0d8d8f22c321d1a5912e00c27b4e2e8d
Signed-off-by: Steven <sluong@cisco.com>
|
|
Change-Id: Ied63ebaec8e19189f8b1ab2a7f6d7474c3f2ad6e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
|
|
- Error where ICMPv6 error code doesn't reset VLIB_TX = -1
Leading to crash for ICMP generated on tunnelled packets
- Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so
IP in IPv6 packets never got fragmented.
- Add support for fragmentation of buffer chains.
- Remove support for inner fragmentation in frag code itself.
Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Before
------
DBGvpp# sh int rx-mode
sh int rx-mode
Thread 1 (vpp_wk_0^@):
node vmxnet3-input:
vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1^@):
node vmxnet3-input:
vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#
After
-----
DBGvpp# sh int rx-placement
sh int rx-placement
Thread 1 (vpp_wk_0):
node vmxnet3-input:
vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
node vmxnet3-input:
vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#
Change-Id: I5910d502757054c3942fac9d20c5104e95fc6b56
Signed-off-by: Steven <sluong@cisco.com>
|
|
Need to free the buffers starting from ring->consume+1, not ring->consume
Make use of the cool API vlib_buffer_free_from_ring
Fix a memory leak in vmxnet3_txq_init
Change-Id: I0a539ea75211408d84ce433d97a0a0aec5a9618d
Signed-off-by: Steven <sluong@cisco.com>
|
|
The stateful ICMP/ICMPv6 handling got broken.
Fix that and introduce testcases to catch in the future.
Change-Id: Ie602e72d6ac613d64ab0bf6693b6d75afb1a9552
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
|
|
Change-Id: I6c0d5aec6ee96a0d40358f0e09a0901b22265063
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
|
|
Change-Id: I0f39477bbf88d490409fdcd5f58df55cfe2ec531
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I35dcb987edf11097f34a633ac36d87cecd12088f
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
|
|
bi0 always points to the first buffer in chain but b0 could be any fragment in a ip packet.
It causes a vnet_feature_next function call to the wrong buffer
and crashes sometime when there is >1 feature nodes under ip-unicast.
The fix is simple, makes b0 and bi0 both pointed to the first buffer
Change-Id: I7de36e68fb42b050fa63201abd98aeb6ba2e0cd3
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
|
|
Change-Id: I89c7df778e66a5d2147190dc99445405d81964e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
|