Libnetwork golang vendoring

In writing a docker network driver, I’m now getting “multiple definition” link errors because I need to import “GitHub - moby/libnetwork: networking for containers” as well as “GitHub - vishvananda/netlink: Simple netlink library for go.” for example, as do most other examples of docker network drivers; libnetwork vendors netlink, and golang’s static linking causes duplicate symbols in my binary. As far as I understand it, libraries should not vendor other libraries; only applications should be doing this.

What’s the best method of resolving this? For now, I’m manually removing github.com/docker/libnetwork/vendor/github.com/vishvananda after ‘go get -u’.