On Tue, May 23, 2023 at 02:14:57PM +0200, Jan Klemkow wrote:
> Hi,
>
> This diff sets needed offloading flags and the calculated mss to LRO
> mbufs in ix(4). Thus, we can forward this packets and process them via
> tcp_if_output_tso(). This diff also uses tcp_if_output_tso() in
> ip6_forward().
>
> I tested the ip6_forward path via the address family transition in pf:
>
> pass in inet from 192.168.1.1 to 192.168.13.2 af-to \
> inet6 from fc00:13::1 to fc00:13::2
>
> ok?
crashes during my tests with lro turned on. Looks like devision
by zero.
START ssh_perform@lt13_iperf3_-c10.3.46.36_-P10_-t10 2023-05-24T13:33:54Z
Timeout, server ot14 not responding.
login: [-- MARK -- Wed May 24 15:30:00 2023]
kerkneel:rker nn el:e l : in t e g e r d i v inite dg e e
fr a u l t t r a p, c o d e = 0
Stopped at ixgbe_encap+0x177: divl %ecx,%eax
ddb{2}> trace
ixgbe_encap(ffff8000001241b0,fffffd80b80db400) at ixgbe_encap+0x177
ixgbe_start(ffff800000121800) at ixgbe_start+0xcf
ifq_serialize(ffff800000121800,ffff8000001218e0) at ifq_serialize+0xfd
taskq_thread(ffff80000002f000) at taskq_thread+0x100
end trace frame: 0x0, count: -4
ddb{2}> ps
PID TID PPID UID S FLAGS WAIT COMMAND
99854 209089 9079 0 3 0x100082 kqread ssh
15809 442526 1 0 3 0x100080 kqread ssh
97949 86242 1 0 3 0x100080 kqread ssh
9079 146443 53981 0 3 0x82 piperd perl
53981 227769 5893 0 3 0x10008a sigsusp ksh
5893 451861 1468 0 3 0x9a kqread sshd
94168 490141 1 0 3 0x100083 ttyin getty
75652 427583 1 0 3 0x100098 kqread cron
39299 237287 1 99 3 0x1100090 kqread sndiod
47108 360525 1 110 3 0x100090 kqread sndiod
38566 177187 19960 95 3 0x1100092 kqread smtpd
23522 195537 19960 103 3 0x1100092 kqread smtpd
80420 195512 19960 95 3 0x1100092 kqread smtpd
2367 42113 19960 95 3 0x100092 kqread smtpd
7393 283209 19960 95 3 0x1100092 kqread smtpd
7653 297707 19960 95 3 0x1100092 kqread smtpd
19960 437487 1 0 3 0x100080 kqread smtpd
71374 338452 30627 89 3 0x1100092 kqread relayd
16907 408885 30627 89 3 0x1100092 kqread relayd
35081 284379 30627 89 3 0x1100092 kqread relayd
25277 284381 30627 89 3 0x1100092 kqread relayd
30678 463036 30627 89 3 0x1100092 kqread relayd
83004 265034 30627 89 3 0x1100092 kqread relayd
95286 431522 30627 89 3 0x1100092 kqread relayd
59217 310908 30627 89 3 0x1100092 kqread relayd
30627 478072 1 0 3 0x80 kqread relayd
11795 299233 20858 91 3 0x92 kqread snmpd_metrics
20858 85096 1 0 3 0x100080 kqread snmpd
37930 377730 1 91 3 0x1100092 kqread snmpd
1468 62101 1 0 3 0x88 kqread sshd
24611 87454 0 0 3 0x14280 nfsidl nfsio
65040 198675 0 0 3 0x14280 nfsidl nfsio
24289 234081 0 0 3 0x14280 nfsidl nfsio
8301 276844 0 0 3 0x14280 nfsidl nfsio
93209 90851 1 0 3 0x100080 kqread ntpd
61881 51205 99207 83 3 0x100092 kqread ntpd
99207 296079 1 83 3 0x1100092 kqread ntpd
19281 369312 38531 74 3 0x1100092 bpf pflogd
38531 252705 1 0 3 0x80 netio pflogd
42140 503330 9467 73 3 0x1100090 kqread syslogd
9467 506976 1 0 3 0x100082 netio syslogd
86346 356807 1 0 3 0x100080 kqread resolvd
8248 456268 86437 77 3 0x100092 kqread dhcpleased
81843 247582 86437 77 3 0x100092 kqread dhcpleased
86437 362320 1 0 3 0x80 kqread dhcpleased
52151 379618 4048 115 3 0x100092 kqread slaacd
61436 14534 4048 115 3 0x100092 kqread slaacd
4048 130235 1 0 3 0x100080 kqread slaacd
20154 61454 0 0 3 0x14200 bored smr
91942 510513 0 0 3 0x14200 pgzero zerothread
42079 231044 0 0 3 0x14200 aiodoned aiodoned
91303 99546 0 0 3 0x14200 syncer update
2249 13527 0 0 3 0x14200 cleaner cleaner
84329 74364 0 0 3 0x14200 reaper reaper
16246 208290 0 0 3 0x14200 pgdaemon pagedaemon
87196 379876 0 0 3 0x14200 usbtsk usbtask
79540 107697 0 0 3 0x14200 usbatsk usbatsk
81379 361688 0 0 3 0x40014200 acpi0 acpi0
47841 446276 0 0 3 0x40014200 idle3
15502 96342 0 0 3 0x40014200 idle2
67276 306414 0 0 3 0x40014200 idle1
48765 139452 0 0 3 0x14200 bored sensors
19 83655 0 0 7 0x14200 softnet3
5656 107186 0 0 3 0x14200 bored softnet2
60673 169422 0 0 7 0x14200 softnet1
* 3514 255758 0 0 7 0x14200 softnet0
56854 459285 0 0 3 0x14200 bored systqmp
36445 112322 0 0 3 0x14200 bored systq
65516 145376 0 0 3 0x40014200 bored softclock
92657 510286 0 0 7 0x40014200 idle0
1 4045 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb{2}> show panic
the kernel did not panic
ddb{2}> show register
rdi 0x20
rsi 0xffff8000012fe800
rbp 0xffff800022cae070
rbx 0x108300 acpi_pdirpa+0xf4163
rdx 0
rcx 0
rax 0xffffffff
r8 0xc00
r9 0x42
r10 0x34
r11 0x1c14 __ALIGN_SIZE+0xc14
r12 0x9
r13 0x1c00 __ALIGN_SIZE+0xc00
r14 0xffff8000001241b0
r15 0xfffffd80b80db400
rip 0xffffffff81791b57 ixgbe_encap+0x177
cs 0x8
rflags 0x10246 __ALIGN_SIZE+0xf246
rsp 0xffff800022cadfd0
ss 0x10
ixgbe_encap+0x177: divl %ecx,%eax
ddb{0}> trace
x86_ipi_db(ffffffff8321cff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
acpicpu_idle() at acpicpu_idle+0x281
sched_idle(ffffffff8321cff0) at sched_idle+0x280
end trace frame: 0x0, count: -5
ddb{1}> trace
ixgbe_encap(ffff800000124120,fffffd80bb651500) at ixgbe_encap+0x177
ixgbe_start(ffff800000121600) at ixgbe_start+0xcf
ifq_serialize(ffff800000121600,ffff8000001216e0) at ifq_serialize+0xfd
taskq_thread(ffff80000002f180) at taskq_thread+0x100
end trace frame: 0x0, count: -4
ddb{3}> trace
x86_ipi_db(ffff80002251bff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x23
x86_bus_space_mem_read_4(ffff800022526000,f0) at x86_bus_space_mem_read_4+0x18
acpihpet_delay(1) at acpihpet_delay+0x9a
comcnputc(800,20) at comcnputc+0x99
cnputc(20) at cnputc+0x3b
db_putchar(66) at db_putchar+0x29a
kprintf() at kprintf+0x134b
db_printf(ffffffff825827ef) at db_printf+0x6d
db_ktrap(8,0,ffff800022cb4b30) at db_ktrap+0x196
kerntrap(ffff800022cb4b30) at kerntrap+0xa8
alltraps_kern_meltdown() at alltraps_kern_meltdown+0x7b
ixgbe_encap(ffff800000124000,fffffd80b80fee00) at ixgbe_encap+0x177
ixgbe_start(ffff8000001222f0) at ixgbe_start+0xcf
ifq_serialize(ffff8000001222f0,ffff8000001223d0) at ifq_serialize+0xfd
taskq_thread(ffff80000002f080) at taskq_thread+0x100
end trace frame: 0x0, count: -17