OpenVSwitch LACP绑定testing设置问题

我想testingovs上的LACP绑定。 我有3台Ubuntu电脑。

使用其中的2个作为openvswitch,其中一个作为主机。

第一个ubuntu(称之为switch1)有三个网卡(其中两个是usb / eth转换器)

  • 02:00.0networking控制器:Intel公司Centrino Wireless-N 1000 [Condor Peak]
  • 85:00.0以太网控制器:Marvell Technology Group Ltd. 88E8072 PCI-E千兆以太网控制器(第10版)

第二个ubuntu(称为switch2)有2个网卡,其中一个是usb / eth转换器(与上面的Marvell Tech一样)

第三个ubuntu(称之为主机)将主机连接到switch1,它有一个embedded式以太网接口接口。

我想在交换机1和交换机2上绑定(lacp = active)eth0 end eth1。然后用电缆将switch1的eth0连接到switch2的eth0。 并连接eth1的。

我做了所有的设置。 在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 

我的第一个问题是为什么我的接口禁用债券?

 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 

我在Switch2上做了相同的ovs设置。 并连接switch1和2.testing债券连接我已经计划从主机发送一个ping到任何地方,把一个规则switch1到端口eth2的任何东西都应该镜像到switch0上的bond0。

 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 

之后,当我检查镜子

 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} 

我开始从主机发送ping通过ping -I eth0 anywhere.com切换1,并通过sudo tcpdump -i eth2监听switch1我可以看到来自主机的arp消息

… 17:00:49.293446 ARP,要求who-has s3-website-us-west-1.amazonaws.com告诉192.168.50.51,长度为46 …

但是,当我尝试在Switch1上侦听eth0或eth1时,没有任何东西来这些端口。 我不能用tcpdump来监听bond0端口,但我可以检查我的镜像。

 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} 

我可以看到有一些tx / rx字节,所以我期望从我的switch1发送一切通过bond0从eth2到switch2。 但是,当我检查switch2接口与tcpdump,我什么也看不到switch2。

在这里,我的第二个问题出现了,是否有任何方法来监听bond0上的数据包(两个交换机)?

而我最后一个问题,我想当我把eth2stream量镜像到switch0的输出端口bond0时,它应该把数据包转发到switch2; 这个设置有什么问题吗?我应该在ovs-ofctl中join一些规则吗?