[PATCH dpdk v3 00/17] IPv6 APIs overhaul
Robin Jarry
rjarry at redhat.com
Thu Oct 17 20:03:37 CEST 2024
David Marchand, Oct 17, 2024 at 15:52:
> Hello Robin,
>
[snip]
> - Now that many changes hit the main repo, this series needs some
> rebasing (conflicts are not too difficult, but having this rebase run
> through a bit in the CI would be great).
Will do.
> - From a compatibility pov, I am not fond of the rte_ip.h => rte_ip.h,
> rte_ip6.h split.
>
> Applications will need to be updated for something that was ambiguous
> so far: rte_ip.h defined all symbols, regardless of IPv4 and IPv6.
> What do you think of keeping a rte_ip.h compat header that just
> includes new rte_ip4.h and rte_ip6.h headers?
I can include rte_ip6.h in rte_ip.h for backward compatibility.
> - With current patch, since only rte_ip.h is parsed in doxygen, we
> lost documentation for IPv6.
> Regardless of keeping a compat header, doc/api/doxy-api-index.md needs
> some update.
Got it. I will add a new "IPv6" section in "layers" and a checksum
section in "basic" (rte_cksum.h split also removed some symbols from the
"IP" section).
> - bonus 1:
> It would be worth cleaning unneeded includes in rte_ip*.h.
> But changing this is risky if we want to take this series in rc1.
> Please don't do this in next revision, this will wait after merging this series.
>
> For example, running iwyu returns:
>
> lib/net/rte_ip.h should remove these lines:
> - #include <arpa/inet.h> // lines 26-26
> - #include <netinet/ip6.h> // lines 28-28
> - #include <rte_mbuf.h> // lines 33-33
> - #include <sys/socket.h> // lines 23-23
> - #include <sys/types.h> // lines 24-24
>
> lib/net/rte_ip6.h should remove these lines:
> - #include <arpa/inet.h> // lines 26-26
> - #include <netinet/ip6.h> // lines 27-27
> - #include <rte_mbuf.h> // lines 31-31
> - #include <sys/socket.h> // lines 23-23
Ok, I will hold off changing this for now. Btw, rte_mbuf *is* actually
used in rte_ip6.h. Maybe iwyu has some troubles identifying things :)
> - bonus 2:
> Would it be possible to provide a cocci script or some shellscript for
> an application to convert to the updated APIs (especially the impact
> on rte_flow and other structures)?
> We did something similar for the prefixing of dpdk structures with RTE_.
>
> Idem, not necessary for rc1.
I never used coccinelle and it may be complicated to come up with
something reliable. It is not a simple renaming of symbols. It is
a change of signature for a lot of functions. This would require
extensive changes in the application code.
Cheers.
More information about the dev
mailing list