diff options
author | Florin Coras <fcoras@cisco.com> | 2023-11-20 14:46:10 -0800 |
---|---|---|
committer | Dave Barach <vpp@barachs.net> | 2023-11-22 00:58:53 +0000 |
commit | 9375266bd373ea3c86160d3262445607445a90d7 (patch) | |
tree | b7c83451b9b489887c2c9949c1c5a931b7c1692b /src/vnet/session/segment_manager.h | |
parent | 23b6a9ebeb244ed13d55ba3ae0ba011dd956f14e (diff) |
session: per app wrk client ct segment handle
Make sure ct client segment handles do not collide if multi worker
application establishes cut-through sessions to only one server segment
manager.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I905379f9ed73c64d57a826a3e97d53dab3a87517
Diffstat (limited to 'src/vnet/session/segment_manager.h')
-rw-r--r-- | src/vnet/session/segment_manager.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/session/segment_manager.h b/src/vnet/session/segment_manager.h index e786b3144c2..1e99c4605a6 100644 --- a/src/vnet/session/segment_manager.h +++ b/src/vnet/session/segment_manager.h @@ -190,7 +190,9 @@ static inline void segment_manager_parse_segment_handle (u64 segment_handle, u32 * sm_index, u32 * segment_index) { - *sm_index = segment_handle >> 32; + /* Upper 8 bits zeroed out as they may be used for cut-through segments. + * See @ref ct_alloc_segment */ + *sm_index = (segment_handle >> 32) & 0xFFFFFF; *segment_index = segment_handle & 0xFFFFFFFF; } |