Compare commits

...

7 Commits

Author SHA1 Message Date
Andrew Yourtchenko
0385458a56 misc: 21.10.1 Release Notes
Type: docs
Change-Id: I4c9474f78c1226608e11ed4822b7fe091cb70c3e
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-11-17 13:45:25 +01:00
Matthew Smith
895a0a1fed ip6: set local flag on outbound echo reply
Type: fix

When VPP generates an ICMP echo reply in response to an incoming
echo request to a local address, set VNET_BUFFER_F_LOCALLY_ORIGINATED
on the buffer. It will prevent ip6-rewrite from decrementing the hop
limit.

Outbound IPv4 echo replies also get this flag set.

Change-Id: Iaa229294eb158edb58cf1bf1b7a90da281321406
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
(cherry picked from commit af50b4f727f6d9d85c722c39b459941e01a34217)
2021-11-16 15:43:45 +00:00
Benoît Ganne
48797d204f build: add missing fib headers in packages
Type: fix
Fixes: d6953332db225d5355f50348ef3b09f0525d5282

Change-Id: Ib85fee40e71ebe5bc2b84c62e37298b5e390d520
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit d9fc708ee0c8c42fa09dda5d29e9cb0f985558dc)
2021-11-03 16:40:12 +00:00
Andrew Yourtchenko
0e0384cde9 misc: 21.10 Release Notes
Change-Id: I7aa0708d54156166f2dcdc8359e2450a3c4bf9af
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-10-27 12:39:32 +00:00
Joshua Roys
9298a7ec0c nat: fix static mapping segv
Adding a nat44 static mapping during startup on a DHCP interface leads
to a segv via this path:
- dhcp_client_acquire_address
- ip4_add_del_interface_address
- ip4_add_del_interface_address_internal
- nat44_ed_add_del_interface_address_cb
- nat44_ed_add_static_mapping
- ip4_interface_first_address

Type: fix

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Change-Id: I38dac8a096b052550f2b87b4e13a950d2cd868b0
(cherry picked from commit f9074fc51544d1849a2df06713c1ccf6cb2eb908)
2021-10-25 19:53:58 +00:00
Florin Coras
c1931b2f09 vcl: grab wrk create lock sooner
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0faeef20c57486564122e39f01f31c8c45f38014
(cherry picked from commit 94fef3e67662c6a92e32164d8db6fcf4bc83e79e)
2021-09-24 16:37:13 +00:00
Andrew Yourtchenko
fd9d936b3c misc: Initial changes for stable/2110 branch
Change-Id: Ib3bf8f46a987324be4c7f016b96027558e9d58ef
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-09-23 14:52:28 +02:00
7 changed files with 503 additions and 5 deletions

View File

@ -2,3 +2,4 @@
host=gerrit.fd.io
port=29418
project=vpp
defaultbranch=stable/2110

File diff suppressed because it is too large Load Diff

View File

@ -3342,7 +3342,7 @@ nat44_ed_add_del_interface_address_cb (ip4_main_t *im, uword opaque,
{
rv = nat44_ed_add_static_mapping (
rp->l_addr, address[0], rp->l_port, rp->e_port, rp->proto,
rp->vrf_id, ~0, rp->flags, rp->pool_addr, rp->tag);
rp->vrf_id, sw_if_index, rp->flags, rp->pool_addr, rp->tag);
if (rv)
{
nat_elog_notice_X1 (sm, "add_static_mapping returned %d",

View File

@ -167,16 +167,19 @@ vcl_worker_alloc_and_init ()
if (vcl_get_worker_index () != ~0)
return 0;
/* Grab lock before selecting mem thread index */
clib_spinlock_lock (&vcm->workers_lock);
/* Use separate heap map entry for worker */
clib_mem_set_thread_index ();
if (pool_elts (vcm->workers) == vcm->cfg.max_workers)
{
VDBG (0, "max-workers %u limit reached", vcm->cfg.max_workers);
return 0;
wrk = 0;
goto done;
}
clib_spinlock_lock (&vcm->workers_lock);
wrk = vcl_worker_alloc ();
vcl_set_worker_index (wrk->wrk_index);
wrk->thread_id = pthread_self ();
@ -203,9 +206,9 @@ vcl_worker_alloc_and_init ()
vec_reset_length (wrk->mq_msg_vector);
vec_validate (wrk->unhandled_evts_vector, 128);
vec_reset_length (wrk->unhandled_evts_vector);
clib_spinlock_unlock (&vcm->workers_lock);
done:
clib_spinlock_unlock (&vcm->workers_lock);
return wrk;
}

View File

@ -1222,6 +1222,9 @@ list(APPEND VNET_HEADERS
fib/fib.h
fib/fib_api.h
fib/ip4_fib.h
fib/ip4_fib_8.h
fib/ip4_fib_16.h
fib/ip4_fib_hash.h
fib/ip6_fib.h
fib/fib_types.h
fib/fib_table.h

View File

@ -351,6 +351,9 @@ ip6_icmp_echo_request (vlib_main_t * vm,
vnet_buffer (p1)->sw_if_index[VLIB_RX]);
vnet_buffer (p1)->sw_if_index[VLIB_TX] = fib_index1;
p0->flags |= VNET_BUFFER_F_LOCALLY_ORIGINATED;
p1->flags |= VNET_BUFFER_F_LOCALLY_ORIGINATED;
/* verify speculative enqueues, maybe switch current next frame */
/* if next0==next1==next_index then nothing special needs to be done */
vlib_validate_buffer_enqueue_x2 (vm, node, next_index,
@ -404,6 +407,7 @@ ip6_icmp_echo_request (vlib_main_t * vm,
vnet_buffer (p0)->sw_if_index[VLIB_RX]);
vnet_buffer (p0)->sw_if_index[VLIB_TX] = fib_index0;
p0->flags |= VNET_BUFFER_F_LOCALLY_ORIGINATED;
/* Verify speculative enqueue, maybe switch current next frame */
vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
to_next, n_left_to_next,

View File

@ -38,6 +38,12 @@ configure_file(
${CMAKE_CURRENT_BINARY_DIR}/vnet/config.h
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/vnet/config.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vpp/vnet
COMPONENT vpp-dev
)
set(VPP_API_FILES
api/vpe_types.api
api/vpe.api