Date: Sun, 5 Sep 2004 01:08:25 +0100 From: "Markie" <mark.cullen@dsl.pipex.com> To: "Remko Lodder" <remko@elvandar.org>, <freebsd-questions@freebsd.org> Subject: Re: Better way to get interface assigned to default route? Message-ID: <006e01c492dc$7bceb020$f800000a@laptop> References: <001701c492a2$c806c2a0$f800000a@laptop> <413A3F0E.3060508@elvandar.org>
next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message ----- From: "Remko Lodder" <remko@elvandar.org> To: "Markie" <mark.cullen@dsl.pipex.com> Sent: Saturday, September 04, 2004 11:17 PM Subject: Re: Better way to get interface assigned to default route? | Markie wrote: | | > Suggesting I do `dhclient fxp1`? That's exactly my problem though :-) That | > uses /sbin/dhclient-script to do all of it's work, right? dhclient-script | > tries to figure out the interface... or something to do with a default | > route by doing that netstat -rn command. | > | > dhclient-script snippet... | > ---- | > if [ x$alias_subnet_mask != x ]; then | > alias_subnet_arg="netmask $alias_subnet_mask" | > fi | > | > # Get the interface to which our default route is bound to. | > if [ -x /usr/bin/netstat ]; then | > if_defaultroute=`/usr/bin/netstat -rn \ | > | /usr/bin/grep "^default" \ | > | /usr/bin/awk '{print $6}'` | > else | > if_defaultroute="x" | > fi | > | > if [ x$reason = xMEDIUM ]; then | > eval "ifconfig $interface $medium" | > eval "ifconfig $interface inet -alias 0.0.0.0 $medium" >/dev/null 2>&1 | > sleep 1 | > exit_with_hooks 0 | > fi | > --- | > | > See it? Basically I am after some sort of command that might be able to get | > the interface with the default route assigned but quicker than netstat -rn | > since I have alot of routing table entries. Like I said, if there's no | > other way I will just have to fix it so it's if_defaultroute = "fxp1". | > | > I've already had to make some changes to the script to get it to work with | > my modem anyway so it won't hurt me :-) I was just wondering if there was | > any other nice way of doing it so that say if I changed the internet | > interface to a vx card I wouldn't have to try and remember to change that | > to vx0 (I _will_ forget I made the change :-) | > | Hi Remko :-) | Well, how come there is a default route if you use dhcp afterwards? my | default route is delivered through dhcp.. so i cannot reside on a | default entry because i dont have any... That's why i think that the | default grep is a little bit weird actually, since most hosts dont have | any routes at all at that point in time and then start dhclient <iface> | I'm no expert on it all, but... the command is in the code and it's certainly executing that command :-) I see it in top taking up alot of CPU time every few minutes! I imagine it's doing it every few minutes because my modem likes to send dhcp updates frequently, so if my connection drops or ip changes I don't have to wait an hour... day...however long for the interface to be updated. | And to be more exact: | | in /etc/rc.conf i have | ifconfig_em0="DHCP" which starts ``dhclient em0'' for me... i never used | dhclient-script, and didn't read it carefully yet to understand it. | Yeah, I have ifconfig_fxp1="DHCP" :-) dhclient uses dhclient-script to do all of it's work, I guess you could call dhclient a wrapper of sorts? Like I said, I had to make some changes to this script, although I have never execute it directly, to stop FreeBSD from locking up on an IP address change and to actually even get it to be able to communicate with my modem (ADSLNation X-Modem CE), something along the lines of deleting the default route straight after it had added it, and then readding it; don't ask me why this solved the problem but it did! If anyone is interested in that I can mail the changes I made and describe my setup or something. Infact, to back that up further here's a snippet from the dhclient-script man page :-D ----- dhclient-script(8) dhclient-script(8) NAME dhclient-script - DHCP client network configuration script DESCRIPTION The DHCP client network configuration script is invoked from time to time by dhclient(8). ----- I guess you probably just don't notice because you have a fast machine and not many routing table entries? | Perhaps this explains a bit... | | or i just dont get the question yet { have a long weekend, tired etc ;) } :-) No worries, I am very grateful for your reply! | | Cheers dude! | | -- | Kind regards, | | Remko Lodder |remko@elvandar.org | Reporter DSINet |remko@dsinet.org | Projectleader Mostly-Harmless |remko@mostly-harmless.nl
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?006e01c492dc$7bceb020$f800000a>