netdev
[Top] [All Lists]

[PATCH] IFA_F_NO_NDISC (for vrrp)

To: netdev@xxxxxxxxxxx
Subject: [PATCH] IFA_F_NO_NDISC (for vrrp)
From: Jerome Etienne <jetienne@xxxxxxxxxx>
Date: Sun, 4 Jun 2000 18:06:51 -0400
Reply-to: jetienne@xxxxxxxxxx
Sender: owner-netdev@xxxxxxxxxxx
User-agent: Mutt/1.0i
Hi,

This patch adds a bit in in_ifaddr.ifa_flag (IFA_F_NO_NDISC). If it is
set, the host doesn't answer to the neighbour's discovery request
for this address. Currently it is honored only by ipv4/arp.

This feature is usefull to support VRRP(rfc2338) which requires
to answer the ARP request for a 'virtual ip' with the proper
'virtual MAC'(rfc2338 section 8.2). So to potentially answer
a particular MAC for a particular IP, and not with the primary
MAC. As far as i know, it is currently impossible because linux 
assumes to have a single MAC per physical interface. My plan is
to prevent the kernel from answering for the virtual ip addresses
and to answer from userspace.

It is the less intrusive solution i found to support several
'virtual routers' per physical interface. My vrrpd implementation
runs entirely in userspace but without this feature it can't support
several virtual routers per physical interface.

I am not sure that read_lock(&in_dev->lock) in inet_ifa_bylocal()
is the good way to lock but it seems the most reasonable to me.
please correct me if needed.

The patch is in 2 parts:
        o the kernel 2.4.0-test1 modifications
        o the iproute2-2.2.4-now-ss000305 modifications to set/report
          the no_ndisc bit from userspace.


Attachment: patch_no_ndisc.kernel
Description: Text document

Attachment: patch_no_ndisc.iproute2
Description: Text document

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