[Bug 254060] genet driver for raspberry pi 4 has problems with ipv6 forwarding

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Mar 6 11:24:10 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254060

            Bug ID: 254060
           Summary: genet driver for raspberry pi 4 has problems with ipv6
                    forwarding
           Product: Base System
           Version: 13.0-STABLE
          Hardware: arm64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: arm
          Assignee: freebsd-arm at FreeBSD.org
          Reporter: denis at h3q.com

I use a raspberry 3 as DSL router. builtin interface for lan and external usb
interface for pppoe. all works fine, ipv4 and ipv6.

The exact same setup with a raspberry pi 4 does not work for ipv6.

I use dhcpcd to setup the ipv6 addresses. I captured a telnet connection to
www.kame.org on both interfaces:

freebsd at raspirouter:~ % sudo tcpdump -vvv -s0 -n -i intern0 host
2001:200:dff:fff1:216:3eff:feb1:44d7
tcpdump: listening on intern0, link-type EN10MB (Ethernet), capture size 262144
bytes
11:30:44.013698 IP6 (flowlabel 0xb0700, hlim 64, next-header TCP (6) payload
length: 44) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [SEW], cksum 0x3f10 (correct),
seq 3119817516, win 65535, options [mss 1440,nop,wscale 6,nop,nop,TS val
874444215 ecr 0,sackOK,eol], length 0
11:30:44.288079 IP6 (flowlabel 0x8c63f, hlim 54, next-header TCP (6) payload
length: 40) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [S.E], cksum 0xb33e
(correct), seq 2308490815, ack 3119817517, win 65535, options [mss
1440,nop,wscale 6,sackOK,TS val 2506143756 ecr 874444215], length 0
11:30:44.288412 IP6 (flowlabel 0xb0700, hlim 64, next-header TCP (6) payload
length: 32) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [.], cksum 0xd91f (correct), seq
1, ack 1, win 2052, options [nop,nop,TS val 874444489 ecr 2506143756], length 0
11:30:49.718541 IP6 (class 0x02, flowlabel 0xb0700, hlim 64, next-header TCP
(6) payload length: 48) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [P.], cksum 0xff80 (correct),
seq 1:17, ack 1, win 2052, options [nop,nop,TS val 874449917 ecr 2506143756],
length 16: HTTP, length: 16
        GET index.html
11:30:49.992868 IP6 (flowlabel 0x8c63f, hlim 54, next-header TCP (6) payload
length: 32) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [F.], cksum 0xb0a8
(correct), seq 227, ack 17, win 1035, options [nop,nop,TS val 2506149461 ecr
874449917], length 0
11:30:49.993273 IP6 (flowlabel 0xb0700, hlim 64, next-header TCP (6) payload
length: 44) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [.], cksum 0xeb3a (correct), seq
17, ack 1, win 2052, options [nop,nop,TS val 874450191 ecr
2506143756,nop,nop,sack 1 {227:228}], length 0
^C
6 packets captured
2525 packets received by filter
0 packets dropped by kernel


freebsd at raspirouter:~ % sudo tcpdump -vvv -s0 -n -i ng0 host
2001:200:dff:fff1:216:3eff:feb1:44d7
tcpdump: listening on ng0, link-type NULL (BSD loopback), capture size 262144
bytes
11:30:44.013777 IP6 (flowlabel 0xb0700, hlim 63, next-header TCP (6) payload
length: 44) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [SEW], cksum 0x3f10 (correct),
seq 3119817516, win 65535, options [mss 1440,nop,wscale 6,nop,nop,TS val
874444215 ecr 0,sackOK,eol], length 0
11:30:44.287428 IP6 (flowlabel 0x8c63f, hlim 55, next-header TCP (6) payload
length: 40) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [S.E], cksum 0xb33e
(correct), seq 2308490815, ack 3119817517, win 65535, options [mss
1440,nop,wscale 6,sackOK,TS val 2506143756 ecr 874444215], length 0
11:30:44.288446 IP6 (flowlabel 0xb0700, hlim 63, next-header TCP (6) payload
length: 32) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [.], cksum 0xd91f (correct), seq
1, ack 1, win 2052, options [nop,nop,TS val 874444489 ecr 2506143756], length 0
11:30:49.718607 IP6 (class 0x02, flowlabel 0xb0700, hlim 63, next-header TCP
(6) payload length: 48) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [P.], cksum 0xff80 (correct),
seq 1:17, ack 1, win 2052, options [nop,nop,TS val 874449917 ecr 2506143756],
length 16: HTTP, length: 16
        GET index.html
11:30:49.992764 IP6 (class 0x02, flowlabel 0x8c63f, hlim 55, next-header TCP
(6) payload length: 258) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [P.], cksum 0xbb69
(correct), seq 1:227, ack 17, win 1035, options [nop,nop,TS val 2506149461 ecr
874449917], length 226: HTTP
11:30:49.992844 IP6 (flowlabel 0x8c63f, hlim 55, next-header TCP (6) payload
length: 32) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [F.], cksum 0xb0a8
(correct), seq 227, ack 17, win 1035, options [nop,nop,TS val 2506149461 ecr
874449917], length 0
11:30:49.993307 IP6 (flowlabel 0xb0700, hlim 63, next-header TCP (6) payload
length: 44) 2003:c1:df10:9801:3cd9:d041:c580:584b.63658 >
2001:200:dff:fff1:216:3eff:feb1:44d7.80: Flags [.], cksum 0xeb3a (correct), seq
17, ack 1, win 2052, options [nop,nop,TS val 874450191 ecr
2506143756,nop,nop,sack 1 {227:228}], length 0
11:30:51.070753 IP6 (flowlabel 0x8c63f, hlim 55, next-header TCP (6) payload
length: 258) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [FP.], cksum 0xb620
(correct), seq 1:227, ack 17, win 1035, options [nop,nop,TS val 2506150539 ecr
874450191], length 226: HTTP
11:30:52.974578 IP6 (flowlabel 0x8c63f, hlim 55, next-header TCP (6) payload
length: 258) 2001:200:dff:fff1:216:3eff:feb1:44d7.80 >
2003:c1:df10:9801:3cd9:d041:c580:584b.63658: Flags [FP.], cksum 0xaeb0
(correct), seq 1:227, ack 17, win 1035, options [nop,nop,TS val 2506152443 ecr
874450191], length 226: HTTP

Here you can see, that the http answer arrives in ng0 but leaves intern0
somehow broken. All packets before have the same checksum in and out of the
raspberry until the HTTP answer arrives. It seems the payload is then missing.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-arm mailing list