On 13/07/2019 13:04, Linus Walleij wrote:
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:
Hi Linus,

I recall while bringing up QCA8k that the underlying physical ethernet needs to be up and have a valid mac addr otherwise the unicast filter of the mac ip block would drop traffic. long shot guess, the mac of eth1 probably implictly brings up the uni cast filter when you set an IP. try just doing an ifconfig up and setting the same mac as the switchdev ports.
    John



[   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
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to