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 currently, 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.