set and check a special RX interface value as the packet enters and
exits a BIER domain
Change-Id: I5ff2f0e2d1b3ce0f3598b935f518fc11eb0896ee
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
(cherry picked from commit fe4e48f617f3e0f62880adebdcfb5989aa4e6db7)
When the version was being set manually in AC_INIT,
it would be different form the version in show ver
from vpp during releases. This led to breakage
in merge jobs leading to the release.
This fixes that by having A_INIT use the same version
script as everything else.
Change-Id: I45c2857b28153ff52afff0ee753d4dea7c6f7f70
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
which can create dead loop in
nat_alloc_addr_and_port_default function
Change-Id: I468c25ce0f0a0b3f881de564623dea208b2ca700
Signed-off-by: dongjuan <dong.juan1@zte.com.cn>
(cherry picked from commit 58f50f1bb64e962e5628e2c1867e07f238036c7b)
create interface memif [id <id>] [socket-id <socket-id>] ...
Can optionally take a socket-id.
You create a socket-id with:
create memif socket [id <id>] [filename <path>]
Unfortunately, this doesn't work because "create memif" was
deprecated. It results in:
vpp# create memif socket id 0 filename /run/vpp/test.socket
command deprecated. Please use 'create interface memif' instead.
This fixes it by clipping out the
create memif
command entirely.
Change-Id: If503758706bf758b6cb46e958200527a5856c600
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Under rare scenario, epoll may still post an event to VPP although the file
descriptor is already deleted via epoll_ctl (EPOLL_CTL_DEL) and the file
descriptor is close. VPP tries to access the free file index entry and crash.
The fix is to throw away the events which the file descriptor is already deleted.
Change-Id: Ieca3a1873aecb28630c3abc42c40341f27c2faa7
Signed-off-by: Steven <sluong@cisco.com>
All fragments should be dropped when max_frag is 1 and 2 non-initial fragments are received before first fragment.
Change-Id: Id0c968f45629698e347e8226c5926f27b48b82d6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
(cherry picked from commit a7f8b228ff505acc052a77101b12e714ead26536)
bihash deletion operation may in turn do underlying memory operations,
so ensure it is using the correct (private) heap.
Change-Id: Ibef7ad7f9db6fa83da02316bf7509072ce579bc0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Reducing the number of clients and mbytes transferred to make the test a
functional test rather than a stress one.
Change-Id: I715ab5db087b96c40da37d4221f3030b10519fd0
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
(cherry picked from commit 038d2614bffae707582703f116e52c516f51b26b)
The partition_split() did not increment the refcount when using a mask type index,
thus subsequent modifications potentially resulted in double frees and in the best case
immediate crash, in the worst case delayed crash in another place.
Introduce the lock_mask_type_index() and call it, move the mask type index
related functions closer to the top of the file.
Make the assignment of the new mask type indices
for the tuplemerge case to use the assign_mask_type_index().
Keep some debugs in case we need to investigate this further at some point.
Change-Id: Iae370f5cd92e1fe1442480db34656a8a3442dbc0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
When VM is having mixed type of vhost-user and SRIOV ports, QEMU (RedHat
v2.10) will not send disconnect signal to VPP, and just gives the new
memory region directly. VPP is not able to handle new memory region
mapping without disconnect signal first, which will result in a SEGV.
The fix will handle the VM reboot scenario without explict disconnect
signal from QEMU.
The fix is to invalidate the avail, desc, and used pointers in the txvq
when the new memory regions are received. This is because these pointers
are not valid anymore with the new memory regions. In the input node, check
to make sure the avail pointer is valid and punt if not.
Change-Id: Ieb8b427b202f4442a58907dab1661d63a03650de
Signed-off-by: Yichen Wang <yicwang@cisco.com>
-- The session should not be deleted when either ip address or port doesn't same with static mapping.
Change-Id: I09ab7379947654d2780a8c40c5340ce430541b12
Signed-off-by: shubing guo <guo.shubing@zte.com.cn>
(cherry picked from commit 060c3a7e5a2d23189a8c6348e767cd2018a58dd6)
Use rx_fib_index instead of sm->inside_fib_index for session lookup key.
Change-Id: I2d6cce5b9376fa8ac4d75a9bbfa8498be0fd1493
Signed-off-by: Matus Fabian <matfabia@cisco.com>
(cherry picked from commit 182e37e33f80cc65f3cf27b69e74d855dd858a7e)
- the FIB path takes a vector of type fib_mpls_label_t not u32 so the untype safe vec_add did not work
- write som eSR-MPLS tests
- allow an MPLS tunnel to resolve through a SR BSID
Change-Id: I2a18b9a9bf43584100ac269c4ebc286c9e3b3ea5
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 7c922dc404c2c0a2d67d53ca05db1c1ae1598f44)
When the slave interface is admin up after it is added to the bond group,
lacp does not send lacp pdu's to the interface because its periodic timer
is not running.
The issue was the slave interface's variables got reset after the state
machines were initialized.
Change-Id: I2942556ce29a4acc97db3be40293e69bed7b6679
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit bf21dc85053931bc597e0fab1112061aa60e986b)
Memory allocation changed in DPDK 18.05. The mlx4 and mlx5
PMDs did not support using externally allocated memory.
The patch for mlx5 was generated by Mellanox. That patch was
modified to apply to the mlx4 PMD and tested on Microsoft
Azure.
Patches were originally tested and used with VPP master
(prerelease 18.10). Then backported to VPP stable/1807.
Change-Id: I883e0d796e59702731bec06c96210f0b134188db
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Not only is it wasteful to send all fragments back through ip4-lookup, but
it doesn't work with tunnel mechanisms that don't have IP enabled on their
payload side.
Change-Id: Ic92d95982dddaa70969a2a6ea2f98edec7614425
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit b3655e5592e3e8e48eb087632f3fa71915891a9f)
Several test plugins report undefined symbol while being loaded
by load_one_vat_plugin. Fix this by adding VPP_API_TEST_BUILTIN
into CFLAGS for building these plugins.
Change-Id: I908720fd0d01da1ead30ba17027ba10358f6bdf1
Signed-off-by: Yi He <yi.he@arm.com>
(cherry picked from commit d05ce97724ed8681e80c32a948564d0163994365)
Should not enable nat44-hairpinning node in deterministic mode
Change-Id: I5790323a6842ee71a62c6c91c49166a2839eac12
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Deleting a bihash kvp frees the bucket's backing storage when the
bucket reference count reaches zero. l2fib_scan MUST check for that
condition, and stop scanning the bucket if it occurs. One of the L2
FIB extended "make test" vectors caused this issue 100% of the time.
Change-Id: I250bcc4c1518e16042120fbc4032227a759a602e
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 28374cada08df61180044e24cb758fa570e73c9d)
When the user deletes the last entry in a bihash bucket, the bihash
infra frees the bucket's backing storage. If this happens under
clib_bihash_foreach_key_value_pair - and the freed bucket happens to
be the bucket being traversed - the resulting dangling reference can
easily make the wheels fall off.
Simple fix: if (bucket-is-now-empty) double-break.
Change-Id: Idc44247a82ed5d0ba548507b4a53d4c8503ba8bb
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit ca45ee73d7c49c7f659c5cd690d3403d440e50f9)
this receipe:
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
return 0;
only works if there is more data following the registered command name.
So it is not so good for show commands...
Change-Id: I54249865a44526ade4b40e2d6207138a2d056e40
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
(cherry picked from commit 16be62e3846750b5b7921c0b4d6408477be434f7)
Wrong vl_msg_id set in vl_api_stats_get_poller_delay_t_handler while reporting stats delay.
Change-Id: I7d6ad14359e41c717b976390c58e254e3602e0ff
Signed-off-by: Lukasz Majczak <lma@semihalf.com>
avf_create_reply returns software index for the new interface
Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
(cherry picked from commit 4e6014fc9e8611eef16d9267151f1039ff00c190)
Change-Id: I63c36644c9d93f2c3ec6606ca0205b407499de4e
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit cd30774fa9280736ffaea3e9a51948593e8eebc2)
Signed-off-by: John Lo <loj@cisco.com>
Can happen if code bypasses the per-interface output node, and
dispatches packets directly to the tx node.
Switch to vlib_get_buffers(...) ... vlib_buffer_enqueue_to_next (...),
quad/single loop coding pattern.
Change-Id: Ic0e5d3b9748230f4e545a54186e6e64e7a782bb1
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 78451a6a660cd26a67d2284219f48878a2dfe2c3)
each edge/arc from these nodes must be the same.
Change-Id: Id5dace61bca0af71ad1df98583425226e81fd0de
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
(cherry picked from commit 8a03e4f97952d84e152f5b17d5325583604c4fd3)