Hi Andrew/Florain, On Mon, Aug 13, 2018 at 2:38 PM Andrew Lunn <and...@lunn.ch> wrote: > > > > I agree, this should be padding packets correctly, can you still > > > instrument cpsw to make sure that what comes to its ndo_start_xmit() is > > > ETH_ZLEN + tag_len or more? > > > > > Yes I can confirm the skb->len is always >= 62 (ETH_ZLEN + 2) > > Which switch are you using? > > Marvell switches use either 4 or 8 bytes of tag. Broadcom has 4, KSZ > has 1 for packets going to the switch, lan9303 has 4, mtd uses 4, qca > has 2. > I am using the KSZ switch. for Ingress it has 1 byte and for Egress it has 2 bytes. I came across patch [1] and padded 2 more bytes in ksz_xmit() and I was successfully able to ping from lan4 to PC. Thank you very much for your guidance/support.
Now I have stumbled into a different issue: Case 1 Works: ================= lan0 = 192.168.0.1 PC1 = 192.168.0.10 For the above ping works from both directions. CASE 2 Doesn’t Work: ========================= lan0 = 192.168.0.1 PC1 = 192.168.0.10 lan4 = 192.168.0.4 PC2 = 192.168.0.11 Ping from lan0 to PC1 and PC1 to lan0 works But ping from PC2 to lan4 and lan4 to PC2 fails. CASE 3 Works: ========================= lan0 = 192.168.0.1 PC1 = 192.168.0.10 lan4 = 192.168.4.4 PC2 = 192.168.4.11 With the above setup ping works. [Query] Why does ping fail in case 2. Any thoughts what I am missing here ? or is it the expected behaviour ? [1] https://lore.kernel.org/patchwork/patch/851457/ Cheers, --Prabhakar Lad