Better way to get interface assigned to default route?

Markie mark.cullen at dsl.pipex.com
Sat Sep 4 10:19:47 PDT 2004


Stupid me forgot to forward it back to the list, hit the wrong button.
Sorry :-D

----- Original Message -----
From: "Markie" <mark.cullen at dsl.pipex.com>
To: "Remko Lodder" <remko at elvandar.org>
Sent: Saturday, September 04, 2004 6:15 PM
Subject: Re: Better way to get interface assigned to default route?


| ----- Original Message -----
| From: "Remko Lodder" <remko at elvandar.org>
| To: "Markie" <mark.cullen at dsl.pipex.com>
| Cc: <freebsd-questions at freebsd.org>
| Sent: Saturday, September 04, 2004 5:23 PM
| Subject: Re: Better way to get interface assigned to default route?
|
|
| | Hi Markie,
| |
| | Markie wrote:
| |
| | > Hi all,
| | >
| | > I just now replaced my 350MHz PII home server back to the old 133MHz
PI
| to
| | > see if my crashing problems went away. I have noticed that
| dhclient-script
| | > does a `netstat -rn | grep "^default" | awk {'print $6'}` to get the
| | > interface that the default route is on, in my case my dsl modem is on
| fxp1.
| | > Since this is a slow machine however, this takes a very long time for
| it to
| | > do that command as I seem to have quite alot of...routing entries I
| guess
| | > they are?
| |
| | Okay it seems to me that you want to use DHCP in order to get your ass
| | (machine) in the internet. That seems rather logically, only i use the
| | dhclient <interface> command (dhclient rl0 for example). To me it
sounds
|
| 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 :-)
|
| | rather silly to do a netstat -rn command, checkup the default route
| | interface and then add dhcp stuff into it.. since dhcp sets these
| | default route for me..
| |
| | Perhaps you can try and see if that works quicker :)
| |
| | Cheers
| |
| |
|
| Thanks
|
| | --
| | Kind regards,
| |
| | Remko Lodder                   |remko at elvandar.org
| | Reporter DSINet                |remko at dsinet.org
| | Projectleader Mostly-Harmless  |remko at mostly-harmless.nl
|



More information about the freebsd-questions mailing list