lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <trinity-d858854a-ff84-4b28-81f4-f0becc878017-1642089370117@3c-app-gmx-bap49> Date: Thu, 13 Jan 2022 16:56:10 +0100 From: Frank Wunderlich <frank-w@...lic-files.de> To: Alvin Šipraga <ALSI@...g-olufsen.dk> Cc: Luiz Angelo Daros de Luca <luizluca@...il.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linus.walleij@...aro.org" <linus.walleij@...aro.org>, "andrew@...n.ch" <andrew@...n.ch>, "vivien.didelot@...il.com" <vivien.didelot@...il.com>, "f.fainelli@...il.com" <f.fainelli@...il.com>, "olteanv@...il.com" <olteanv@...il.com>, "arinc.unal@...nc9.com" <arinc.unal@...nc9.com> Subject: Aw: Re: Re: Re: [PATCH net-next v4 11/11] net: dsa: realtek: rtl8365mb: multiple cpu ports, non cpu extint Hi, the problem is checksum offloading on the gmac (soc-side) root@...-r64:~# ethtool -k eth1 | grep checksum rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: on #<<<<<<<<<<<<< tx-checksum-ip-generic: off [fixed] tx-checksum-ipv6: on #<<<<<<<<<<<<< tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] in my case i tried ipv4....and after disabling the offload i get a connection root@...-r64:~# ethtool -K eth1 rx off tx off Actual changes: tx-checksum-ipv4: off tx-checksum-ipv6: off tx-tcp-segmentation: off [not requested] tx-tcp6-segmentation: off [not requested] rx-checksum: off root@...-r64:~# telnet 192.168.1.1 22 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.3 ^C regards Frank > Gesendet: Donnerstag, 13. Januar 2022 um 13:37 Uhr > Von: "Alvin Šipraga" <ALSI@...g-olufsen.dk> > An: "Frank Wunderlich" <frank-w@...lic-files.de> > Cc: "Luiz Angelo Daros de Luca" <luizluca@...il.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linus.walleij@...aro.org" <linus.walleij@...aro.org>, "andrew@...n.ch" <andrew@...n.ch>, "vivien.didelot@...il.com" <vivien.didelot@...il.com>, "f.fainelli@...il.com" <f.fainelli@...il.com>, "olteanv@...il.com" <olteanv@...il.com>, "arinc.unal@...nc9.com" <arinc.unal@...nc9.com> > Betreff: Re: Aw: Re: Re: [PATCH net-next v4 11/11] net: dsa: realtek: rtl8365mb: multiple cpu ports, non cpu extint > > Frank Wunderlich <frank-w@...lic-files.de> writes: > > > Hi, > > > >> Gesendet: Dienstag, 11. Januar 2022 um 19:17 Uhr > >> Von: "Alvin Šipraga" <ALSI@...g-olufsen.dk> > > > >> Luiz, any comments regarding this? I suppose if the chip ID/revision is > >> the same for both 67S and 67RB, they should work pretty much the same, > >> right? > > > > my phy driver is same for both devices and afaik only do different > > RX/TX delays. With the chip-rev-patch 0x0020 i can init the switch, > > but have no technical documentation except the phy driver code. > > > >> Ping working but TCP not working is a bit strange. You could check the > >> output of ethtool -S and see if that meets your expectations. If you > >> have a relatively modern ethtool you can also append --all-groups to the > >> comment to get a more standard output. > > > > as far as i see in tcpdump (suggested by luiz) on target it is a checksum error where checksum is always 0x8382 (maybe some kind of fixed tag). > > > > 16:39:07.994825 IP (tos 0x10, ttl 64, id 54002, offset 0, flags [DF], proto TCP (6), length 60) > > 192.168.1.2.43284 > 192.168.1.1.22: Flags [S], cksum 0x8382 > > (incorrect -> 0xa6f6), seq 3231275121, win 64240, options [mss > > 1460,sackOK,TS val 1615921214 ecr 0,nop,wscale 7], length 0 > > 16:39:12.154790 IP (tos 0x10, ttl 64, id 54003, offset 0, flags [DF], proto TCP (6), length 60) > > 192.168.1.2.43284 > 192.168.1.1.22: Flags [S], cksum 0x8382 > > (incorrect -> 0x96b6), seq 3231275121, win 64240, options [mss > > 1460,sackOK,TS val 1615925374 ecr 0,nop,wscale 7], length 0 > > That's weird, I must admit I do not recognize this issue at all. Try > dumping the whole packet with -x and maybe you can see what kind of data > you are getting. 2 example packets from tcpdump (if you still want to see it) $ sudo tcpdump -i enx00131100063c -vvv -nn -x tcpdump: listening on enx00131100063c, link-type EN10MB (Ethernet), capture size 262144 bytes 16:43:50.297259 IP (tos 0x10, ttl 64, id 19802, offset 0, flags [DF], proto TCP (6), length 60) 192.168.1.2.38278 > 192.168.1.1.22: Flags [S], cksum 0x8382 (incorrect -> 0xb704), seq 2565260294, win 64240, options [mss 1460,sackOK,TS val 2917954112 ecr 0,nop,wscale 7], length 0 0x0000: 4510 003c 4d5a 4000 4006 69fe c0a8 0102 0x0010: c0a8 0101 9586 0016 98e6 c406 0000 0000 0x0020: a002 faf0 8382 0000 0204 05b4 0402 080a 0x0030: adec 7240 0000 0000 0103 0307 16:43:51.324255 IP (tos 0x10, ttl 64, id 19803, offset 0, flags [DF], proto TCP (6), length 60) 192.168.1.2.38278 > 192.168.1.1.22: Flags [S], cksum 0x8382 (incorrect -> 0xb300), seq 2565260294, win 64240, options [mss 1460,sackOK,TS val 2917955140 ecr 0,nop,wscale 7], length 0 0x0000: 4510 003c 4d5b 4000 4006 69fd c0a8 0102 0x0010: c0a8 0101 9586 0016 98e6 c406 0000 0000 0x0020: a002 faf0 8382 0000 0204 05b4 0402 080a 0x0030: adec 7644 0000 0000 0103 0307 > >> You can also try adjusting the RGMII TX/RX delay and pause settings - > >> that might help for the R2 where you aren't getting any packets > >> through. > > > > r2pro i got working by setting both delays to 0 as phy-driver does the same (after some calculation). > > > > on r64 this is a bit more tricky, because the phy driver uses tx=1 and rx=3 with this calculation for reg-value > > > > regData = (regData & 0xFFF0) | ((txDelay << 3) & 0x0008) | (rxDelay & 0x0007); > > > > but in dts i need the values in picosends (?) and here i do not know > > how to calculate them > > Try: > > tx-internal-delay-ps = <2000>; > rx-internal-delay-ps = <1000>; > > This should correspond to internal values tx=1 and rx=3. thanks i've found out and used tx=2000 and rx=900 (your 1000 is rounded to 3), but only disabling checksum-offloading fixed the problem. need to look how to make it persistent. Afaik switch driver does not do any Checksum-handling so problem lies in the SOC ethernet driver (here i guess the mtk_soc_eth.c for mt7622). maybe i find an option to disable the offloading in dts because boards with mt7531 switch working. maybe DSA-Tag handling can be changed, but this is no breaking point from my POV. regards Frank
Powered by blists - more mailing lists