На тестовой виртуалке под vmware esx 5.5u2, гостевая ОС FreeBSD 10.1 x64
Установлен сетевой адаптер vmx3f0.
Установлены vmaware tools.
Сделано так, что при старте системы правила pf не загружаются, сквид не
загружается (для теста).

Загружаю вручную такие правила (взял за основу
https://calomel.org/pf_hfsc.html, пока только тест).
pfctl -f /etc/pf.conf-test

ext_if="vmx3f0"
altq on $ext_if bandwidth 90Mb hfsc queue { ack, dns, ssh, web_high,
web_low, bulk}
    queue ack bandwidth 30% priority 8 qlimit 500 hfsc (realtime 20%)
    queue dns bandwidth 5% priority 7 qlimit 500 hfsc (realtime 5%)
    queue ssh bandwidth 5% priority 6 qlimit 500 hfsc (realtime 5%)
{ssh_login, ssh_bulk}
        queue ssh_login bandwidth 50% priority 6 qlimit 500 hfsc
        queue ssh_bulk bandwidth 50% priority 5 qlimit 500 hfsc
    queue bulk bandwidth 10% priority 5 qlimit 500 hfsc (realtime 10%
default)
    queue web_high bandwidth 25% priority 4 qlimit 500 hfsc (realtime 20%)
    queue web_low  bandwidth 25% priority 3 qlimit 500 hfsc (realtime 20%)
pass out on $ext_if inet proto tcp from ($ext_if) to any flags S/SA modulate
state queue (ack, bulk)
pass out on $ext_if inet proto tcp from ($ext_if) to any port ssh flags S/SA
modulate state queue (ssh_login, ssh_bulk)
pass on $ext_if inet proto udp from any to any modulate state queue (dns)
pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x31 flags
S/SA modulate state queue (web_high, ack)
pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x32 flags
S/SA modulate state queue (web_low, ack)

Запускаю сквид - service squid start
Все работает ... До первого запроса к прокси. И тут получаю core.

Mar  5 10:01:12 vm2 savecore: reboot after panic: page fault
Mar  5 10:01:12 vm2 savecore: writing core to /var/crash/vmcore.2

kgdb kernel.debug /var/crash/vmcore.2

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x38
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff81b3cfa7
stack pointer           = 0x28:0xfffffe004e52f250
frame pointer           = 0x28:0xfffffe004e52f2e0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (vmx3f0 taskq)
trap number             = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff809202f0 at kdb_backtrace+0x60
#1 0xffffffff808e5415 at panic+0x155
#2 0xffffffff80ce13bf at trap_fatal+0x38f
#3 0xffffffff80ce16d8 at trap_pfault+0x308
#4 0xffffffff80ce0d3a at trap+0x47a
#5 0xffffffff80cc6c22 at calltrap+0x8
#6 0xffffffff809a5f20 at if_transmit+0x130
#7 0xffffffff809a7c8d at ether_output+0x58d
#8 0xffffffff80a154db at ip_output+0x115b
#9 0xffffffff80a85cbc at tcp_output+0x191c
#10 0xffffffff80a82f55 at tcp_do_segment+0x3045
#11 0xffffffff80a7f2c4 at tcp_input+0xd04
#12 0xffffffff80a114b7 at ip_input+0x97
#13 0xffffffff809b09b2 at netisr_dispatch_src+0x62
#14 0xffffffff809a7e26 at ether_demux+0x126
#15 0xffffffff809a8ace at ether_nh_input+0x35e
#16 0xffffffff809b09b2 at netisr_dispatch_src+0x62
#17 0xffffffff81b3c820 at vmxnet3_rq_rx_complete+0x3d0
Uptime: 2m1s
Dumping 123 out of 998 MB:..13%..26%..39%..52%..65%..78%..91%

Reading symbols from /boot/kernel/zfs.ko.symbols...done.
Loaded symbols for /boot/kernel/zfs.ko.symbols
Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
Loaded symbols for /boot/kernel/opensolaris.ko.symbols
Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
Loaded symbols for /boot/kernel/ipfw.ko.symbols
Reading symbols from /boot/kernel/accf_http.ko.symbols...done.
Loaded symbols for /boot/kernel/accf_http.ko.symbols
Reading symbols from /boot/kernel/crypto.ko.symbols...done.
Loaded symbols for /boot/kernel/crypto.ko.symbols
Reading symbols from /boot/modules/vmxnet3.ko...done.
Loaded symbols for /boot/modules/vmxnet3.ko
Reading symbols from /boot/kernel/pflog.ko.symbols...done.
Loaded symbols for /boot/kernel/pflog.ko.symbols
Reading symbols from /boot/kernel/pf.ko.symbols...done.
Loaded symbols for /boot/kernel/pf.ko.symbols
Reading symbols from /boot/modules/vmmemctl.ko...done.
Loaded symbols for /boot/modules/vmmemctl.ko
#0  doadump (textdump=<value optimized out>) at pcpu.h:219
219             __asm("movq %%gs:%1,%0" : "=r" (td)


Ответить