Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jan 2019 10:21:31 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net>
To:        Mark Saad <nonesuch@longcount.org>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Removing an alias can remove routes ?
Message-ID:  <201901141821.x0EILVem036356@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <CAMXt9NZ8VtTETH0_pRBeHZ7P%2Bgocpxa3EypWuJ6P=b8-%2B3VgqA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Mon, Jan 14, 2019 at 11:59 AM Rodney W. Grimes
> <freebsd-rwg@pdx.rh.cn85.dnsmgr.net> wrote:
> >
> > > All
> > >  I ran into a peculiar over the weekend on two FreeBSD 10-STABLE
> > > servers that has me at a loss. Both servers have the same setup  lacp
> > > lagg wtih vlans using the lagg as a parent dev.
> > > On the vlans I have some alias along with the primary ip.  When a
> > > alias was added or deleted routes that sourced out of the primary ip
> > > on that vlan were dropped from the routing table.
> > >
> > >
> > > So for example. I have lagg0.vlan1044 . (both servers are similarly
> > > configured as routers / firewalls )
> > >
> > >   [root@pineapple01 ~]# ifconfig lagg0.vlan1044
> > >   lagg0.vlan1044: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
> > > metric 0 mtu 1500
> > >           options=300<TSO4,TSO6>
> > >           ether 00:0f:53:20:9b:d0
> > >           inet6 fe80::20f:53ff:fe20:9bd0%lagg0.vlan1044 prefixlen 64
> > > scopeid 0x80
> > >           inet 10.24.213.84 netmask 0xffffffe0 broadcast 10.24.213.95
> > >           inet 10.24.212.129 netmask 0xffffffff broadcast 10.24.212.129
> > >           inet 10.24.213.163 netmask 0xfffffff0 broadcast 10.24.213.175
> > >           inet 10.24.213.76 netmask 0xffffffe0 broadcast 10.24.213.95
> > >           inet 10.24.213.94 netmask 0xffffffe0 broadcast 10.24.213.95
> > >           inet 10.24.213.89 netmask 0xffffffe0 broadcast 10.24.213.95
> > >           inet 10.24.213.75 netmask 0xffffffe0 broadcast 10.24.213.95
> > >           nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> > >           media: Ethernet autoselect
> > >           status: active
> > >           vlan: 1044 parent interface: lagg0
> > >
> > > [root@pineapple01 ~]# netstat -nr4Wl
> > > ...
> > >   192.168.144.32/27   10.24.213.65     UGS           0   1500 lagg0.vlan1044
> > >   192.168.144.96/27   10.24.213.65     UGS           0   1500 lagg0.vlan1044
> > >   192.168.23.0/24     10.24.213.65     UGS           0   1500 lagg0.vlan1044
> > >   192.168.120.0/21   10.24.213.65     UGS           0   1500 lagg0.vlan1044
> > >
> > >
> > > So I wanted to remove the alias ended in 163 and fix its netmask back to /32
> > >
> > > I ran this
> > >
> > > ifconfig lagg0.vlan1044 inet 10.24.213.163/24 -alias && ifconfig
> >                                                       ^ delete?
> 
> I use -alias which is an alias of -delete
> 
> >
> > > lagg0.vlan1044 inet 10.24.213.163/32 -alias

This is also a delete?
I am concerend that what you think the command you
typed is not actually the command you typed and what
you did actually type has the bad side effects.


> > > and shortly there after all of the routes that went out lagg0.vlan1044
> > > were gone . I quickly undid my change and put the routes back but I am
> > > not sure what caused this ? Anyone have any ideas  I have done this in
> > > the past with out issue and I am unsure whats changed other then the
> > > box have a long up time of 463 days .
> >
> > I believe what happened here is that 10.24.213.163/24 when reduced
> > to a network address is 10.24.213.0/24, which probably got sent to
> > the route removal code, which since the route to that covers the
> > gateway at 10.24.213.65 that gateway was no longer accessable
> > so all routes via it got removed.
> >
> 
> ok I see what you are saying and it makes sense to me; do you know why
> the routing code does not see the primary ip ( the non-alias one) is
> still
> live on the interface before deciding to drop the routes associated with it ?

It should, but I can not see enough of your routing table to
guess as to exactly what the kernel did when you removed
this interface.  The routes I see above all would go through
the interface you showed you removed, thus they would all
go away.

-- 
Rod Grimes                                                 rgrimes@freebsd.org



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