On Fri, Jul 12, 2019 at 8:57 AM Hauke Mehrtens <ha...@hauke-m.de> wrote: > On 7/12/19 8:07 AM, Linus Walleij wrote:
> > + # These are all connected to eth1 thru VSC7385 > > + ucidef_set_interfaces_lan_wan "eth1 lan1 lan2 lan3 lan4" "eth0" > > This will create a bridge over eth1, lan1, lan2, lan3 and lan4, but I > think you do not have to put eth1 into this bridge, it should be > sufficient to have all the lanX in it. It is really puzzling to me too :( What I notice is that if I do this everything works fine and if eth1 is not included it doesn't. This sequence also works fine: ifconfig eth1 169.254.1.2 netmask 255.255.255.0 up ifconfig lan1 up ifconfig lan2 up ifconfig lan3 up ifconfig lan4 up I think the reason is that the IP address is not assigned to eth1 (the CPU port towards the switch/DSA). Maybe other DSA switches are better with this? My dmesg looks like this with eth1 included in the lan-facing interfaces: [ 52.704396] gemini-ethernet-port 6000c000.ethernet-port eth1: link flow control: both [ 53.046012] br-lan: port 1(eth1) entered blocking state [ 53.170160] br-lan: port 1(eth1) entered disabled state [ 53.253455] device eth1 entered promiscuous mode [ 53.299150] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 53.388545] vsc73xx spi0.0: enable port 0 [ 53.446029] vsc73xx spi0.0 lan1: configuring for phy/gmii link mode [ 53.526483] br-lan: port 2(lan1) entered blocking state [ 53.594789] br-lan: port 2(lan1) entered disabled state [ 53.665816] device lan1 entered promiscuous mode [ 53.728728] br-lan: port 1(eth1) entered blocking state [ 53.760176] br-lan: port 1(eth1) entered forwarding state [ 53.874449] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 54.000353] vsc73xx spi0.0: enable port 1 [ 54.056099] vsc73xx spi0.0 lan2: configuring for phy/gmii link mode [ 54.142223] br-lan: port 3(lan2) entered blocking state [ 54.214679] br-lan: port 3(lan2) entered disabled state [ 54.266496] device lan2 entered promiscuous mode [ 54.308593] vsc73xx spi0.0: enable port 2 [ 54.335298] vsc73xx spi0.0 lan3: configuring for phy/gmii link mode [ 54.377279] br-lan: port 4(lan3) entered blocking state [ 54.444497] br-lan: port 4(lan3) entered disabled state [ 54.515791] device lan3 entered promiscuous mode [ 54.588687] vsc73xx spi0.0: enable port 3 [ 54.646048] vsc73xx spi0.0 lan4: configuring for phy/gmii link mode [ 54.726991] br-lan: port 5(lan4) entered blocking state [ 54.785910] vsc73xx spi0.0 lan1: Link is Up - 1Gbps/Full - flow control rx/tx [ 54.844478] br-lan: port 5(lan4) entered disabled state [ 54.915911] device lan4 entered promiscuous mode [ 54.976533] br-lan: port 2(lan1) entered blocking state [ 55.007954] br-lan: port 2(lan1) entered forwarding state After this I can ping the host: # ping 169.254.1.1 PING 169.254.1.1 (169.254.1.1): 56 data bytes 64 bytes from 169.254.1.1: seq=0 ttl=64 time=2.049 ms 64 bytes from 169.254.1.1: seq=6 ttl=64 time=0.913 ms 64 bytes from 169.254.1.1: seq=25 ttl=64 time=1.268 ms And the host can ping the device: $ ping 169.254.1.2 PING 169.254.1.2 (169.254.1.2) 56(84) bytes of data. 64 bytes from 169.254.1.2: icmp_seq=1 ttl=64 time=1.12 ms 64 bytes from 169.254.1.2: icmp_seq=2 ttl=64 time=0.582 ms 64 bytes from 169.254.1.2: icmp_seq=3 ttl=64 time=0.576 ms 64 bytes from 169.254.1.2: icmp_seq=4 ttl=64 time=0.654 ms But if I remove eth1 from the LAN facing interfaces it looks like this: [ 52.433253] gemini-ethernet-port 6000c000.ethernet-port eth1: link flow control: both [ 52.769503] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 52.925178] device eth1 entered promiscuous mode [ 52.987672] vsc73xx spi0.0: enable port 0 [ 53.014460] vsc73xx spi0.0 lan1: configuring for phy/gmii link mode [ 53.054754] br-lan: port 1(lan1) entered blocking state [ 53.086323] br-lan: port 1(lan1) entered disabled state [ 53.119857] device lan1 entered promiscuous mode [ 53.160541] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 53.250938] vsc73xx spi0.0: enable port 1 [ 53.309220] vsc73xx spi0.0 lan2: configuring for phy/gmii link mode [ 53.394269] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 53.476271] br-lan: port 2(lan2) entered blocking state [ 53.543459] br-lan: port 2(lan2) entered disabled state [ 53.604655] device lan2 entered promiscuous mode [ 53.686932] vsc73xx spi0.0: enable port 2 [ 53.744974] vsc73xx spi0.0 lan3: configuring for phy/gmii link mode [ 53.820229] br-lan: port 3(lan3) entered blocking state [ 53.893505] br-lan: port 3(lan3) entered disabled state [ 53.964682] device lan3 entered promiscuous mode [ 54.047383] vsc73xx spi0.0: enable port 3 [ 54.087228] vsc73xx spi0.0 lan4: configuring for phy/gmii link mode [ 54.128009] br-lan: port 4(lan4) entered blocking state [ 54.160537] br-lan: port 4(lan4) entered disabled state [ 54.194726] device lan4 entered promiscuous mode [ 54.284743] vsc73xx spi0.0 lan1: Link is Up - 1Gbps/Full - flow control rx/tx [ 54.453740] br-lan: port 1(lan1) entered blocking state [ 54.485220] br-lan: port 1(lan1) entered forwarding state [ 54.883281] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready This kind of "should work". But now I can't ping anything. As you can see what is missing, since the eth1 is no longer part of the bridge, is this: [ 53.046012] br-lan: port 1(eth1) entered blocking state [ 53.170160] br-lan: port 1(eth1) entered disabled state I wonder if it is some bug in my DSA driver or some basic assumption that the network tools are making about the default state or so :/ I guess I keep digging around in it Yours, Linus Walleij _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel