From 80b742592bd227cedb22362abb6286838977ba4f Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 27 Jan 2021 18:08:25 -0800 Subject: svm vcl: add helper fn that discovers mqs in segment Type: improvement Signed-off-by: Florin Coras Change-Id: I1b083ee793a7cf91b1001bfe88353fa5e6515c42 --- src/vcl/vcl_private.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/vcl/vcl_private.c') diff --git a/src/vcl/vcl_private.c b/src/vcl/vcl_private.c index b9745d27e4e..85fe0a8b06e 100644 --- a/src/vcl/vcl_private.c +++ b/src/vcl/vcl_private.c @@ -456,6 +456,29 @@ vcl_segment_attach_mq (uword segment_handle, uword mq_offset, u32 mq_index, return 0; } +int +vcl_segment_discover_mqs (uword segment_handle, int *fds, u32 n_fds) +{ + fifo_segment_t *fs; + u32 fs_index; + + fs_index = vcl_segment_table_lookup (segment_handle); + if (fs_index == VCL_INVALID_SEGMENT_INDEX) + { + VDBG (0, "ERROR: mq segment %lx for is not attached!", segment_handle); + return -1; + } + + clib_rwlock_reader_lock (&vcm->segment_table_lock); + + fs = fifo_segment_get_segment (&vcm->segment_main, fs_index); + fifo_segment_msg_qs_discover (fs, fds, n_fds); + + clib_rwlock_reader_unlock (&vcm->segment_table_lock); + + return 0; +} + /* * fd.io coding-style-patch-verification: ON * -- cgit 1.2.3-korg