Re: [RFC] handle return codes of inetaddr_notifiers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 02, 2004 at 02:50:07PM +0100, Thomas Spatzier wrote:
> 
> You're absolutely right. Normally the hardware should not care about
> IP addresses but just give us ethernet packets, so the stack can sort out.
> But unfortunately, this is a bit different on IBM zSeries mainframes. We
> have a virtualization layer at IP level. Several operating system images
> share one physical network card. Each OS registers its IP address with the
> card. Then the card gives received IP packets with this IP address to the
> respective OS image.
> So we _have_ to register IP addresses with our hardware; otherwise we
> never get our packets.

I understand now. Still, it's not an error to assign an IP to an
interface that cannot actually be virtualised on the hardware.

For example, say I assign one IP and create a tunnel using that IP,
packets coming in through that tunnel may be directed to that invalid
IP. Just like nobody stops me giving my laptop the same IP as
microsoft.com, why should the kernel (or driver) stop you assigning IPs
that are never going to get any traffic anyway. Here I'm thinking of
the supervisor (I hope I'm using the right word here) as a firewall
stopping you seeing things you shouldn't be.

My point is that while it's a failure from the driver point of view,
it's not necessarily an illegal operation from the user point of view.
Maybe the user is waiting the someone to reconfigure the supervisor so
that traffic will start appearing.

> That's the big question. I thought about deregistering the IP address in
> the stack. A sort of a rollback of what inet_insert_ifa did.

Print a warning and forget about it. People will notice when they're
not getting any traffic.

Or put another way, maybe you can return an error code, but rolling
back the change I think is wrong.

Hope this helps,
-- 
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Attachment: pgpVv3JhMauAK.pgp
Description: PGP signature


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux