Timothy Redaelli via dev <[email protected]> writes: > Split libopenvswitch into two libraries: > > - libopenvswitchutils: containers, utilities, I/O, threading, > logging, and OVSDB client modules. > - libopenvswitch: datapath, OpenFlow, netdev, dpif, flow, > conntrack, and related modules. Links libopenvswitchutils. > > Programs that do not need datapath functionality now link only > libopenvswitchutils, reducing their dependency footprint: > ovsdb-server, ovsdb-client, ovsdb-tool, ovs-appctl, vtep-ctl, > test-lib. > > When OVS is built with static DPDK (--with-dpdk=static), these > programs no longer pull in DPDK code at all. Stripped binary > sizes (x86_64): > > Binary Before After Saved > ovs-appctl 3,939 KB 346 KB -91% > ovsdb-server 4,255 KB 766 KB -82% > ovsdb-client 4,234 KB 750 KB -82% > ovsdb-tool 4,218 KB 729 KB -83% > vtep-ctl 4,273 KB 847 KB -80% > test-lib 3,935 KB 342 KB -91% > > Binaries that still need libopenvswitch (ovs-vsctl, ovs-dpctl, > ovs-ofctl, ovs-vswitchd) are unaffected by this change. Further > reducing their DPDK dependency requires decoupling dp-packet from > netdev-dpdk, which is separate follow-up work. > > To break a circular dependency between the two libraries, > ip_parse(), ipv6_parse(), and ipv6_string_mapped() are made > static inline in packets.h. These are trivial wrappers around > inet_pton()/inet_ntop() with no side effects or state. > > Signed-off-by: Timothy Redaelli <[email protected]> > ---
LGTM - thanks for following up with this! Reviewed-by: Aaron Conole <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
