I have the following DPDK (netdev datapath) bridge defined in OpenVSwitch:
Bridge br-tun
fail_mode: standalone
Port "dpdkvhost2"
Interface "dpdkvhost2"
type: dpdkvhostuser
Port "dpdkvhost1"
Interface "dpdkvhost1"
type: dpdkvhostuser
Port "dpdk0"
Interface "dpdk0"
type: dpdk
options: {dpdk-devargs="0000:01:00.0"}
Port br-tun
Interface br-tun
type: internal
So essentially, I have one pipe into the bridge from the host (dpdk0), and two
Virtual Machines connected to it (dpdkvhost1 and dpdkvhost2).
What is the “right” way to initialize the flows?
I can show what I am doing now, but I don’t know if it’s correct. Currently I
am doing port forwarding. I know that you can also
# ovs-ofctl dump-flows br-tun
cookie=0x0, duration=300.187s, table=0, n_packets=0, n_bytes=0,
in_port=dpdkvhost2 actions=output:dpdk0 -> VM to PCI NIC
cookie=0x0, duration=100.761s, table=0, n_packets=0, n_bytes=0, in_port=LOCAL
actions=output:dpdk0 -> LOCAL to PCI NIC (used for ping mainly)
cookie=0x0, duration=63.799s, table=0, n_packets=0, n_bytes=0,
in_port=dpdkvhost1 actions=output:dpdk0 -> VM to PCI NIC
cookie=0x0, duration=1.464s, table=0, n_packets=0, n_bytes=0, in_port=dpdk0
actions=output:dpdkvhost1,output:dpdkvhost2,LOCAL -> PCI NIC to both VMs and
LOCAL
cookie=0x0, duration=10135.578s, table=0, n_packets=0, n_bytes=0, priority=0
actions=NORMAL -> fallback
I know you can also use L3/L4 rules. So if I know my bridge (br-tun above) is
addressed as 192.168.30.201, I can direct the packets to LOCAL, and if they are
going to VMs, I can do the same. But this requires knowing the Ips, or “hard
coding” them, which might not be a good practice. And if DHCP is used and you
don’t know the IP, this of course would not work.
Hopefully I can learn a bit on how to set flows up “properly”, in best practice
fashion.
Mark
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss