Using 2 of them as a openvswitch and one of them as a host.
The first ubuntu (call it switch1) has three NIC (2 of them usb/eth converter)
- 02:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000 [Condor Peak]
- 85:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8072 PCI-E Gigabit Ethernet Controller (rev 10)
The second ubuntu (call it switch2) has 2 NIC, one of them is usb/eth converter (same with Marvell Tech above)
The third ubuntu (call it host) will be host connected to switch1 and it has one embedded ethernet interface interface.
I want to bond (lacp=active) eth0 end eth1 on both switch 1 and switch 2. And connect switch1's eth0 to switch2's eth0 with a cable. And connect eth1's as well.
I did all setup. On switch1 :
sudo ovs-vsctl add-br br0
sudo ovs-vsctl add-bond br0 bond0 eth0 eth1 lacp=active bond_mode=balance-tcp
sudo ovs-vsctl add-port br0 eth2
sudo ovs-vsctl show
72a6ecb7-8ad9-4c6e-b727-503207e3844c
Bridge "br0"
fail_mode: standalone
Port "eth2"
Interface "eth2"
Port "bond0"
Interface "eth0"
Interface "eth1"
Port "br0"
Interface "br0"
type: internal
My first question is why my interfaces are disabled on bond ?
sudo ovs-appctl bond/show bond0
---- bond0 ----
bond_mode: balance-tcp
bond may use recirculation: yes, Recirc-ID : 2
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 7634 ms
lacp_status: configured
active slave mac: 00:00:00:00:00:00(none)
slave eth0: disabled
may_enable: false
slave eth1: disabled
may_enable: false
I made same ovs setup on Switch2. And connected switch1 and 2. to test bond connectivity i have planned to send a ping from host to anywhere, put a rule to switch1 that anything comes to port eth2 should be mirrored to bond0 on switch1.
sudo ovs-vsctl -- set Bridge br0 mirrors=@m -- --id=@bond0 get Port bond0 -- --id=@eth2 get Port eth2 -- --id=@m create Mirror name=mymirror select-dst-port=@eth2 select-src-port=@eth2 output-port=@bond0
After that when i check the mirror
sudo ovs-vsctl list Mirror
_uuid : 9bb76b24-d169-4a9c-ab00-ef0bd1df91e6
external_ids : {}
name : mymirror
output_port : []
output_vlan : []
select_all : false
select_dst_port : [04e085fc-3b4d-448f-b8cc-6d4fd2038381]
select_src_port : [04e085fc-3b4d-448f-b8cc-6d4fd2038381]
select_vlan : []
statistics : {tx_bytes=212272, tx_packets=1112}
I start send ping from host to switch 1 with ping -I eth0 anywhere.com and listen in switch1 with sudo tcpdump -i eth2 I can see arp messages from hosts
17:00:49.293446 ARP, Request who-has s3-website-us-west-1.amazonaws.com tell 192.168.50.51, length 46 ...
But when i try to listen eth0 or eth1 on Switch1, nothing comes those ports. I cannot listen bond0 port with tcpdump but i can check my mirrors.
sudo ovs-vsctl list Mirror
_uuid : 9bb76b24-d169-4a9c-ab00-ef0bd1df91e6
external_ids : {}
name : mymirror
output_port : []
output_vlan : []
select_all : false
select_dst_port : [04e085fc-3b4d-448f-b8cc-6d4fd2038381]
select_src_port : [04e085fc-3b4d-448f-b8cc-6d4fd2038381]
select_vlan : []
statistics : {tx_bytes=212272, tx_packets=1112}
I can see there are some tx/rx bytes so i expect from my switch1 to send everything comes from eth2 to switch2 via bond0. But when i check switch2 interfaces with tcpdump, i see nothing pass over switch2.
Here my second question arises, is there any way to listen packets on bond0 (for both switches) ?
And my last question, I suppose when i mirror eth2 traffic to bond0 as output port on switch1, it should forward packets to switch2; is there anything wrong with this setup, should I put some rules with ovs-ofctl ?
0 Response to "OpenVSwitch LACP BonDing Test Setup Problems E-Learning Free Ebook"
Post a Comment