panic in soabort

2009-04-23 Thread pluknet
Hi all.

Please, give me comment on this.
The panic is on 6.2-REL. Is it known to be fixed in the latter releases?

Thanks.

db> bt
Tracing pid 14677 tid 101677 td 0xcf8e2640
_mtx_lock_sleep(ce7b9a30,cf8e2640,0,0,0) at _mtx_lock_sleep+0x9d
soabort(ce7b99bc) at soabort+0x82
soclose(c83a2858) at soclose+0x21a
soo_close(cf1c8750,cf8e2640) at soo_close+0x63
fdrop_locked(cf1c8750,cf8e2640,cb18d400,f1872cb4,c06607eb,...) at
fdrop_locked+0xac
fdrop(cf1c8750,cf8e2640,c991b5a0,cf8e2640,0,...) at fdrop+0x41
closef(cf1c8750,cf8e2640,0,cf8e2640,a,...) at closef+0x42f
close(cf8e2640,f1872d04) at close+0x211
syscall(816003b,816003b,bfbf003b,8151034,811a434,...) at syscall+0x2bf
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (6, FreeBSD ELF32, close), eip = 0x2832230f, esp =
0xbfbfe6dc, ebp = 0xbfbfe6f8 ---

db> show msgbuf
msgbufp = 0xc1042fe4
magic = 63062, size = 65508, r= 388996, w = 389463, ptr = 0xc1033000,
cksum= 5411375
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 5; apic id = 05
fault virtual address   = 0x104
fault code  = supervisor read, page not present
instruction pointer = 0x20:0xc067a01d
stack pointer   = 0x28:0xf1872bbc
frame pointer   = 0x28:0xf1872bc8
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= resume, IOPL = 0
current process = 14677 (proftpd)

db> show allpcpu
Current CPU: 5

cpuid= 0
curthread= 0xc7cfec80: pid 18 "swi4: clock sio"
curpcb   = 0xe6892d90
fpcurthread  = none
idlethread   = 0xc7cfeaf0: pid 17 "idle: cpu0"
APIC ID  = 0
currentldt   = 0x50

cpuid= 1
curthread= 0xce9b1c80: pid 63915 "sc_trans_freebsd"
curpcb   = 0xf1263d90
fpcurthread  = none
idlethread   = 0xc7cfe000: pid 16 "idle: cpu1"
APIC ID  = 1
currentldt   = 0x50

cpuid= 2
curthread= 0xd1b944b0: pid 63619 "sc_serv"
curpcb   = 0xf2435d90
fpcurthread  = none
idlethread   = 0xc7cfde10: pid 15 "idle: cpu2"
APIC ID  = 2
currentldt   = 0x58

cpuid= 3
curthread= 0xd2340af0: pid 5086 "sc_serv"
curpcb   = 0xf2e08d90
fpcurthread  = none
idlethread   = 0xc7cfdc80: pid 14 "idle: cpu3"
APIC ID  = 3
currentldt   = 0x58

cpuid= 4
curthread= 0xca46b640: pid 14743 "httpd"
curpcb   = 0xeefbbd90
fpcurthread  = none
idlethread   = 0xc7cfdaf0: pid 13 "idle: cpu4"
APIC ID  = 4
currentldt   = 0x50

cpuid= 5
curthread= 0xcf8e2640: pid 14677 "proftpd"
curpcb   = 0xf1872d90
fpcurthread  = none
idlethread   = 0xc7cfd960: pid 12 "idle: cpu5"
APIC ID  = 5
currentldt   = 0x50

cpuid= 6
curthread= 0xc833a7d0: pid 10882 "httpd"
curpcb   = 0xf2651d90
fpcurthread  = none
idlethread   = 0xc7cfd7d0: pid 11 "idle: cpu6"
APIC ID  = 6
currentldt   = 0x50

cpuid= 7
curthread= 0xc7d02000: pid 20 "swi1: net"
curpcb   = 0xe6898d90
fpcurthread  = none
idlethread   = 0xc7cfd640: pid 10 "idle: cpu7"
APIC ID  = 7
currentldt   = 0x50

db> bt 63619
Tracing pid 63619 tid 103691 td 0xd24e8640
sched_switch(3528361536,0,2) at sched_switch+323
mi_switch(2,0) at mi_switch+442
critical_exit(3231785568,4070575232,3230238960,0,3227844616,...) at
critical_exit+157
lapic_handle_timer(0) at lapic_handle_timer+201
Xtimerint(3231785568,3528361536,0,0,0) at Xtimerint+48
accept1(3528361536,4070575364,0,4070575408,3230324027,...) at accept1+254
accept(3528361536,4070575364) at accept+16
syscall(135659579,59,138870843,135738880,0,...) at syscall+703
Xint0x80_syscall() at Xint0x80_syscall+31
--- syscall (30, FreeBSD ELF32, accept), eip = 672261683, esp =
3215908652, ebp = 3215908696 ---

db> bt 5086
Tracing pid 5086 tid 103669 td 0xc8494640
sched_switch(3360245312,0,1) at sched_switch+323
mi_switch(1,0,3435481780,4041956464,3228189038,...) at mi_switch+442
sleepq_switch(3435481780) at sleepq_switch+135
sleepq_timedwait_sig(3435481780) at sleepq_timedwait_sig+30
msleep(3435481780,3451159168,360,3230803656,3,...) at msleep+560
kse_release(3360245312,4041956612) at kse_release+567
syscall(135659579,59,138870843,135713536,0,...) at syscall+703
Xint0x80_syscall() at Xint0x80_syscall+31
--- syscall (383, FreeBSD ELF32, kse_release), eip = 671810103, esp =
138899336, ebp = 138899396 ---

db> bt 10882
Tracing pid 10882 tid 102711 td 0xc833a7d0
sched_switch(3358828496,3352291680,6) at sched_switch+323
mi_switch(6,3352291680,3352292024,3231754688,4066712232,...) at mi_switch+442
maybe_preempt(3352291680) at maybe_preempt+196
sched_add(3352291680,4,3358828496,3352291680,4066712268,...) at sched_add+600
setrunqueue(3358828840,3499884544,3231754688,4066712304,3228131795,...)
at setrunqueue+99
_end() at 3358828496

db> bt 20
Tracing pid 20 tid 100013 td 0xc7d02000
sched_switch(3352305664,3352291680,6) at sched_switch+323
mi_switch(6,3352291680,3352292024,3231754688,3867773608,...) at mi_switch+442
maybe_preempt(3352291680) at maybe_preempt+196
sched_add(3352

Re: panic in soabort

2009-04-23 Thread Robert Watson

On Thu, 23 Apr 2009, pluknet wrote:

Please, give me comment on this. The panic is on 6.2-REL. Is it known to be 
fixed in the latter releases?


It may well be -- there have been quite significant architectural improvements 
to socket life cycle (etc) between 6.2 and 7.x releases, which may well close 
the race causing this panic.  However, we'll probably need to learn a bit more 
in order to decide for sure.  Could you convert the trapping instruction 
pointer to file+offset in the source code?


Robert N M Watson
Computer Laboratory
University of Cambridge



Thanks.

db> bt
Tracing pid 14677 tid 101677 td 0xcf8e2640
_mtx_lock_sleep(ce7b9a30,cf8e2640,0,0,0) at _mtx_lock_sleep+0x9d
soabort(ce7b99bc) at soabort+0x82
soclose(c83a2858) at soclose+0x21a
soo_close(cf1c8750,cf8e2640) at soo_close+0x63
fdrop_locked(cf1c8750,cf8e2640,cb18d400,f1872cb4,c06607eb,...) at
fdrop_locked+0xac
fdrop(cf1c8750,cf8e2640,c991b5a0,cf8e2640,0,...) at fdrop+0x41
closef(cf1c8750,cf8e2640,0,cf8e2640,a,...) at closef+0x42f
close(cf8e2640,f1872d04) at close+0x211
syscall(816003b,816003b,bfbf003b,8151034,811a434,...) at syscall+0x2bf
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (6, FreeBSD ELF32, close), eip = 0x2832230f, esp =
0xbfbfe6dc, ebp = 0xbfbfe6f8 ---

db> show msgbuf
msgbufp = 0xc1042fe4
magic = 63062, size = 65508, r= 388996, w = 389463, ptr = 0xc1033000,
cksum= 5411375
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 5; apic id = 05
fault virtual address   = 0x104
fault code  = supervisor read, page not present
instruction pointer = 0x20:0xc067a01d
stack pointer   = 0x28:0xf1872bbc
frame pointer   = 0x28:0xf1872bc8
code segment= base 0x0, limit 0xf, type 0x1b
   = DPL 0, pres 1, def32 1, gran 1
processor eflags= resume, IOPL = 0
current process = 14677 (proftpd)

db> show allpcpu
Current CPU: 5

cpuid= 0
curthread= 0xc7cfec80: pid 18 "swi4: clock sio"
curpcb   = 0xe6892d90
fpcurthread  = none
idlethread   = 0xc7cfeaf0: pid 17 "idle: cpu0"
APIC ID  = 0
currentldt   = 0x50

cpuid= 1
curthread= 0xce9b1c80: pid 63915 "sc_trans_freebsd"
curpcb   = 0xf1263d90
fpcurthread  = none
idlethread   = 0xc7cfe000: pid 16 "idle: cpu1"
APIC ID  = 1
currentldt   = 0x50

cpuid= 2
curthread= 0xd1b944b0: pid 63619 "sc_serv"
curpcb   = 0xf2435d90
fpcurthread  = none
idlethread   = 0xc7cfde10: pid 15 "idle: cpu2"
APIC ID  = 2
currentldt   = 0x58

cpuid= 3
curthread= 0xd2340af0: pid 5086 "sc_serv"
curpcb   = 0xf2e08d90
fpcurthread  = none
idlethread   = 0xc7cfdc80: pid 14 "idle: cpu3"
APIC ID  = 3
currentldt   = 0x58

cpuid= 4
curthread= 0xca46b640: pid 14743 "httpd"
curpcb   = 0xeefbbd90
fpcurthread  = none
idlethread   = 0xc7cfdaf0: pid 13 "idle: cpu4"
APIC ID  = 4
currentldt   = 0x50

cpuid= 5
curthread= 0xcf8e2640: pid 14677 "proftpd"
curpcb   = 0xf1872d90
fpcurthread  = none
idlethread   = 0xc7cfd960: pid 12 "idle: cpu5"
APIC ID  = 5
currentldt   = 0x50

cpuid= 6
curthread= 0xc833a7d0: pid 10882 "httpd"
curpcb   = 0xf2651d90
fpcurthread  = none
idlethread   = 0xc7cfd7d0: pid 11 "idle: cpu6"
APIC ID  = 6
currentldt   = 0x50

cpuid= 7
curthread= 0xc7d02000: pid 20 "swi1: net"
curpcb   = 0xe6898d90
fpcurthread  = none
idlethread   = 0xc7cfd640: pid 10 "idle: cpu7"
APIC ID  = 7
currentldt   = 0x50

db> bt 63619
Tracing pid 63619 tid 103691 td 0xd24e8640
sched_switch(3528361536,0,2) at sched_switch+323
mi_switch(2,0) at mi_switch+442
critical_exit(3231785568,4070575232,3230238960,0,3227844616,...) at
critical_exit+157
lapic_handle_timer(0) at lapic_handle_timer+201
Xtimerint(3231785568,3528361536,0,0,0) at Xtimerint+48
accept1(3528361536,4070575364,0,4070575408,3230324027,...) at accept1+254
accept(3528361536,4070575364) at accept+16
syscall(135659579,59,138870843,135738880,0,...) at syscall+703
Xint0x80_syscall() at Xint0x80_syscall+31
--- syscall (30, FreeBSD ELF32, accept), eip = 672261683, esp =
3215908652, ebp = 3215908696 ---

db> bt 5086
Tracing pid 5086 tid 103669 td 0xc8494640
sched_switch(3360245312,0,1) at sched_switch+323
mi_switch(1,0,3435481780,4041956464,3228189038,...) at mi_switch+442
sleepq_switch(3435481780) at sleepq_switch+135
sleepq_timedwait_sig(3435481780) at sleepq_timedwait_sig+30
msleep(3435481780,3451159168,360,3230803656,3,...) at msleep+560
kse_release(3360245312,4041956612) at kse_release+567
syscall(135659579,59,138870843,135713536,0,...) at syscall+703
Xint0x80_syscall() at Xint0x80_syscall+31
--- syscall (383, FreeBSD ELF32, kse_release), eip = 671810103, esp =
138899336, ebp = 138899396 ---

db> bt 10882
Tracing pid 10882 tid 102711 td 0xc833a7d0
sched_switch(3358828496,3352291680,6) at sched_switch+323
mi_switch(6,3352291680,3352292024,3231754688,4066712232,...) at mi_switch+442
maybe_preempt(3352291680) at ma

Re: kern/131153: [iwi] iwi doesn't see a wireless network

2009-04-23 Thread Adam K Kirchhoff
The following reply was made to PR kern/131153; it has been noted by GNATS.

From: Adam K Kirchhoff 
To: bug-follo...@freebsd.org, ad...@voicenet.com
Cc:  
Subject: Re: kern/131153: [iwi] iwi doesn't see a wireless network
Date: Thu, 23 Apr 2009 06:31:56 -0400

 Can anyone at least confirm that the iwi and ath drivers work with
 802.11n networks with WPA?
 
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Network Card

2009-04-23 Thread Barney Cordoba




--- On Thu, 4/23/09, Peter Jeremy  wrote:

> From: Peter Jeremy 
> Subject: Re: Network Card
> To: "Barney Cordoba" 
> Cc: "ovi freebsd" , freebsd-net@freebsd.org
> Date: Thursday, April 23, 2009, 2:28 AM
> On 2009-Apr-21 14:02:38 -0700, Barney Cordoba
>  wrote:
> >On all of the MBs that I have, the slot NIC appears
> before the onboard
> >ports in the pciconf -l listing. Its certainly not for
> sure.
> 
> As a datapoint to add to the uncertainty, the SunFire V440
> has 4
> motherboard NICs - two come before the PCI slots and two
> after (so
> adding a PCI-based Cassini nic moves ce2 from the MB to the
> plugin).
> 
> Even slot numbering on larger boxes (with multiple physical
> PCI buses)
> can be non (or counter) intuitive.
> 
> Also note that FreeBSD has also changed its PCI probe order
> at least
> once in the past (effectively re-numbering devices).
> 
> -- 
> Peter Jeremy

4 port NICs generally have a bridge chip on it, so they always tend
to muck things up. 

If the nics are PCI-X, you can probably add some trace to the em driver
to see what the bus speed is. Onboard NICs are usually 33mhz or 66Mhz
(I've never seen on onboard that runs 133Mhz)..however if the add-on card
 is 33mhz or PCI-E than you won't know. But if the em NIC is running at
 133 than its almost definitely  (hows that for certainty?) a plug in 
card.

Who would buy a realtek plug in card anyway?

Barney


  
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


proxy arp on 8.0-current?

2009-04-23 Thread Hiroharu Tamaru
Hi,

I'm trying to setup an proxy arp on a dual homed host.

I noticed that I cannot set it up on 8.0-current the same way as I
could on 6.2; hence the question: have the setup procedure changed
recently (when the arp table was separated from the routing table,
maybe?)?  My 8.0-current is from 200902 snapshot.

Here is a simple demonstration using two single-interfaced hosts:

setup:
host6.2# ifconfig em0 inet 192.168.0.1/24
host6.2# arp -s 192.168.0.11 auto pub
host6.2# arp -an | grep permanent
? (192.168.0.1) at 00:16:d3:xx:xx:xx on em0 permanent [ethernet]
? (192.168.0.11) at 00:16:d3:xx:xx:xx on em0 permanent published [ethernet]
host6.2# tcpdump -np arp

host8.0# ifconfig em0 inet 192.168.0.2/24
host8.0# arp -s 192.168.0.12 auto pub
host8.0# arp -an | grep permanent
? (192.168.0.2) at 00:0c:29:xx:xx:xx on em0 permanent [ethernet]
? (192.168.0.12) at 00:0c:29:xx:xx:xx on em0 permanent published [ethernet]
host8.0# tcpdump -np arp

then, I do:
host6.2# arp -d 192.168.0.2;  ping -c 1 192.168.0.2
host6.2# arp -d 192.168.0.12; ping -c 1 192.168.0.12
host8.0# arp -d 192.168.0.1;  ping -c 1 192.168.0.1
host8.0# arp -d 192.168.0.11; ping -c 1 192.168.0.11

I am not caring about 'arp -d' errors (cannot locate) nor ping not
responding (for proxied addresses).  I just cared about arp requests and
replys for now.  The output of tcpdump on both sides are like this:

 arp who-has 192.168.0.2 tell 192.168.0.1
 arp reply 192.168.0.2 is-at 00:0c:29:xx:xx:xx

 arp who-has 192.168.0.12 tell 192.168.0.1
>no reply

 arp who-has 192.168.0.1 tell 192.168.0.2
 arp reply 192.168.0.1 is-at 00:16:d3:xx:xx:xx

 arp who-has 192.168.0.11 tell 192.168.0.2
 arp reply 192.168.0.11 is-at 00:16:d3:xx:xx:xx

As you can see from the above,
'arp -s 192.168.0.12 auto pub' on 8.0-current host
seems not to be producing proxy arp's.

What am I missing?

Thanks.
-- 
Hiroharu Tamaru
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


IPFW MAX RULES COUNT PERFORMANCE

2009-04-23 Thread Daniel Dias Gonçalves

Hi,

My system is a FreeBSD 7.1R.
When I add rules IPFW COUNT to 254 IPS from my network, one of my 
interfaces increases the latency, causing large delays in the network, 
when I delete COUNT rules, everything returns to normal, which can be ?


My script:

ipcount.php
-- CUT --
   system("/sbin/ipfw -q add $a count { tcp or udp } from 
any to $ip/32");
   system("/sbin/ipfw -q add $a count { tcp or udp } from 
$ip/32 to any");

   #system("/sbin/ipfw delete $a");
   $c++;
   $a++;
   }
}
echo "\n\nTotal: $c\n";
?>
-- CUT --

net.inet.ip.fw.dyn_keepalive: 1
net.inet.ip.fw.dyn_short_lifetime: 5
net.inet.ip.fw.dyn_udp_lifetime: 10
net.inet.ip.fw.dyn_rst_lifetime: 1
net.inet.ip.fw.dyn_fin_lifetime: 1
net.inet.ip.fw.dyn_syn_lifetime: 20
net.inet.ip.fw.dyn_ack_lifetime: 300
net.inet.ip.fw.static_count: 262
net.inet.ip.fw.dyn_max: 1
net.inet.ip.fw.dyn_count: 0
net.inet.ip.fw.curr_dyn_buckets: 256
net.inet.ip.fw.dyn_buckets: 1
net.inet.ip.fw.default_rule: 65535
net.inet.ip.fw.verbose_limit: 0
net.inet.ip.fw.verbose: 1
net.inet.ip.fw.debug: 0
net.inet.ip.fw.one_pass: 1
net.inet.ip.fw.autoinc_step: 100
net.inet.ip.fw.enable: 1
net.link.ether.ipfw: 1
net.link.bridge.ipfw: 0
net.link.bridge.ipfw_arp: 0

Thanks,

Daniel
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/133902: [tun] Killing tun0 iface ssh tunnel causes Panic String: page fault

2009-04-23 Thread Mikolaj Golub
The following reply was made to PR kern/133902; it has been noted by GNATS.

From: Mikolaj Golub 
To: bug-follo...@freebsd.org
Cc: freebsd-b...@freebsd.org,  freebsd-net@FreeBSD.org, lsantagost...@gmail.com
Subject: Re: kern/133902: [tun] Killing tun0 iface ssh tunnel causes Panic 
String: page fault
Date: Thu, 23 Apr 2009 17:14:02 +0300

 I have asked Leonardo to provide more info and backtrace.
 
 So here is backtrace:
 
 cobra4# kgdb /boot/kernel/kernel.symbols /var/crash/vmcore.0
 [GDB will not be able to debug user-mode threads:
 /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for details.
 This GDB was configured as "i386-marcel-freebsd".
 
 Unread portion of the kernel message buffer:
 
 
 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00
 fault virtual address   = 0x65656c7b
 fault code  = supervisor write, page not present
 instruction pointer = 0x20:0xc0786e00
 stack pointer   = 0x28:0xe958fac4
 frame pointer   = 0x28:0xe958fac4
 code segment= base 0x0, limit 0xf, type 0x1b
 = DPL 0, pres 1, def32 1, gran 1
 processor eflags= interrupt enabled, resume, IOPL = 0
 current process = 66873 (ssh)
 trap number = 12
 panic: page fault
 cpuid = 1
 Uptime: 54d11h21m54s
 Physical memory: 2023 MB
 Dumping 277 MB: 262 246 230 214 198 182 166 150 134 118 102 86 70 54 38 22 6
 
 #0  doadump () at pcpu.h:195
 195 pcpu.h: No such file or directory.
 in pcpu.h
 (kgdb) backtrace
 #0  doadump () at pcpu.h:195
 #1  0xc0754457 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
 #2  0xc0754719 in panic (fmt=Variable "fmt" is not available.
 ) at /usr/src/sys/kern/kern_shutdown.c:563
 #3  0xc0a4905c in trap_fatal (frame=0xe958fa84, eva=1701145723) at
 /usr/src/sys/i386/i386/trap.c:899
 #4  0xc0a492e0 in trap_pfault (frame=0xe958fa84, usermode=0,
 eva=1701145723) at /usr/src/sys/i386/i386/trap.c:812
 #5  0xc0a49c8c in trap (frame=0xe958fa84) at /usr/src/sys/i386/i386/trap.c:490
 #6  0xc0a2fc0b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
 #7  0xc0786e00 in clear_selinfo_list (td=0xca3fc840) at
 /usr/src/sys/kern/sys_generic.c:1065
 #8  0xc0788efc in kern_select (td=0xca3fc840, nd=8, fd_in=0x284010b8,
 fd_ou=0x284010bc, fd_ex=0x0, tvp=0x0) at
 /usr/src/sys/kern/sys_generic.c:794
 #9  0xc07890de in select (td=0xca3fc840, uap=0xe958fcfc) at
 /usr/src/sys/kern/sys_generic.c:663
 #10 0xc0a49635 in syscall (frame=0xe958fd38) at
 /usr/src/sys/i386/i386/trap.c:1035
 #11 0xc0a2fc70 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:196
 #12 0x0033 in ?? ()
 Previous frame inner to this frame (corrupt stack?)
 (kgdb)
 
 The system panics on
 
 ifconfig tun0 destroy
 
 This issue is related to kern/116837.
 
 Leonardo, you can try the patch attached to that pr.
 
 -- 
 Mikolaj Golub
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/133902: [tun] Killing tun0 iface ssh tunnel causes Panic String: page fault

2009-04-23 Thread Mikolaj Golub
I have asked Leonardo to provide more info and backtrace.

So here is backtrace:

cobra4# kgdb /boot/kernel/kernel.symbols /var/crash/vmcore.0
[GDB will not be able to debug user-mode threads:
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x65656c7b
fault code  = supervisor write, page not present
instruction pointer = 0x20:0xc0786e00
stack pointer   = 0x28:0xe958fac4
frame pointer   = 0x28:0xe958fac4
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 66873 (ssh)
trap number = 12
panic: page fault
cpuid = 1
Uptime: 54d11h21m54s
Physical memory: 2023 MB
Dumping 277 MB: 262 246 230 214 198 182 166 150 134 118 102 86 70 54 38 22 6

#0  doadump () at pcpu.h:195
195 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) backtrace
#0  doadump () at pcpu.h:195
#1  0xc0754457 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xc0754719 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3  0xc0a4905c in trap_fatal (frame=0xe958fa84, eva=1701145723) at
/usr/src/sys/i386/i386/trap.c:899
#4  0xc0a492e0 in trap_pfault (frame=0xe958fa84, usermode=0,
eva=1701145723) at /usr/src/sys/i386/i386/trap.c:812
#5  0xc0a49c8c in trap (frame=0xe958fa84) at /usr/src/sys/i386/i386/trap.c:490
#6  0xc0a2fc0b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc0786e00 in clear_selinfo_list (td=0xca3fc840) at
/usr/src/sys/kern/sys_generic.c:1065
#8  0xc0788efc in kern_select (td=0xca3fc840, nd=8, fd_in=0x284010b8,
fd_ou=0x284010bc, fd_ex=0x0, tvp=0x0) at
/usr/src/sys/kern/sys_generic.c:794
#9  0xc07890de in select (td=0xca3fc840, uap=0xe958fcfc) at
/usr/src/sys/kern/sys_generic.c:663
#10 0xc0a49635 in syscall (frame=0xe958fd38) at
/usr/src/sys/i386/i386/trap.c:1035
#11 0xc0a2fc70 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:196
#12 0x0033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)

The system panics on

ifconfig tun0 destroy

This issue is related to kern/116837.

Leonardo, you can try the patch attached to that pr.

-- 
Mikolaj Golub
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: IPFW MAX RULES COUNT PERFORMANCE

2009-04-23 Thread Bill Moran
In response to Daniel Dias Gonçalves :
> 
> My system is a FreeBSD 7.1R.
> When I add rules IPFW COUNT to 254 IPS from my network, one of my 
> interfaces increases the latency, causing large delays in the network, 
> when I delete COUNT rules, everything returns to normal, which can be ?

Not sure what you mean by the "which can be" part of the question.

But the answer, is "of course latency increases".

Did you expect that this kind of traffic tracking to be free?  It's
not on any operating system or other networking device in existence.
It takes CPU cycles and memory to do the tracking, and flipping bits
in memory takes time.  Therefore, your latency will increase when you
add 512 counters to your rules.  It's the overhead associated with
such logging.

Of course, you don't mention _how_much_ latency increases.  I can
only assume that it's to a degree that you find unacceptable.  You
also don't mention what hardware you're doing this on, but I would
expect that on sufficiently beefy hardware the added latency is low
enough not to be a problem.  However, without those details, I expect
that the following answer is the best you're going to get:  If you
need to so such logging and the latency increase is unacceptable, then
get faster hardware to do it on or concoct some method to do it out
of band so that the latency doesn't slow down the connections.

> My script:
> 
> ipcount.php
> -- CUT --
>  $c=0;
> $a=50100;
> for($x=0;$x<=0;$x++) {
> for($y=1;$y<=254;$y++) {
> $ip = "192.168.$x.$y";
> system("/sbin/ipfw -q add $a count { tcp or udp } from 
> any to $ip/32");
> system("/sbin/ipfw -q add $a count { tcp or udp } from 
> $ip/32 to any");
> #system("/sbin/ipfw delete $a");
> $c++;
> $a++;
> }
> }
> echo "\n\nTotal: $c\n";
> ?>
> -- CUT --
> 
> net.inet.ip.fw.dyn_keepalive: 1
> net.inet.ip.fw.dyn_short_lifetime: 5
> net.inet.ip.fw.dyn_udp_lifetime: 10
> net.inet.ip.fw.dyn_rst_lifetime: 1
> net.inet.ip.fw.dyn_fin_lifetime: 1
> net.inet.ip.fw.dyn_syn_lifetime: 20
> net.inet.ip.fw.dyn_ack_lifetime: 300
> net.inet.ip.fw.static_count: 262
> net.inet.ip.fw.dyn_max: 1
> net.inet.ip.fw.dyn_count: 0
> net.inet.ip.fw.curr_dyn_buckets: 256
> net.inet.ip.fw.dyn_buckets: 1
> net.inet.ip.fw.default_rule: 65535
> net.inet.ip.fw.verbose_limit: 0
> net.inet.ip.fw.verbose: 1
> net.inet.ip.fw.debug: 0
> net.inet.ip.fw.one_pass: 1
> net.inet.ip.fw.autoinc_step: 100
> net.inet.ip.fw.enable: 1
> net.link.ether.ipfw: 1
> net.link.bridge.ipfw: 0
> net.link.bridge.ipfw_arp: 0
> 
> Thanks,
> 
> Daniel
> ___
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


-- 
Bill Moran
Collaborative Fusion Inc.
http://people.collaborativefusion.com/~wmoran/

wmo...@collaborativefusion.com
Phone: 412-422-3463x4023


IMPORTANT: This message contains confidential information and is
intended only for the individual named. If the reader of this
message is not an intended recipient (or the individual
responsible for the delivery of this message to an intended
recipient), please be advised that any re-use, dissemination,
distribution or copying of this message is prohibited. Please
notify the sender immediately by e-mail if you have received
this e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or
error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The
sender therefore does not accept liability for any errors or
omissions in the contents of this message, which arise as a
result of e-mail transmission.

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: IPFW MAX RULES COUNT PERFORMANCE

2009-04-23 Thread Julian Elischer

Daniel Dias Gonçalves wrote:

Hi,

My system is a FreeBSD 7.1R.
When I add rules IPFW COUNT to 254 IPS from my network, one of my 
interfaces increases the latency, causing large delays in the network, 
when I delete COUNT rules, everything returns to normal, which can be ?


My script:


of course adding 512 rules, *all of which hav eto be evaluated* will 
add latency.


you have several ways to improve this situation.

1/ use a differnet tool.
By using the netgraph netflow module you can get
accunting information that may be more useful and less impactful.

2/ you could make your rules smarter..

use skipto rules to make the average packet traverse less rules..

off the top of my head.. (not tested..)

Assuming you have machines 10.0.0.1-10.0.0.254
the rules below have an average packet traversing 19 rules and not 256 
for teh SYN packet and 2 rules for others..
you may not be able to do the keep state  trick if you use state for 
other stuff but in that case worst case will still be 19 rules.


2 check-state
5 skipto 1 ip from not 10.0.0.0/24 to any
10 skipto 2020 ip from not 10.0.0.0/25 to any  # 0-128
20 skipto 1030 ip from not 10.0.0.0/26 to any  # 0-64
30 skipto 240 ip from not 10.0.0.0/27  to any  # 0-32
40 skipto 100 ip from not 10.0.0.0/28  to any  # 0-16
[16 count rules for 0-15]
80 skipto 1 ip from any to any
100 [16 count rules for 16-31] keep-state
140 skipto 1 ip from any to any
240 skipto 300 ip from not 10.0.0.32/28
[16 rules for 32-47] keep-state
280 skipto 1 ip from any to any
300 [16 count rules for 48-63] keep-state
340 skipto 1 ip from any to any
1030 skipto 1240 ip from not 10.0.0.64/27 to any
1040 skipto 1100 ip from not 10.0.0.64/28 to any
   [16 count rules for 64-79] keep-state
1080 skipto 1 ip from any to any
1100 [16 rules for 80-95] keep-state
1140 skipto 1 ip from any to any
1240 skipto 1300 ip from not 10.0.0.96/28 to any
[16 count rules for 96-111] keep-state
1280 skipto 1 ip from any to any
1300 [16 rules for 112-127] keep-state
1340 skipto 1 ip from any to any
2020 skipto 3030 ip from not 10.0.0.128/26 to any
2030 skipto 2240 ip from not 10.0.0.128/28 to any
[16 count rules for 128-143] keep-state
2080 skipto 1 ip from any to any
2100 [16 rules for 144-159] keep-state
2140 skipto 1 ip from any to any
2240 skipto 2300 ip from not 10.0.0.32/28 to any
[16 count rules for 160-175] keep-state
2280 skipto 1 ip from any to any
2300 [16 count rules for 176-191] keep-state
2340 skipto 1 ip from any to any
3030 skipto 3240 ip from not 10.0.0.192/27 to any
3040 skipto 3100 ip from not 10.0.0.192/28 to any
[16 count rules for 192-207] keep-state
3080 skipto 1 ip from any to any
3100 [16 rules for 208-223] keep-state
3240 skipto 1 ip from any to any
3240 skipto 3300 ip from not 10.0.0.224/28 to any
[16 count rules for 224-239] keep-state
3280 skipto 1 ip from any to any
3300 [16 count rules for 240-255] keep-state
3340 skipto 1 ip from any to any

1 #other stuff

in fact you could improve it further with:
1/ either going down to a netmask of 29 (8 rules per set)
or
2/ instead of having count rules make them skipto
so you would have:
3300 skipto 1 ip from 10.0.0.240 to any
3301 skipto 1 ip from 10.0.0.241 to any
3302 skipto 1 ip from 10.0.0.242 to any
3303 skipto 1 ip from 10.0.0.243 to any
3304 skipto 1 ip from 10.0.0.244 to any
3305 skipto 1 ip from 10.0.0.245 to any
3306 skipto 1 ip from 10.0.0.246 to any
3307 skipto 1 ip from 10.0.0.247 to any
3308 skipto 1 ip from 10.0.0.248 to any
3309 skipto 1 ip from 10.0.0.249 to any
3310 skipto 1 ip from 10.0.0.240 to any
3311 skipto 1 ip from 10.0.0.241 to any
3312 skipto 1 ip from 10.0.0.242 to any
3313 skipto 1 ip from 10.0.0.243 to any
3314 skipto 1 ip from 10.0.0.244 to any
3315 skipto 1 ip from 10.0.0.245 to any

thus on average, a packet would traverse half the rules (8).

3/ both the above  so on average they would traverse  4 rules plus one 
extra skipto.


you should be  able to do the above in a script.
I'd love to see it..

(you can also do skipto tablearg in -current (maybe 7.2 too)
which may also be good.. (or not))


julian



___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Interrupts + Polling mode (similar to Linux's NAPI)

2009-04-23 Thread Ed Maste
On Fri, Mar 27, 2009 at 11:05:00AM +, Andrew Brampton wrote:

> 2009/3/27 Luigi Rizzo :
> > The load of polling is pretty low (within 1% or so) even with
> > polling. The advantage of having interrupts is faster response
> > to incoming traffic, not CPU load.
> 
> oh, I was under the impression that polling spun in a tight loop, thus
> using 100% of the processor. After a quick test I see this is not the
> case. I assume it will get to 100% CPU load if I saturate my network.

Yes, polling has a limit on the maximum CPU time it will use, and also
will use less than the limit if there is no traffic.

There are a number of sysctls under kern.polling that control its
behaviour:

* kern.polling.user_frac: Desired user fraction of cpu time

This attempts to reserve at least a specified percentage of available
CPU time for user processes; polling tries to limit its percentage use
to 100 less this value.

* kern.polling.burst: Current polling burst size
* kern.polling.burst_max: Max Polling burst size
* kern.polling.each_burst: Max size of each burst

These three control the number of packets that polling processes per
call / tick.  Packets are processed in batches of each_burst, up to
burst packets total per tick.  The value of burst is capped at
busrt_max.

In order to keep the user_frac CPU percentage available for non-polling,
a feedback loop is used that controls the value of burst.  Each time a
bach of packets is processed, burst is incremented or decremented by 1,
depending on how much CPU time polling actually used.  In addition, if
polling extends beyond the next tick it's scaled back to 7/8ths of the
current value.

Polling was originally implemented as a livelock-avoidance technique
for the single-core case -- the primary goal is to guarantee the
availability of CPU time specified in user_frac.  The current algorithm
does not behave that well if user_frac is set low.  Setting it low is
reasonable if the workload is largely in-kernel (i.e., bridging or
routing), or when running SMP.

Another downside of the current implementation is that interfaces will
be polled multiple times per tick (burst / each_burst times), even if
there are no packets to process.

At work we've developed a replacement polling algorithm that keeps track
of the actual amount of time spent per packet, and uses that as the
feedback to control the number of packets in each batch.

This work requires a change to the polling KPI: the polling handlers
have to return the count of packets actually handled.  My hope is to get
the KPI change committed in time for 8.0, even if we don't switch the
algorithm yet.  Attilio (on CC:) and I will make the patch set for the
KPI change available shortly for comment.


-Ed
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/132734: panic in net/if_mib.c

2009-04-23 Thread Mikolaj Golub
The following reply was made to PR kern/132734; it has been noted by GNATS.

From: Mikolaj Golub 
To: Alexey Illarionov 
Cc: bug-follo...@freebsd.org, Robert Watson 
Subject: Re: kern/132734: panic in net/if_mib.c
Date: Thu, 23 Apr 2009 22:29:36 +0300

 SVN rev 191435 on 2009-04-23 18:23:08Z by rwatson
 
 Merge r191434 from stable/7 to releng/7.2:
 
   In sysctl_ifdata(), query the ifnet pointer using the index only
   once, rather than querying it, validating it, and then re-querying
   it without validating it.  This may avoid a NULL pointer
   dereference and resulting kernel page fault if an interface is
   being deleted while bsnmp or other tools are querying data on the
   interface.
 
   The full fix, to properly refcount the interface for the duration
   of the sysctl, is in 8.x, but is considered too high-risk for
   7.2, so instead will appear in 7.3 (if all goes well).
 
 So, Alexey, can you try upgrading to the latest stable/7 or releng/7.2 or
 apply attached patch to see if this tweak at least eliminates the instant
 panic?
 
 --- if_mib.c   (revision 191424)
 +++ if_mib.c   (working copy)
 @@ -82,11 +82,9 @@
return EINVAL;
 
if (name[0] <= 0 || name[0] > if_index ||
 -  ifnet_byindex(name[0]) == NULL)
 +  (ifp = ifnet_byindex(name[0])) == NULL)
return ENOENT;
 
 -  ifp = ifnet_byindex(name[0]);
 -
switch(name[1]) {
default:
return ENOENT;
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/132734: panic in net/if_mib.c

2009-04-23 Thread Robert Watson
The following reply was made to PR kern/132734; it has been noted by GNATS.

From: Robert Watson 
To: Mikolaj Golub 
Cc: Alexey Illarionov , bug-follo...@freebsd.org
Subject: Re: kern/132734: panic in net/if_mib.c
Date: Thu, 23 Apr 2009 20:33:43 +0100 (BST)

 On Thu, 23 Apr 2009, Mikolaj Golub wrote:
 
 > SVN rev 191435 on 2009-04-23 18:23:08Z by rwatson
 >
 > Merge r191434 from stable/7 to releng/7.2:
 >
 >  In sysctl_ifdata(), query the ifnet pointer using the index only
 >  once, rather than querying it, validating it, and then re-querying
 >  it without validating it.  This may avoid a NULL pointer
 >  dereference and resulting kernel page fault if an interface is
 >  being deleted while bsnmp or other tools are querying data on the
 >  interface.
 >
 >  The full fix, to properly refcount the interface for the duration
 >  of the sysctl, is in 8.x, but is considered too high-risk for
 >  7.2, so instead will appear in 7.3 (if all goes well).
 >
 > So, Alexey, can you try upgrading to the latest stable/7 or releng/7.2 or 
 > apply attached patch to see if this tweak at least eliminates the instant 
 > panic?
 
 I'll try to get the refcount fix into 7-STABLE in about two weeks, assuming no 
 hitches in the 8.x version.  This will close a number of related race 
 conditions, which we've had occasional reports of (and others that we 
 haven't).
 
 Robert N M Watson
 Computer Laboratory
 University of Cambridge
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: Interrupts + Polling mode (similar to Linux's NAPI)

2009-04-23 Thread Attilio Rao
2009/4/23 Ed Maste :
> On Fri, Mar 27, 2009 at 11:05:00AM +, Andrew Brampton wrote:
>
>> 2009/3/27 Luigi Rizzo :
>> > The load of polling is pretty low (within 1% or so) even with
>> > polling. The advantage of having interrupts is faster response
>> > to incoming traffic, not CPU load.
>>
>> oh, I was under the impression that polling spun in a tight loop, thus
>> using 100% of the processor. After a quick test I see this is not the
>> case. I assume it will get to 100% CPU load if I saturate my network.
>
> Yes, polling has a limit on the maximum CPU time it will use, and also
> will use less than the limit if there is no traffic.
>
> There are a number of sysctls under kern.polling that control its
> behaviour:
>
> * kern.polling.user_frac: Desired user fraction of cpu time
>
> This attempts to reserve at least a specified percentage of available
> CPU time for user processes; polling tries to limit its percentage use
> to 100 less this value.
>
> * kern.polling.burst: Current polling burst size
> * kern.polling.burst_max: Max Polling burst size
> * kern.polling.each_burst: Max size of each burst
>
> These three control the number of packets that polling processes per
> call / tick.  Packets are processed in batches of each_burst, up to
> burst packets total per tick.  The value of burst is capped at
> busrt_max.
>
> In order to keep the user_frac CPU percentage available for non-polling,
> a feedback loop is used that controls the value of burst.  Each time a
> bach of packets is processed, burst is incremented or decremented by 1,
> depending on how much CPU time polling actually used.  In addition, if
> polling extends beyond the next tick it's scaled back to 7/8ths of the
> current value.
>
> Polling was originally implemented as a livelock-avoidance technique
> for the single-core case -- the primary goal is to guarantee the
> availability of CPU time specified in user_frac.  The current algorithm
> does not behave that well if user_frac is set low.  Setting it low is
> reasonable if the workload is largely in-kernel (i.e., bridging or
> routing), or when running SMP.
>
> Another downside of the current implementation is that interfaces will
> be polled multiple times per tick (burst / each_burst times), even if
> there are no packets to process.
>
> At work we've developed a replacement polling algorithm that keeps track
> of the actual amount of time spent per packet, and uses that as the
> feedback to control the number of packets in each batch.
>
> This work requires a change to the polling KPI: the polling handlers
> have to return the count of packets actually handled.  My hope is to get
> the KPI change committed in time for 8.0, even if we don't switch the
> algorithm yet.  Attilio (on CC:) and I will make the patch set for the
> KPI change available shortly for comment.

This is the KPI breakage patch:
http://people.freebsd.org/~attilio/Sandvine/polling/polling_kpi.diff

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: CARP as a module; followup thoughts

2009-04-23 Thread Simon L. Nielsen
On 2009.04.21 23:16:58 -0600, Will Andrews wrote:
> Hello,
> 
> I've written a patch (against 8.0-CURRENT as of r191369) which makes
> it possible to build, load, run, & unload CARP as a module, using the
> GENERIC kernel.  It can be obtained from:
> 
> http://firepipe.net/patches/carp-as-module-20090421.diff

I don't have any comments on the specific patch, but with my FreeBSD
end-user hat, being able to have CARP in GENERIC would be really
great.  This would allow me to update my systems which use CARP with
freebsd-update without manually compiling a kernel.

So if the patch doesn't penalize the non-CARP case much, I think it
would be great to have this functionality for now, even if it's not
the way to go in the long run.

-- 
Simon L. Nielsen
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Hi John

2009-04-23 Thread geetika

 Hi John,
Just wanted you to know that yesterday I joined  Socialmoto.
   Actually I keep on travelling and thus like making friends from
   different places so that i can know more about places and I can feel
   comfortable on unknown places because of known friends, but it gonna
   be with some gud people, my friend she gave me your email id .John you
   gottaa join me now and come online , I am online during office
   hours,and i have lots of spare time nowadays, kidding hehe :) .
   To join simply come here.
[1]http://www.socialmoto.com/signup.php?inviteby=geetikai

  When you come here ping me, i will be online if by any sence i am
   not there.

Thanks,

Geetikai.


   --
   
I have attached my details .
 My profile: 
 [2]http://www.socialmoto.com/geetikai
 My album:
 [3]http://www.socialmoto.com/album.php?user=geetikai&album_id=2889
 My group:
 [4]http://www.socialmoto.com/group.php?group_id=829

References

   Visible links
   1. http://www.socialmoto.com/signup.php?inviteby=geetikai
   2. http://www.socialmoto.com/geetikai
   3. http://www.socialmoto.com/album.php?user=geetikai&album_id=2889
   4. http://www.socialmoto.com/group.php?group_id=829

   Hidden links:
   5. http://www.socialmoto.com/sowmyas
   6. http://www.socialmoto.com/group.php?group_id=520
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

IPv6 Ideas

2009-04-23 Thread Nathan Lay
I started playing with IPv6 on my home network with the intent to 
transition over.  While many things work quite well, IPv6 technology in 
general still seems to have some rough edges.


In terms of FreeBSD support, rtadvd and rtsol do not yet support 
(easily? -O option in rtadvd/rtsold) RFC5006 (Router Advertisements 
Option for DNS Configuration) which make it inconvenient to use mobile 
devices (like laptops) on an IPv6 network.  I haven't had much luck with 
net/radvd.
Is this something that could be improved?  I'd be willing to implement 
this support, but I have very little time to spare (writing thesis).


To be backward compatible with IPv4, I had a look at faith and faithd 
and while these tools are ingenius, I don't think they are good enough 
for transitioning to IPv6.  I imagine it is possible to write an 
IPv6->IPv4 NAT daemon that uses faith to capture and restructure 
IPv6/IPv4 packets.  Though, it really seems like this is the firewall's job


A pf rule like:

nat on $inet4_if inet to any from $lan_if:network6 -> ($inet4_if)

would be extremely convenient.  I'm aware pf doesn't support the token 
:network6 ... its just a wishful example.  The IPv6 mapped IPv4 
addresses would be the standard :::0:0/96 prefix.  I imagine that 
this is very difficult to implement but I don't see why it wouldn't be 
possible.  If a firewall supported this kind of NAT, a home network 
could easily deploy IPv6 and be backward compatible.  Well, not quite, I 
guess BIND would have to serve IPv6 mapped IPv4 addresses to IPv6 queries.


Oh yeah, one annoyance on 7-STABLE, it seems like pf is started before 
IPv6 rc.conf options are processed (including IPv6 address assignment) 
breaking inet6 rules that involve $if:network.


Comments?

Other than that, this has been one hell of a fun experience.

Best Regards,
Nathan Lay

___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: panic in soabort

2009-04-23 Thread pluknet
2009/4/23 Robert Watson :
> On Thu, 23 Apr 2009, pluknet wrote:
>
>> Please, give me comment on this. The panic is on 6.2-REL. Is it known to
>> be fixed in the latter releases?
>
> It may well be -- there have been quite significant architectural
> improvements to socket life cycle (etc) between 6.2 and 7.x releases, which
> may well close the race causing this panic.  However, we'll probably need to
> learn a bit more in order to decide for sure.  Could you convert the
> trapping instruction pointer to file+offset in the source code?

Looks I've lost the corresponding kernel.debug. Anyway I have such bt
the first time.


-- 
wbr,
pluknet
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"