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

Reply via email to