Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Jul 2011 15:49:39 +0400
From:      "Alexey V. Panfilov" <ports@subnets.ru>
To:        net@freebsd.org
Subject:   Netgraph udp tunneling
Message-ID:  <4E11A8D3.40102@subnets.ru>

next in thread | raw e-mail | index | archive | help
Hi!

We've three servers, connected as S1 <-ng_tunnel-> S2 <-ng_tunnel-> S3.

Over tunnels runs BGP with full-view.

Sometimes on S2 occures fatal trap with automatic reboot or without 
reboot at all. It not depends of net loading (mbps or pps).

If process of save a core was successfull, backtrace always shows that 
fatal trap occures because of large packet (size around 60Kbyte) was 
received.


Any help are welcome. Thanks.

----------------------------------------------------------------------

Info about S2:

smbios.system.maker="IBM"
smbios.system.product="System x3250 M3 -[425232G]-"
hw.model: Intel(R) Core(TM) i3 CPU         530  @ 2.93GHz
hw.physmem: 4207792128
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.1.9
dev.em.0.%pnpinfo: vendor=0x8086 device=0x10d3 subvendor=0x1014 
subdevice=0x03bd class=0x020000

NOTE: On S2 used only em0

/etc/sysctl.conf:
net.inet.icmp.icmplim=50
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0

Netgraph's tunnels are configured such as it wrote at example 
(/usr/share/examples/netgraph/udp.tunnel):

ngctl mkpeer iface dummy inet
ngctl mkpeer ng0: ksocket inet inet/dgram/udp
ngctl name ng0:inet to_S1
ngctl msg ng0:inet bind inet/1.1.1.1:60001
ngctl msg ng0:inet connect inet/5.5.5.5:60001
ifconfig ng0 10.0.0.1 10.0.0.2 netmask 255.255.255.252

ngctl mkpeer iface dummy inet
ngctl mkpeer ng1: ksocket inet inet/dgram/udp
ngctl name ng1:inet to_S3
ngctl msg ng1:inet bind inet/1.1.1.3:60002
ngctl msg ng1:inet connect inet/7.7.7.7:60002
ifconfig ng1 10.0.0.5 10.0.0.6 netmask 255.255.255.252

FreeBSD S2.line 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #1: Wed Jun 22 
13:56:26 MSD 2011     root@S2.line:/usr/src/sys/amd64/compile/BGP  amd64

Hardware and software configurations on S1 and S3 are identical to S2, 
but they runs without problem.

------------------------------------------------------------------------

backtrace:

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 05
fault virtual address   = 0x18
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff803f4a87
stack pointer           = 0x28:0xffffff811c80a5a0
frame pointer           = 0x28:0xffffff811c80a600
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         = 1478 (ng_queue0)
trap number             = 12
panic: page fault
cpuid = 3
Uptime: 11d23h7m40s
Physical memory: 4012 MB
Dumping 674 MB: 659 643 627 611 595 579 563 547 531 515 499 483 467 451 
435 419 403 387 371 355 339 323 307 291 275 259 243 227 211 195 179 163 
147 131 115 99 83 67 51 35 19 3

Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from 
/boot/kernel/coretemp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/coretemp.ko
Reading symbols from /boot/kernel/ng_socket.ko...Reading symbols from 
/boot/kernel/ng_socket.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_socket.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from 
/boot/kernel/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/ng_iface.ko...Reading symbols from 
/boot/kernel/ng_iface.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_iface.ko
Reading symbols from /boot/kernel/ng_ksocket.ko...Reading symbols from 
/boot/kernel/ng_ksocket.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_ksocket.ko
#0  doadump () at pcpu.h:224
224     pcpu.h: No such file or directory.
         in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:224
#1  0xffffffff80398d3e in boot (howto=260) at 
../../../kern/kern_shutdown.c:419
#2  0xffffffff80399153 in panic (fmt=0x0) at 
../../../kern/kern_shutdown.c:592
#3  0xffffffff8056f19d in trap_fatal (frame=0xffffff00070828c0, 
eva=Variable "eva" is not available.
) at ../../../amd64/amd64/trap.c:783
#4  0xffffffff8056f55f in trap_pfault (frame=0xffffff811c80a4f0, 
usermode=0) at ../../../amd64/amd64/trap.c:699
#5  0xffffffff8056f95f in trap (frame=0xffffff811c80a4f0) at 
../../../amd64/amd64/trap.c:449
#6  0xffffffff80557ba4 in calltrap () at 
../../../amd64/amd64/exception.S:224
#7  0xffffffff803f4a87 in m_copym (m=0x0, off0=2980, len=1480, wait=1) 
at ../../../kern/uipc_mbuf.c:542
#8  0xffffffff8047fc07 in ip_fragment (ip=0xffffff010e8d0558, 
m_frag=0xffffff811c80a718, mtu=Variable "mtu" is not available.
) at ../../../netinet/ip_output.c:819
#9  0xffffffff80480d1f in ip_output (m=0xffffff010e8d0500, opt=Variable 
"opt" is not available.
) at ../../../netinet/ip_output.c:650
#10 0xffffffff8047ca00 in ip_forward (m=0xffffff010e317600, 
srcrt=Variable "srcrt" is not available.
) at ../../../netinet/ip_input.c:1521
#11 0xffffffff8047e1cd in ip_input (m=0xffffff010e317600) at 
../../../netinet/ip_input.c:729
#12 0xffffffff8044eebe in netisr_dispatch_src (proto=1, source=Variable 
"source" is not available.
) at ../../../net/netisr.c:917
#13 0xffffffff80a2dd76 in ng_linkinfo_type_fields () from 
/boot/kernel/netgraph.ko
#14 0xffffffff80a26ae0 in ng_path2noderef (here=Variable "here" is not 
available.
) at netgraph.h:463
#15 0xffffffff80a25bee in ng_worklist_add (node=0xffffff016abda168) at 
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:3378
#16 0xffffffff80a30339 in ng_namehash_mtx () from /boot/kernel/netgraph.ko
#17 0xffffffff80a26be0 in ng_path2noderef (here=0xffffff002dd93c00, 
address=Variable "address" is not available.
) at /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:1773
#18 0xffffffff80a27ceb in ng_apply_item (node=0x246, 
item=0xffffff002dd93c70, rw=0) at 
/usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2613
#19 0xffffffff8036ff68 in fork_exit (callout=0xffffffff80a27b80 
<ng_apply_item+1920>, arg=0x0, frame=0xffffff811c80ac40) at 
../../../kern/kern_fork.c:845
#20 0xffffffff8055806e in fork_trampoline () at 
../../../amd64/amd64/exception.S:565
#21 0x0000000000000000 in ?? ()
#22 0x0000000000000000 in ?? ()
#23 0x0000000000000001 in ?? ()
#24 0x0000000000000000 in ?? ()
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0x0000000000000000 in ?? ()
#28 0x0000000000000000 in ?? ()
#29 0x0000000000000000 in ?? ()
#30 0x0000000000000000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0x0000000000000000 in ?? ()
#33 0x0000000000000000 in ?? ()
#34 0x0000000000000000 in ?? ()
#35 0x0000000000000000 in ?? ()
#36 0x0000000000000000 in ?? ()
#37 0x0000000000000000 in ?? ()
#38 0x0000000000000000 in ?? ()
#39 0x0000000000000000 in ?? ()
#40 0x0000000000000000 in ?? ()
#41 0x0000000000000000 in ?? ()
#42 0x0000000000000000 in ?? ()
#43 0x0000000000000000 in ?? ()
#44 0x0000000000000000 in ?? ()
#45 0xffffffff807cce40 in affinity ()
#46 0x0000000000000000 in ?? ()
#47 0x0000000000000000 in ?? ()
#48 0xffffff0001efa000 in ?? ()
#49 0xffffff811c809c80 in ?? ()
#50 0xffffff811c809c28 in ?? ()
#51 0xffffff0001d20460 in ?? ()
#52 0xffffffff803be5f9 in sched_switch (td=0xffffffff80a27b80, 
newtd=0x0, flags=Variable "flags" is not available.
) at ../../../kern/sched_ule.c:1852
Previous frame inner to this frame (corrupt stack?)

--
Simple Lehisnoe ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E11A8D3.40102>