Re: Getting Slink compatible with Linux-2.2.0
On Tue, Jan 26, 1999 at 04:40:35PM -0700, Jason Gunthorpe wrote:
> On Tue, 26 Jan 1999, Gergely Madarasz wrote:
> > > But is that specific problem Debian/slink related..? That is, does it work
> > > correctly with potato?
> > No, it does not work correctly with potato either. It seems to be a
> > general incompatibility with 2.2
> 2.2 did something bizzar to how the packet filter code needs to work,
> nothing that used that mechanism will work anymore. Anyone made sure that
> libpcap works?
libpcap works, insofar as tcpdump works.
bootpc and older DHCP daemons broke not because the packet filter code
changed (it did, but it's backwards compatible), but because 2.2 kernels act
differently than 2.0 kernels with _normal_ TCP/IP sockets when interfaces
have their IP address set to zero.
Fun experiment on 2.0 kernels:
[configure your ethernet or PPP link]
ifconfig dummy0 0.0.0.0 up
Won't work (dummy0 interferes with eth0 and ppp0, regardless of your routing
table!), because 2.0 had a really weird hack for 0.0.0.0 addresses in order
to make DHCP and bootp work. This hack has been removed, and the code is
now more strict (if an address 0.0.0.0 is set on an interface, that
interface has IPv4 entirely disabled).
The fix is to change bootpc and DHCP daemons to use RAW sockets and generate
their own IP headers, since they need oddball headers anyway. I believe the
DHCP daemons have already been fixed.