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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to