Messages in this thread | | | Subject | Re: [PATCH] bootp arp corruption fix (was Re: 2.2.0 Bug summary) | From | David Wragg <> | Date | 04 Jan 1999 17:04:13 +0000 |
| |
Martin Mares <mj@ucw.cz> writes: > > My patch to reintroduce 2.0-alike 0.0.0.0 ip address behaviour happens > > to fix this. The main point is to allow bootpc/bootp setup scripts > > that work with 2.0 to work with 2.1, and as a side effect it > > simplifies the ip autoconfiguration via bootp code, fixing this bug. > > I've not actually tried it, but after some minutes of gazing at the code > it seems to me that it it's just a coincidence it fixes this bug. The arp_rcv > function in net/ipv4/arp.c calls ip_route_input() and replies to the request > whenever rt_type is RTN_LOCAL. The routing table lookup ends up in > ip_route_input_slow() and gets accepted by the condition you added, but > rt_type is set according to res.type which is in this case _uninitialized_.
Argghh. Thanks for spotting this. Yes, I had intended rt_type to be RTN_LOCAL, in which case the ARP bug remains.
Linus: Please revert the patch.
> As Alexey has already said, handling BOOTP by adding special cases to > the IP route code is plain wrong and going to produce disastrous effects > like the `reply to all ARP packets' bug.
I see it as maintaining the 0.0.0.0 special case that used to be there rather than adding a new one. That bug can still be fixed easily. But if those with far more experience in these areas than myself see the trade-off differently, I guess it's time to hack bootpc to use raw IP sockets instead.
> I've already rewritten the kernel IP autoconfiguration to send and receive > packets on its own and it already waits in DaveM's queue of networking patches.
Then I look forward to the networking resync.
Dave Wragg
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |