sorry for my unclear expression! The explanation for the trace below is not completely, what I want to say is when I switches the bonding interface back to l3 mode from l2(first l3->l2 then l2->l3), the packet can’t be sent to bond-input again. I have tested the modifications what you mentioned, now it’s able to send the packet to bond-input again.
可用于iOS的myMail发送 2018年10月26日 星期五 +0800 10:12 发件人 Steven Luong (sluong) <slu...@cisco.com>: >Your trace and explanation of the problem are not consistent. You stated there >is a problem after the bonded interface switches from L2 to L3. Yet your trace >shows when the interface is in L3 mode, it is working fine. When it is in L2 >mode, > it complains the interface is not IP enabled. I can’t really recreate your > problem to see what is going on because I don’t have your whole configuration > from both sides and where you send the ping from. Sure, we can invoke > ethernet_set_rx_redirect (vnm, sif_hw, > 0) for all interfaces when we remove the last L2 interface on the bond. But I > don’t think it is going to help you. For your benefit of the doubt, you can > try adding the else what you suspect may be the problem. > > else if ((bif_hw->l2_if_count == 0) && (l2_if_adjust == -1)) > { > /* Just removed last L2 subinterface on this port */ > vec_foreach (sw_if_index, bif->slaves) > { > sif_hw = vnet_get_sup_hw_interface (vnm, *sw_if_index); > /* Allow ip packets to go directly to ip4-input etc */ > ethernet_set_rx_redirect (vnm, sif_hw, 0); > } > } > >when the bonding is in l2 mode, the packet trace below: >packet: >00:00:00:000000: memif-input > memif: hw_if_index 3 next-index 4 > slot: ring 0 >00 :00:00:000 000: ethernet-input > ARP: 00:00:5e:22:22:2c -> ff:ff:ff:ff:ff:ff 802.1q vlan 0 >00:00:00:000000: arp-input > request, type ethernet/IP4, address size 6/4 > 00:00:5e:22:22:2c/110.0.0.2 -> 00:00:00:00:00:00/110.0.0.1 >00:00:00:000000: error-drop > arp-input: Interface is not IP enabled > > >Steven > >From: < vpp-dev@lists.fd.io > on behalf of "saint_sun 孙 via Lists.Fd.Io" < >saint_sun=aliyun....@lists.fd.io > >Reply-To: "saint_...@aliyun.com" < saint_...@aliyun.com > >Date: Thursday, October 25, 2018 at 12:25 AM >To: "Steven Luong (sluong)" < slu...@cisco.com > >Cc: "vpp-dev@lists.fd.io" < vpp-dev@lists.fd.io > >Subject: Re: [vpp-dev] Problem switching a bonded interface from L2 to L3 mode > >Hello steven, >I used the native memif to be the member of bonding interface, below is my >configuration: > >DBGvpp# create bond mode active-backup >DBGvpp# bond add BondEthernet1 line2 >DBGvpp# show bond details >BondEthernet0 > mode: active-backup > load balance: l23 > number of active slaves: 0 > number of slaves: 1 > line1 > device instance: 0 > sw_if_index: 1 > hw_if_index: 1 >BondEthernet1 > mode: active-backup > load balance: l2 > number of active slaves: 1 > line2 > number of slaves: 1 > line2 > device instance: 1 > sw_if_index: 22 > hw_if_index: 20 > >DBGvpp# set interface l2 bridge BondEthernet1 300 >DBGvpp# show bridge-domain 300 detail > BD-ID Index BSN Age(min) Learning U-Forwrd UU-Flood Flooding >ARP-Term BVI-Intf > 300 4 2 44 on on on on off > N/A > > Interface If-idx ISN SHG BVI TxFlood >VLAN-Tag-Rewrite > BondEthernet1 22 3 0 - * none > >DBGvpp# set interface l3 BondEthernet0 > >when the bonding is in l3 mode, the packet trace below: >packet: >00:00:00:000000: memif-input > memif: hw_if_index 3 next-index 7 > slot: ring 0 >00:00:00:000000: bond-input > src 00:00:5e:22:22:2c, dst ff:ff:ff:ff:ff:ff, line2 -> BondEthernet1 >00:00:00:000000: ethernet-input > ARP: 00:00:5e:22:22:2c -> ff:ff:ff:ff:ff:ff 802.1q vlan 0 >00:00:00:000000: arp-input > request, type ethernet/IP4, address size 6/4 > 00:00:5e:22:22:2c/110.0.0.2 -> 00:00:00:00:00:00/110.0.0.1 >00:00:00:000000: BondEthernet1-output > BondEthernet1 > ARP: 00:00:5e:51:3c:38 -> 00:00:5e:22:22:2c > reply, type ethernet/IP4, address size 6/4 > 00:00:5e:51:3c:38/110.0.0.1 -> 00:00:5e:22:22:2c/110.0.0.2 > >when the bonding is in l2 mode, the packet trace below: >packet: >00:00:00:000000: memif-input > memif: hw_if_index 3 next-index 4 > slot: ring 0 >00 :00:00:000 000: ethernet-input > ARP: 00:00:5e:22:22:2c -> ff:ff:ff:ff:ff:ff 802.1q vlan 0 >00:00:00:000000: arp-input > request, type ethernet/IP4, address size 6/4 > 00:00:5e:22:22:2c/110.0.0.2 -> 00:00:00:00:00:00/110.0.0.1 >00:00:00:000000: error-drop > arp-input: Interface is not IP enabled > >The mode switch code of bonding device: >static __clib_unused clib_error_t * >bond_set_l2_mode_function (vnet_main_t * vnm, > struct vnet_hw_interface_t *bif_hw, > i32 l2_if_adjust) >{ > bond_if_t *bif; > u32 *sw_if_index; > struct vnet_hw_interface_t *sif_hw; > > bif = bond_get_master_by_sw_if_index (bif_hw->sw_if_index); > if (!bif) > return 0; > > if ((bif_hw->l2_if_count == 1) && (l2_if_adjust == 1)) > { > /* Just added first L2 interface on this port */ > vec_foreach (sw_if_index, bif->slaves) > { >sif_hw = vnet_get_sup_hw_interface (vnm, *sw_if_index); >ethernet_set_flags (vnm, sif_hw->hw_if_index, > ETHERNET_INTERFACE_FLAG_ACCEPT_ALL); > >/* ensure all packets go to ethernet-input */ >ethernet_set_rx_redirect (vnm, sif_hw, 1); > } > } > > return 0; >} > > >when I switch the mode of bonding interface to l2, > >the function(blue color code above) redirects all the members to >ethernet-input , > >but when I switch it back to l3, all the members don't redirect to bond-input. > >---------------------------------------------------------------------- >saint_...@aliyun.com >> >>From: steven >> luong via Lists.Fd.Io >>Date: 2018-10-25 12:06 >>To: saint_...@aliyun.com ; John Lo (loj) >>CC: vpp-dev >>Subject: Re: [vpp-dev] Problem switching a bonded >> interface from L2 to L3 mode >>Are you using VPP native bonding driver or DPDK bonding driver? How do you >>configure the bonding interface? Please include the configuration and process >>to recreate the problem. >> >>Steven >> >>From: < vpp-dev@lists.fd.io > on behalf of "saint_sun 孙 via Lists.Fd.Io" < >>saint_sun=aliyun....@lists.fd.io > >>Reply-To: "saint_...@aliyun.com" < saint_...@aliyun.com > >>Date: Wednesday, October 24, 2018 at 8:07 PM >>To: "John Lo (loj)" < l...@cisco.com > >>Cc: "vpp-dev@lists.fd.io" < vpp-dev@lists.fd.io > >>Subject: Re: [vpp-dev] Problem switching a bonded interface from L2 to L3 >>mode >> >>Ok, I forgot to click the reply-all. who is familiar with the problem I >>mentioned below please tell me,thanks! >> >> >> >> >> >> >>2018 年 10 月 25 日 星期四 +0800 10:32 发 件人 John Lo (loj) < l...@cisco.com >: >>>Please include vpp-dev alias on any questions about VPP, instead of unicast >>>an individual only. Then whoever is familiar with the area you are asking >>>about >>> may respond. Does anyone know about the potential problem of switching >>> between L2 and L3 modes on a bonded interface described in this email (I >>> did change the email subject accordingly)? -John >>> >>>From: saint_sun 孙 < saint_...@aliyun.com > >>>Sent: Wednesday, October 24, 2018 8:52 PM >>>To: John Lo (loj) < l...@cisco.com > >>>Subject: Re: RE: RE: [vpp-dev]vlan interface support? >>> >>>I am very grateful for your help. >>>And when I test the VLAN, maybe I find a bug that if I switch the mode of >>>the Bonding interface to L2 and then switch back to L3 , the >>> bonding interface can not work as before. >>>I have found the error code that is in the mode switch function of bonding >>>device: when set the mode of bonding interface to l2, all the members of the >>>bonding interface will be set to l2, but when set the bonding >>> interface back, all the members do not recover to l3. >>> >>>At last I have another doubt that when I configure an IP address for an >>>interface, then I ping the address from VPP, it’s failed, why?should I do >>>other more settings? >>> >>> >>> >>>2018 年 10 月 15 日 星期一 +0800 22:20 发件人 John Lo (loj) < l...@cisco.com >: >>>>If there is a BVI in a BD with sub-interfaces in the same BD which get >>>>packets with VLAN tags, it is best to configure a tag-rewrite >>>> operation on the sub-interfaces to pop their VLAN tags. Then all packets >>>> are forwarded in BD without VLAN tags. The CLI is “set interface l2 >>>> tag-rewrite <sub-interface> pop 1” if the sub-interface has one VLAN tag. >>>> –John >>>> >>>>From: saint_sun 孙 < saint_...@aliyun.com > >>>>Sent: Monday, October 15, 2018 2:42 AM >>>>To: John Lo (loj) < l...@cisco.com > >>>>Cc: vpp-dev@lists.fd.io >>>>Subject: Re: RE: [vpp-dev]vlan interface support? >>>> >>>>I am very grateful to you for your advice ! >>>>I have tested it , But there is something wrong. when I receive an arp or >>>>ICMP packet from a l2 subif that >>>> joins to bd 200 and encapsulates vlan 200 , the reply packet that send >>>> from the subif does not have the vlan tag 200. Any more other >>>> configurations should I set ? >>>> >>>> >>>> >>>>可用于 iOS 的 myMail 发送 >>>> >>>> >>>>2018 年 10 月 14 日 星期日 +0800 04:58 发件人 l...@cisco.com < l...@cisco.com >: >>>>>The equivalent of VLAN on a switch in VPP is a bridge domain or BD for >>>>>short. One can put interfaces or VLAN sub-interfaces in a BD to form a L2 >>>>>network among all interfaces in it. One can also create >>>>> a loopback interface, put it in a BD as its BVI (Bridge Virtual >>>>> Interface) and assign IP addresses to it. Then packet can be IP >>>>> forwarded into a BD through its BVI. >>>>> >>>>>Following is the VPP CLI sequence to create a loopback (resulting in >>>>>interface name loop0), put it in BD 13 as a BVI, and put an IP address on >>>>>it: >>>>> >>>>>loopback create mac 1a:2b:3c:4d:5e:6f >>>>>set interface l2 bridge loop0 13 bvi >>>>>set interface state loop0 up >>>>>set interface ip address loop0 6.0.0.250/16 >>>>> >>>>>Regards, >>>>>John >>>>> >>>>>From: vpp-dev@lists.fd.io < vpp-dev@lists.fd.io > On Behalf Of saint_sun >>>>>? via Lists.Fd.Io >>>>>Sent: Friday, October 12, 2018 3:52 AM >>>>>To: vpp-dev@lists.fd.io >>>>>Cc: vpp-dev@lists.fd.io >>>>>Subject: [vpp-dev]vlan interface support? >>>>> >>>>>I have a question: >>>>>Does vpp has the function like the configuration example: >>>>>interface f0/1 >>>>>switchport access vlan 10 >>>>> >>>>>Interface vlan 10 >>>>>ip address 10.0.0.1 255.255.255.0 >>>>> >>>>>If vpp has the function, where can I find the command and the source code? >>>>> >>>>>Another question, does vpp support superVLAN? >>>>> >>>>>anyone who knows please tell me, appreciate for your reply very much! >>>>>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#10995): https://lists.fd.io/g/vpp-dev/message/10995 Mute This Topic: https://lists.fd.io/mt/27628831/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-