I am using Weave Net to connect my Docker containers across different hosts. Weave is making use of "Fast Datapath" which handles the routing in Kernel Space (inside the OVS (Open vSwitch) Module as shown in the diagram below.)
In oder to get a better understanding about how Weave routes traffic, I would like to see the routing entries of the OVS Module. There are commands like ovs-vsctl show
which "prints a brief overview of the database contents" but this didn't work. Seems like Weave is running its own OVS instance which cannot be accessed with this command.
I also tried inspecting Weave with the
weave status [targets | connections | peers | dns | ipam]
commands but that didn't show any detailed routing information either.
So, does anyone know how to see the routing table that weave uses to decide where to route packets destined to a certain docker container?
To see flows ("routes") which Weave Net installs into the datapath of
openvswitch
you can runweave report
. The flows are listed under the.Router.OverlayDiagnostics.fastdp.Flows
field.Yes, Weave Net does not use the OVS user space modules. It only relies on the
openvswitch
kernel module and friends (vxlan
). See http://openvswitch.org/support/ovscon2016/8/0935-pumputis.pdf or https://www.youtube.com/watch?v=cKN_oaRX8Vc for more details