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