netdev
[Top] [All Lists]

Re: [PATCH] Change MAC without bringing interface down

To: "David S. Miller" <davem@xxxxxxxxxx>
Subject: Re: [PATCH] Change MAC without bringing interface down
From: jamal <hadi@xxxxxxxxxx>
Date: 18 Aug 2003 08:13:44 -0400
Cc: Tommi Virtanen <tv@xxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <20030818041911.358c3437.davem@redhat.com>
Organization: jamalopolis
References: <20030818091312.GA4889@lapdog> <20030818041911.358c3437.davem@redhat.com>
Reply-to: hadi@xxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
Editing the header may be the better approach if you have a few hundred 
hhs already inserted (this was the issue i was faced with when VRRP was
failing over when i was playing with it). I tried to flush the cache but
it took longer to recover it. 
The patch posted may not be the better way to do this. It should be per
neighbour table owner - at the moment only ARP and ndisc really care
about this. 
Heres an old patch i have circa 2.4.2 that i have been sitting on
planning to convert it to latest kernels; the ndisc portion is missing;
If this is found agreeable Tommi you can clean it up and bring it to par
with latest kernel

cheers,
jamal


On Mon, 2003-08-18 at 07:19, David S. Miller wrote:
> On Mon, 18 Aug 2003 12:13:12 +0300
> Tommi Virtanen <tv@xxxxxxxxxx> wrote:
> 
> >     Here's a patch that
> > 
> >     1. makes eth_header_cache_update also update the source MAC in
> >        hh_cache.
> > 
> >     2. adds a NETDEV_CHANGEADDR notifier in net/core/neighbour.c
> >        that walks through all the neighbour entries and updates
> >        the hh_cache's for all the neighbour entries related to
> >        given device.
> > 
> >     3. adds neighbour_init() to allow registration of said notifier.
> 
> I would suggest to fix this by instead flushing the hh
> entries (just like neigh_destroy() does).
> 
> This way, we don't have to fix up every single header cache
> implementation, that's painful :(
> 
> 

Attachment: neighp
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>