On 08/06/16(Wed) 12:44, Gerhard Roth wrote:
> On Wed, 8 Jun 2016 11:31:41 +0100 Stuart Henderson <[email protected]> 
> wrote:
> > On 2016/06/08 11:59, Gerhard Roth wrote:
> > > On Wed, 8 Jun 2016 10:54:00 +0100 Stuart Henderson <[email protected]> 
> > > wrote:
> > > > On 2016/06/08 11:48, Gerhard Roth wrote:
> > > > > 
> > > > > Currently I do this to get the interface up and running as my default
> > > > > route:
> > > > > 
> > > > >       # ifconfig umb0 pin xxxx apn xxxx
> > > > >       # ifconfig umb0 inet 0.0.0.1 0.0.0.2
> > > > >       # route delete default
> > > > >       # route add -ifp umb0 default 0.0.0.2
> > > > >       # ifconfig umb0 up
> > > > > 
> > > > > Yes it seem strange that the 'route add -ifp ubm0' needs an IP 
> > > > > address,
> > > > > but that's the way it is. That's why I need the fake IP address on
> > > > > the interface right from the beginning. Otherwise the 'route add'
> > > > > would fail.
> > > > 
> > > > Ah yes this is a known strangeness - the address in the "route add"
> > > > can be anything at all though, it doesn't need to be configured on
> > > > the interface.
> > > 
> > > Well, to me it looks as if we need to put it on the interface:
> > > 
> > >   # route add -ifp umb0 default 0.0.0.2
> > >   route: writing to routing socket: Network is unreachable
> > >   add net default: gateway 0.0.0.2: Network is unreachable
> > >   # ifconfig ubm0 inet 0.0.0.1 0.0.0.2
> > >   # route add -ifp umb0 default 0.0.0.2
> > >   add net default: gateway 0.0.0.2
> > > 
> > 
> > hmm... I wonder if that check in route addition can be relaxed,
> > at least for the case where the -ifp interface is point-to-point.
> > 
> > I think you'll find that you *can* use an address other than
> > the one configured on the interface though.
> > 
> > $ ifconfig pppoe1                                                           
> >                            
> > pppoe1: 
> > flags=48851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,INET6_NOPRIVACY> mtu 
> > 1500 llprio 3
> >         index 18 priority 0
> >         dev: em1 state: session
> >         sid: 0x1378 PADI retries: 1 PADR retries: 0 time: 1d 12:05:38
> >         sppp: phase network authproto chap 
> >         groups: pppoe zen egress
> >         status: active
> >         inet6 fe80::20d:b9ff:fe41:7e48%pppoe1 ->  prefixlen 64 scopeid 0x12
> >         inet6 2a02:8011:d00e:3:225:90ff:fec0:77b5 ->  prefixlen 64
> >         inet 82.68.199.142 --> 62.3.84.27 netmask 0xffffffff
> > 
> > # route delete default              # make sure it's cleared:
> > route: writing to routing socket: No such process
> > delete net default: not in table
> > 
> > # route add default -ifp pppoe1 1.2.3.4
> > add net default: gateway 1.2.3.4
> 
> Ah, I can reproduce that: using an arbitrary IP address here succeeds if
> the interface is UP but fails if it is down.

Being UP or DOWN should not matter.  However the interface needs to have
an address.

That's a limitation I'd like to remove, this would also simplify most of
the code dealing with stale ifas.

Reply via email to