cvs commit: src/sys/net if.c

Maxim Konovalov maxim at macomnet.ru
Wed Jun 21 08:06:47 UTC 2006


On Wed, 21 Jun 2006, 06:02-0000, Gleb Smirnoff wrote:

> glebius     2006-06-21 06:02:35 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/net              if.c
>   Log:
>   - First initialize ifnet, and then insert it into global
>     list.
>   - First remove from global list, then start destroying.
>
>   PR:             kern/97679
>   Submitted by:   Alex Lyashkov <shadow itt.net.ru>
>   Reviewed by:    rwatson, brooks

FWIW, even with Yar's recent commit to if_vlan.c it still panics.  I
told Alex about that.  A testcase below.  Run it for several minutes.

#11 0xc05e1a4a in calltrap () at /usr/src/sys/i386/i386/exception.s:138
#12 0xc05608cb in in6ifa_ifpwithaddr (ifp=0xdeadc0de, addr=0xc39b5218)
at /usr/src/sys/netinet6/in6.c:1862
#13 0xc055e81d in in6_control (so=0xc2bbda60, cmd=0xc1206949,
data=0xc39b5200 "vlan2349", ifp=0xc3973000,
    td=0xc39b5210) at /usr/src/sys/netinet6/in6.c:459
#14 0xc052c43c in ifioctl (so=0xc2bbda60, cmd=0xc1206949,
data=0xc39b5200 "vlan2349", td=0xc2afd870)
    at /usr/src/sys/net/if.c:1530
#15 0xc04efb47 in soo_ioctl (fp=0xdeadc0de, cmd=0xc1206949,
data=0xc39b5200, active_cred=0xc2e64700, td=0xc2afd870)
    at /usr/src/sys/kern/sys_socket.c:214
#16 0xc04ea810 in ioctl (td=0xc2afd870, uap=0xd56a7d04) at file.h:265

#!/bin/sh

create() {
	for i in `jot 4000`
	do
		ifconfig vlan$i create
		ifconfig vlan$i vlan $i vlandev rl0
		ifconfig vlan$i 10.10.10.10/32
	done
}

destroy() {
	for i in `jot 4000`
	do
		ifconfig vlan$i destroy
	done
}

show() {
	while :; do ifconfig >/dev/null 2>&1; done
}

show &

while :
do
    create
    destroy
done
%%%

-- 
Maxim Konovalov


More information about the cvs-src mailing list