Date: Tue, 30 Jan 2001 10:37:42 +0100 (CET) From: Harti Brandt <brandt@fokus.gmd.de> To: Julian Elischer <julian@elischer.org> Cc: julian@freebsd.org, freebsd-net@freebsd.org, archie@freebsd.org Subject: Re: netgraph: problem in ng_base Message-ID: <Pine.BSF.4.21.0101301025520.5981-100000@beagle.fokus.gmd.de> In-Reply-To: <3A768232.282B28E6@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 30 Jan 2001, Julian Elischer wrote: JE>using ngctl and 'hole' nodes in this configuration I cannot make this happen. I tried the following two things: ----------------------------------------------------- 500 [root] (beagle) /tmp # ngctl + mkpeer sscfu mine upper + name mine sscf + mkpeer sscf: sscop lower upper + name sscf:lower sscop + connect sscop: fatm0: lower sig + list There are 5 total nodes: Name: sscop Type: sscop ID: 00000011 Num hooks: 2 Name: sscf Type: sscfu ID: 00000010 Num hooks: 2 Name: ngctl12169 Type: socket ID: 0000000f Num hooks: 1 Name: fatm1 Type: atm ID: 00000002 Num hooks: 0 Name: fatm0 Type: atm ID: 00000001 Num hooks: 1 + show sscf: Name: sscf Type: sscfu ID: 00000010 Num hooks: 2 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- lower sscop sscop 00000011 upper upper ngctl12169 socket 0000000f mine + show sscop: Name: sscop Type: sscop ID: 00000011 Num hooks: 2 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- lower fatm0 atm 00000001 sig upper sscf sscfu 00000010 lower + msg fatm0: cpcsinit {name="sig" aal=5 vci=5} Rec'd response "cpcsinit" (4) from "[1]:": Args: {} + Rec'd data packet on hook "mine": 0000: 01 00 00 00 .... + shutdown sscf: + shutdown sscop: + list There are 3 total nodes: Name: ngctl12169 Type: socket ID: 0000000f Num hooks: 0 Name: fatm1 Type: atm ID: 00000002 Num hooks: 0 Name: fatm0 Type: atm ID: 00000001 Num hooks: 0 + ^C The cpcsinit opens the ATM VCI and sends the AAL5 frames out the named hook. The data is an SSCOP begin PDU. In /var/log/messages I have: Jan 30 10:15:00 beagle /boot/kernel/kernel: changing state from SSCOP_OUT_DIS_PEND to SSCOP_IDLE Jan 30 10:15:00 beagle /boot/kernel/kernel: disconnect 0xc2c54840 from 0xc2c94d00 (invalid) refs=3 flags=9 Jan 30 10:15:00 beagle /boot/kernel/kernel: ng_sscop_shutdown: 0xc2c94d00 refs=2 flags=9 Jan 30 10:15:00 beagle /boot/kernel/kernel: Accessing freed node node: ID [11]: type 'sscop', 0 hooks, flags 0x9, 0 refs, : Jan 30 10:15:00 beagle /boot/kernel/kernel: Last active @ /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c, line 735 Jan 30 10:15:00 beagle /boot/kernel/kernel: problem discovered at file /usr/src/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c, line 2436 ----------------------------------- The 2nd test is exactly the same, except I do not do the cpcsinit: + mkpeer sscfu mine upper + name mine sscf + mkpeer sscf: sscop lower upper + name sscf:lower sscop + connect sscop: fatm0: lower sig + list There are 5 total nodes: Name: sscop Type: sscop ID: 00000014 Num hooks: 2 Name: sscf Type: sscfu ID: 00000013 Num hooks: 2 Name: ngctl12184 Type: socket ID: 00000012 Num hooks: 1 Name: fatm1 Type: atm ID: 00000002 Num hooks: 0 Name: fatm0 Type: atm ID: 00000001 Num hooks: 1 + show sscf: Name: sscf Type: sscfu ID: 00000013 Num hooks: 2 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- lower sscop sscop 00000014 upper upper ngctl12184 socket 00000012 mine + show sscop: Name: sscop Type: sscop ID: 00000014 Num hooks: 2 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- lower fatm0 atm 00000001 sig upper sscf sscfu 00000013 lower + shutdown sscf: + shutdown sscop: + list There are 3 total nodes: Name: ngctl12184 Type: socket ID: 00000012 Num hooks: 0 Name: fatm1 Type: atm ID: 00000002 Num hooks: 0 Name: fatm0 Type: atm ID: 00000001 Num hooks: 0 + ^D Now everything is ok. In /var/log/messages I have: Jan 30 10:18:42 beagle /boot/kernel/kernel: disconnect 0xc2c54740 from 0xc2c94c00 (valid) refs=4 flags=0 Jan 30 10:19:12 beagle /boot/kernel/kernel: disconnect 0xc2c54940 from 0xc2c94c00 (invalid) refs=4 flags=9 Jan 30 10:19:12 beagle /boot/kernel/kernel: ng_sscop_shutdown: 0xc2c94c00 refs=3 flags=9 Note, that the reference count is now 3 as I expected it (and as I understand your explanation). The same experiment with two holes and the cpcsinit also works whether I do it slowly or fast. NB: the ng_atm node switches the peer hook to queueing. [later] If I use 'xl0: lower' instead of the fatm0 it's also ok. Perhaps it is rather a problem in ng_sscop ??? Can't really understand what happens. harti -- harti brandt, http://www.fokus.gmd.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.gmd.de, harti@begemot.org, lhbrandt@mail.ru To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101301025520.5981-100000>