Netgraph udp tunneling

Arnaud Lacombe lacombar at gmail.com
Tue Jul 5 17:26:54 UTC 2011


Hi,

2011/7/4 Alexey V. Panfilov <ports at subnets.ru>:
> 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 at 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
obviously enough, m_copym() does not like to be passed a NULL mbuf :)

 - Arnaud

> #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 ;-)
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list