Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jul 2011 12:57:20 -0400
From:      Arnaud Lacombe <lacombar@gmail.com>
To:        ports@subnets.ru
Cc:        net@freebsd.org
Subject:   Re: Netgraph udp tunneling
Message-ID:  <CACqU3MUKebhJ3ZXMxDRMAKOXpXp2jiXNYf0Qo91qcbPE%2BKUV2A@mail.gmail.com>
In-Reply-To: <4E11A8D3.40102@subnets.ru>
References:  <4E11A8D3.40102@subnets.ru>

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

2011/7/4 Alexey V. Panfilov <ports@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 reboo=
t
> at all. It not depends of net loading (mbps or pps).
>
> If process of save a core was successfull, backtrace always shows that fa=
tal
> trap occures because of large packet (size around 60Kbyte) was received.
>
>
> Any help are welcome. Thanks.
>
> ----------------------------------------------------------------------
>
> Info about S2:
>
> smbios.system.maker=3D"IBM"
> smbios.system.product=3D"System x3250 M3 -[425232G]-"
> hw.model: Intel(R) Core(TM) i3 CPU =A0 =A0 =A0 =A0 530 =A0@ 2.93GHz
> hw.physmem: 4207792128
> dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.1.9
> dev.em.0.%pnpinfo: vendor=3D0x8086 device=3D0x10d3 subvendor=3D0x1014
> subdevice=3D0x03bd class=3D0x020000
>
> NOTE: On S2 used only em0
>
> /etc/sysctl.conf:
> net.inet.icmp.icmplim=3D50
> net.inet.tcp.blackhole=3D2
> net.inet.udp.blackhole=3D1
> net.inet.icmp.drop_redirect=3D1
> net.inet.icmp.log_redirect=3D0
> net.inet.ip.redirect=3D0
>
> 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 =A0 =A0 root@S2.line:/usr/src/sys/amd64/compile/BGP =A0=
amd64
>
> Hardware and software configurations on S1 and S3 are identical to S2, bu=
t
> they runs without problem.
>
> ------------------------------------------------------------------------
>
> backtrace:
>
> Unread portion of the kernel message buffer:
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid =3D 3; apic id =3D 05
> fault virtual address =A0 =3D 0x18
> fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read data, page not =
present
> instruction pointer =A0 =A0 =3D 0x20:0xffffffff803f4a87
> stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff811c80a5a0
> frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff811c80a600
> code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1=
b
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D DPL 0, pres 1, long 1,=
 def32 0, gran 1
> processor eflags =A0 =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D 0
> current process =A0 =A0 =A0 =A0 =3D 1478 (ng_queue0)
> trap number =A0 =A0 =A0 =A0 =A0 =A0 =3D 12
> panic: page fault
> cpuid =3D 3
> Uptime: 11d23h7m40s
> Physical memory: 4012 MB
> Dumping 674 MB: 659 643 627 611 595 579 563 547 531 515 499 483 467 451 4=
35
> 419 403 387 371 355 339 323 307 291 275 259 243 227 211 195 179 163 147 1=
31
> 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 =A0doadump () at pcpu.h:224
> 224 =A0 =A0 pcpu.h: No such file or directory.
> =A0 =A0 =A0 =A0in pcpu.h
> (kgdb) bt
> #0 =A0doadump () at pcpu.h:224
> #1 =A00xffffffff80398d3e in boot (howto=3D260) at
> ../../../kern/kern_shutdown.c:419
> #2 =A00xffffffff80399153 in panic (fmt=3D0x0) at
> ../../../kern/kern_shutdown.c:592
> #3 =A00xffffffff8056f19d in trap_fatal (frame=3D0xffffff00070828c0, eva=
=3DVariable
> "eva" is not available.
> ) at ../../../amd64/amd64/trap.c:783
> #4 =A00xffffffff8056f55f in trap_pfault (frame=3D0xffffff811c80a4f0, user=
mode=3D0)
> at ../../../amd64/amd64/trap.c:699
> #5 =A00xffffffff8056f95f in trap (frame=3D0xffffff811c80a4f0) at
> ../../../amd64/amd64/trap.c:449
> #6 =A00xffffffff80557ba4 in calltrap () at
> ../../../amd64/amd64/exception.S:224
> #7 =A00xffffffff803f4a87 in m_copym (m=3D0x0, off0=3D2980, len=3D1480, wa=
it=3D1) at
> ../../../kern/uipc_mbuf.c:542
obviously enough, m_copym() does not like to be passed a NULL mbuf :)

 - Arnaud

> #8 =A00xffffffff8047fc07 in ip_fragment (ip=3D0xffffff010e8d0558,
> m_frag=3D0xffffff811c80a718, mtu=3DVariable "mtu" is not available.
> ) at ../../../netinet/ip_output.c:819
> #9 =A00xffffffff80480d1f in ip_output (m=3D0xffffff010e8d0500, opt=3DVari=
able
> "opt" is not available.
> ) at ../../../netinet/ip_output.c:650
> #10 0xffffffff8047ca00 in ip_forward (m=3D0xffffff010e317600, srcrt=3DVar=
iable
> "srcrt" is not available.
> ) at ../../../netinet/ip_input.c:1521
> #11 0xffffffff8047e1cd in ip_input (m=3D0xffffff010e317600) at
> ../../../netinet/ip_input.c:729
> #12 0xffffffff8044eebe in netisr_dispatch_src (proto=3D1, source=3DVariab=
le
> "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=3DVariable "here" is not
> available.
> ) at netgraph.h:463
> #15 0xffffffff80a25bee in ng_worklist_add (node=3D0xffffff016abda168) at
> /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:3378
> #16 0xffffffff80a30339 in ng_namehash_mtx () from /boot/kernel/netgraph.k=
o
> #17 0xffffffff80a26be0 in ng_path2noderef (here=3D0xffffff002dd93c00,
> address=3DVariable "address" is not available.
> ) at /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:1=
773
> #18 0xffffffff80a27ceb in ng_apply_item (node=3D0x246,
> item=3D0xffffff002dd93c70, rw=3D0) at
> /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:2613
> #19 0xffffffff8036ff68 in fork_exit (callout=3D0xffffffff80a27b80
> <ng_apply_item+1920>, arg=3D0x0, frame=3D0xffffff811c80ac40) 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=3D0xffffffff80a27b80, newtd=3D=
0x0,
> flags=3DVariable "flags" is not available.
> ) at ../../../kern/sched_ule.c:1852
> Previous frame inner to this frame (corrupt stack?)
>
> --
> Simple Lehisnoe ;-)
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACqU3MUKebhJ3ZXMxDRMAKOXpXp2jiXNYf0Qo91qcbPE%2BKUV2A>