Hi Jerome,
Thank you for the RFP!
I have added Code-Review -2 to the gerrit 46573 mentioned below not
because I am opposed to the improvement that it will provide, but for
the following reasons:
1. it is an ABI breaking change of all of the core VPP networking features
2. overall size and scope of the changes has an unknown and potentially
huge blast radius
3. insufficient community feedback on the RFP (most likely due to summer
vacation season & the innocuous title of this thread)
4. the breaking change is the default (IMHO, an opt-in behavior would be
acceptable)
5. the export check does not currently support out-of-tree plugins
My recommendation is these issues be discussed further here and in
either a special VPP Community Technical session the week of Sept or in
the first October VPP Community meeting. Unfortunately I'm not
available for the two scheduled VPP community meetings in September.
All comments welcome.
Thanks,
-daw-
On 8/26/26 3:02 AM, Jerome Tollet via lists.fd.io wrote:
Hi all,
I have posted an RFC/WIP series implementing hidden visibility for
libvnet:
-https://gerrit.fd.io/r/c/vpp/+/46571
build: add target-scoped hidden visibility support for libraries
-https://gerrit.fd.io/r/c/vpp/+/46572
vlib: remove the packet trace filter weak-symbol interposition
-https://gerrit.fd.io/r/c/vpp/+/46573
vnet: enable hidden visibility, add explicit function and data exports,
and check the exports required by in-tree consumers
The export check passes with Clang and GCC on x86 and with Clang on a
BlueField-3. An x86 runtime check also loaded all 104 configured plugins
without symbol resolution errors. The current arm64 hidden build has
1,017 dynamic definitions and 939 JUMP_SLOT relocations. I have not yet
run a performance A/B/A on this exact hidden-visibility implementation,
so I am not deriving a speedup from those relocation counts.
The initial export set covers all in-tree consumers, including data
symbols. Out-of-tree plugins may identify additional required exports;
I would treat those in the same way as other VPP API changes and add the
justified symbols as they are found.
Does this look like a direction people are comfortable with? Unless
anyone objects, I will continue refining the series based on review and
run the direct ARM A/B/A on the hidden implementation.
Best,
Jerome
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#27160): https://lists.fd.io/g/vpp-dev/message/27160
Mute This Topic: https://lists.fd.io/mt/121042664/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-