Page MenuHomeFreeBSD

if_stf: enable use in vnet jails
ClosedPublic

Authored by kp on Nov 5 2021, 2:53 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 21 2024, 2:54 PM
Unknown Object (File)
May 20 2024, 8:26 PM
Unknown Object (File)
May 20 2024, 8:22 PM
Unknown Object (File)
May 20 2024, 8:15 PM
Unknown Object (File)
May 20 2024, 7:50 PM
Unknown Object (File)
Jan 28 2024, 5:23 PM
Unknown Object (File)
Jan 6 2024, 12:04 PM
Unknown Object (File)
Dec 23 2023, 6:10 AM

Details

Summary

The cloner must be per-vnet so that cloned interfaces get destroyed when
the vnet goes away. Otherwise we fail assertions in vnet_if_uninit():

panic: vnet_if_uninit:475 tailq &V_ifnet=0xfffffe01665fe070 not empty
cpuid = 19
time = 1636107064
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe015d0cac60
vpanic() at vpanic+0x187/frame 0xfffffe015d0cacc0
panic() at panic+0x43/frame 0xfffffe015d0cad20
vnet_if_uninit() at vnet_if_uninit+0x7b/frame 0xfffffe015d0cad30
vnet_destroy() at vnet_destroy+0x170/frame 0xfffffe015d0cad60
prison_deref() at prison_deref+0x9b0/frame 0xfffffe015d0cadd0
sys_jail_remove() at sys_jail_remove+0x119/frame 0xfffffe015d0cae00
amd64_syscall() at amd64_syscall+0x12e/frame 0xfffffe015d0caf30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe015d0caf30

  • syscall (508, FreeBSD ELF64, sys_jail_remove), rip = 0x8011e920a, rsp = 0x7fffffffe788, rbp = 0x7fffffffe810 ---

KDB: enter: panic

MFC after: 3 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable