Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 May 1999 23:47:57 +0200
From:      Gary Jennejohn <garyj@peedub.muc.de>
To:        Wilko Bulte <wilko@yedi.iaf.nl>
Cc:        freebsd-isdn@freebsd.org
Subject:   Re: I want isp0 *down* after a reboot.. <sigh> 
Message-ID:  <199905082147.XAA33893@peedub.muc.de>
In-Reply-To: Your message of "Sat, 08 May 1999 17:54:47 %2B0200." <199905081554.RAA47818@yedi.iaf.nl> 

next in thread | previous in thread | raw e-mail | index | archive | help
Wilko Bulte writes:
>As Poul-Henning Kamp wrote ...
>> In message <199905081401.QAA33265@peedub.muc.de>, Gary Jennejohn writes:
>> 
>> >>Still does not explain why in /etc/rc.network:
>> >>
>> >>+ ifconfig isp0 inet 0.0.0.0 0.0.0.1 link1 down
>> >>ifconfig: ioctl (SIOCAIFADDR): File exists
>> >>
>> >>occurs.
>> >>
>> >
>> >look at if_spppsubr.c and all should become clear.
>> 
>> If it does to you, would you mind taking over the maintenance of it ?
>
>Well, it does not to me. But I don't pretend to know much on the
>intricacies of network code. I would appreciate it if somebody who
>does understand it explains it in layman's terms.
>

OK, here's what happens AFAICT.

when the interface gets ifconfig'd some routine in if_spppsubr.c ends up
(somehow :) calling sppp_open_event. You can see this in the log if you
set debugging on the interface. For example, from my log:
	Apr 21 21:12:17 peedub /kernel.timo: isp1: lcp open(initial)

sppp_open_event calls cp->tls, in this case that's sppp_lcp_tls. Now,
that's where the callout happens, because in sppp_lcp_tls we have
	/* Notify lower layer if desired. */
	if (sp->pp_tls)
		(sp->pp_tls)(sp);
	else
		(sp->pp_up)(sp);

sp->pp_tls points at i4bisppp_tls, which calls i4b_l4_dialout. Voila !
A callout happens. Simple ;-)

It could be argued that this call should not be made. Or, that i4b_l4_dialout
should maybe test the interface status in sp to decide whether a dialout
should really happen.

Obviously, if isdnd is started *after* the interfaces are ifconfig'd, no
callout is possible.

So, do not start isdnd until all the interfaces have been ifconfig'd ! ;)

---
Gary Jennejohn
Home - garyj@muc.de
Work - garyj@fkr.dec.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905082147.XAA33893>