Although it is rare that one wants to remove the default uri listener,
we should still support it.
The problem is that we strip the null character on unformatting the input.
We should not add a null character on formatting the default uri.
Type: fix
Change-Id: I08520dbd2a2448639ce023f9fd75555bc620e7ee
Signed-off-by: Steven Luong <sluong@cisco.com>
This patch adds some fixes and improvements:
Fixes bug where save_rewrite_length gets overwritten on reassembly
handoff.
Fixes bug where duplicate fragments could cause a reassembly context
to be lost, because the race losing thread would remove bihash entry
created by winning thread.
Improves tracing by adding more events.
Adds extended shallow reassembly. This is a toggleable option, which if
turned on will cause reassembly to wait for both first and last
fragments to calculate total IP payload length. Furthermore it'll store
a local copy of first fragment and necessary data to retrieve it in
vnet_buffer2. This allows downstream features to access full L3/L4
headers when dealing with fragments.
Type: fix
Change-Id: I81695070533410c5815291dbc65ea71c87e3ae05
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
This fixes ip6 feature logic, so error and handoff packets are no longer
sent to next feature instead of being dropped/handed off.
Type: fix
Change-Id: If280de5345d9ed3b553dd3b3fa40274619d333ae
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Rather validate the format and use proper Field call.
Type: fix
Fixes: d7a32ebd9948ff37c15d8b6e0e5d9cf243026239
Change-Id: I78ac1e62911d613dc0d7a9bd6e8784fbe7f0a797
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Use a new frame queue for output feature instead of passing frames
to standard feature.
Fixes bug where save_rewrite_length gets overwritten on reassembly
handoff.
Type: fix
Change-Id: I6c6191aec5f1c89e1ca0510a08781e390d327bbf
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Session layer can push transport attributes to vcl sessions which are
stored as vector for session lifetime.
Store original_dst_ip and port when available in vcl session attribute
vector.
Type: feature
Change-Id: Iab6c65ddcfed220fc919f564cd19083561812faf
Signed-off-by: Florin Coras <fcoras@cisco.com>
If system is configured to use something like apport, avoid mounting.
Type: fix
Change-Id: I6af900bd334acba974c9c4ae30c3b2ce26d1f49b
Signed-off-by: Florin Coras <fcoras@cisco.com>
- added Dockerfile.envoy
- removed nginx vcl.conf file as it's created by
the framework now
Type: test
Change-Id: I5f2be015c864c8d2aa938a22b1abece64989999b
Signed-off-by: Adrian Villin <avillin@cisco.com>
- test is no longer marked as extended
- no building required -> removed nginx build scripts
Type: test
Change-Id: I1814b1e4b7e514f81797efa3b5c1e818d2fe4cda
Signed-off-by: Adrian Villin <avillin@cisco.com>
1. When the backend engine is not enable, adding an entry returns
a confusing error message.
DBGvpp# session sdl add 191.1.1.30/32 action 1 tag blue-v4-rule1
session sdl add 191.1.1.30/32 action 1 tag blue-v4-rule1
unknown input `add 191.1.1.30/32 action 1 ta...'
DBGvpp#
2. When the sdl or rule-table entry is already present, adding the duplicate
entry returns a confusing error message.
DBGvpp# session sdl add 8.8.8.1/32 action 0
session sdl add 8.8.8.1/32 action 0
DBGvpp# session sdl add 8.8.8.1/32 action 0
session sdl add 8.8.8.1/32 action 0
session: session is already enable. Must disable first
DBGvpp#
The problem is because there are multiple cli commands start with "session".
When the command is failed with the best match chain, it passes the
command to the other parser chains which start with the keyword "session".
The other cli chain also fails to parse the command. The error message
that the previous parser chain returned may be overwritten by
the newest error message.
The fix is to not return an error in sdl and rule-table parser command chain.
Type: fix
Change-Id: If0165324a763f47ec98ab79a41c3ee9b10057454
Signed-off-by: Steven Luong <sluong@cisco.com>
- dpdk mellanox driver setting requires rdma-core.mk is included
before dpdk.mk makefile. Include check for rdma-core_version
variable definition in dpdk.mk to prevent a re-occurance of this
issue.
Type: fix
Fixes: 70522a1dc
Change-Id: I297cbd734ac7abe970eac7fb317d06b7acfc5a40
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Type: test
There are random failures in the wireguard test cases that are not related to concurrency issues.
The root cause is a retry of the handshake initiation after (REKEY_TIMEOUT + JITTER) ms, where JITTER is a random value between 0 and 333 ms.
Solution: Add a filter parameter for the `send_and_expect` method of the vpptestcase.
This filter allows for excluding unexpected handshake initiation packets when the responder sends two packets (with `message_type = 1` and `message_type = 2`),while only a single packet (with `message_type = 2`) is expected.
Change-Id: I62816931fc1b85e2202f3d36eb6c2a23714644d5
Signed-off-by: Ivan Ivanets <iivanets@cisco.com>
We enqueue 2 segments to app, first is masg (http_msg_t) and second
as much as possible of the raw data, so it must be:
max_enq - sizeof (msg)
Type: fix
Change-Id: Ib7ece7e0ad1aac99d687d49149f1bccea599b10f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
The language is
local == VPP local interface
remote == sender prefix to VPP node
SDL acts on remote prefix.
Type: fix
Change-Id: I82917c6ef801fc67430dfdd15c5630cb7a6347e0
Signed-off-by: Steven Luong <sluong@cisco.com>
It is desirable that http cli server can support multiple listeners.
This is needed for supporting both ip4 and ip6 at the same time.
Added the optional keyword listener add | del to the
http cli server command.
Example usage: start ip4 default uri and then add ip6 uri
http cli server
http cli server uri http://2001::2/80 listener add
Type: improvement
Change-Id: I884a4cd64ff676f9759a062b6d607a1742f610f3
Signed-off-by: Steven Luong <sluong@cisco.com>
Also, made disconnect-instance and delete-instance functions
available via cli.
Type: feature
Change-Id: I7939d27867959cb871b1cc7205b94410b53906fd
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
Handshake completion is now tracked via a ctx flag so we no longer need
ctx_handshake_is_over.
Also, as we no longer prealloc application sessions, improve ctx state
formatting.
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If48588ecde13e56fb99d1a46238bda53ed4eae1b
This commit allow use od cooperative multitasking with multiple
descheduling reasons (i.e. event wait and suspend) inside the same
process node. In previus code remote node will wake up process node
by sending event evein if process node is waiting in
vlib_process_ssupend().
This change also allowed new vlib_process_yield() API which deschedules
current process and it puts it into the end of queue.
Change-Id: I846e5a99b4ea1809eb80895f6ffe0ef0b2fd21ae
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
Pause frame flow control is not supported for LBK (Loopback) and
SDP (System DPI Packet Interface Unit) devices.
This patch skips the pause flow configuration for these devices.
Type: fix
Fixes: 53239b4
Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: I3096fcef9df4ad59d64bfabb83f91f13813128a8
VIC now supports standard SR-IOV, as opposed to VM-FEX SR-IOV. It uses
a new device ID 0x02b7 for VF. Add it to the supported list.
Type: improvement
Change-Id: Ifc91c66f5e75dd005aa9d8a47700896a941abab5
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
clib_dt_read_from_sysfs is the only user of clib_dt_node_add_child, on
FreeBSD this causes a build failure due to an unused function. Place
clib_dt_node_add_child behind an include guard for linux only.
Type: fix
Change-Id: I9641ffd10d9d15e1e552f570cd386211d3b4ab39
Signed-off-by: Tom Jones <thj@freebsd.org>
This patch enables h/w vlan tagging by setting MAX_VTAG_INS
field in NIX_AF_SMQ_CFG register.
This is required to configure VLAN tag insertion
by the hardware for egress packets
Type: feature
Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: Ifcdf9c1e5b0b8ddc27cabab597ae91780ceca095
when a protected tunnel gets deleted it's necessary to run a proper
cleanup
Type: fix
Change-Id: I9d2c60ecbf97c4df299ac5c2228b036bf3478a56
Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com>
This patch adds support for MAC pause flow control.
By default, pause flow control is enabled in the device
configuration.
Type: feature
Signed-off-by: Alok Mishra <almishra@marvell.com>
Change-Id: I0f448479a38fae615d87af7e736c6053ada89cca
- also add build/external artifacts to .gitignore file
Type: make
Change-Id: I9c8f4a312bbfddfa8024531e7246518c8c3589a4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
- nginx and curl timeouts are extended if debug flag is set
- added write-out for curl (outputs extra info after transfer is done)
Type: test
Change-Id: I3f6c336a14cd00b9ae8669d2fa26e00709162100
Signed-off-by: Matus Fabian <matfabia@cisco.com>
The AWS Graviton make test fails in dvr_test.py on Ubuntu 22.04,
due to a mismatching source MAC address. Debian 11 tests run fine.
The following can be seen in the log.txt trace:
00:00:00:756422: ethernet-input
frame: flags 0x1, hw-if-index 3, sw-if-index 3
IP4: 02:03:00:00:ff:02 -> de:ad:00:00:00:00 802.1q vlan 92
00:00:00:756435: l2-input
l2-input: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:ff:02 [l2-input-vtr l2-learn l2-fwd l2-flood l2-flood ]
00:00:00:756438: l2-input-vtr
l2-input-vtr: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:00:00 data 08 00 45 00 00 80 00 01 00 00 40 11
00:00:00:756441: l2-learn
l2-learn: sw_if_index 6 dst de:ad:00:00:00:00 src 02:03:00:00:00:00 bd_index 1
Note how l2-input-vtr node has the two lowest bytes of the source MAC corrupted.
Discussing with Benoit, since this could be caused by unaligned memory accesses,
using clib_memcpy_fast.
Type: fix
Change-Id: I28991e1166335df0edd1e4b84fa72a2b1d0bb9bf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>