Subject: Re: Interface specification in route(8)
To: None <tech-net@netbsd.org>
From: Lucio de Re <lucio@proxima.alt.za>
List: tech-net
Date: 02/23/1999 14:19:43
According to Ignatios Souvatzis:
>
> IP version 4 point to point links, be it PPP or SLIP, be it 4.3BSD or 4.4BSD
> derived systems, semantically do not create a network of their own.
>
Accepted, although, for example, my Novell MPR (which is admittedly
pretty ancient, but seems built to the most rigid standards) expects
the ppp link to be its own subnet - doesn't do unnumbered or any
approximations thereto.
> The kernel routes by looking wether the single remote address matches, when
> it finds an interface with the POINTTOPOINT bit on.
>
Does a point-to-point link get treated exceptionally, in this respect,
or is this merely a generalisation of existing kernel semantics?
> This is 99% of a real unnumbered interface: you can share the IP address of
> your Ethernet as your local address.
>
That really appealed to me, but then it is not clear from the
documentation that I need to specify a 255.255.255.255 mask because
otherwise pppd adopts not only the Ethernet address, but also the
netmask (I'll SEND-PR that, if I can find a way to fix it).
> I dont know exactly what happens when you ifconfig (or the ioctl pppd does)
> a POINTTOPOINT interface to a non-FFFFFFFF netmask. Apparently, it creates
> a routing table entry with that netmask, which lateron causes trouble. I've
> witnessed this all the time since I took over the PPP FAQ. Just dont do it.
>
Happens by itself, no cooperation from me :-) And it does break, as
you suggest, and it shouldn't be done. But it is probably OK for
numbered point-to-point links. I do use it in Cape Town, with slightly
odd results:
ppp0 1500 <Link> 56200 3 65443 0 0
ppp0 1500 196.28.218.13 196.28.218.139 56200 3 65443 0 0
ppp1 576 <Link> 17343 4 16152 0 0
ppp1 576 196.28.218.88 196.28.218.90 17343 4 16152 0 0
where
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 196.28.218.139 --> 196.2.62.101 netmask 0xfffffffc
ppp1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 576
inet 196.28.218.90 --> 196.28.218.89 netmask 0xfffffffc
both interfaces are intended to have their own subnet, I'm not sure
when the first one relinquished the 196.2.62.102 in favour of
196.28.218.139 within 196.28.218.136 (!?)). Here, the netmask is
explicitly set and the default result is positively evil (.139 is the
broadcast in .136/30)
Also, there's no guarantee that pppd will choose the "right" Ethernet
interface. We may be lucky in Cape Town that it wasn't ne1 or ne2 it
chose as its number, after being told (Ha! I think our ISP has changed
parameters) to use its own.
In fact, in the first instance, we do not specify or request the IP
numbers for the subnet, our ISP presumably specifies their end, whereas
in the past it specified both ends.
> Regards,
> Ignatios
Instructive, indeed, but there are definitely defects that could be
eliminated for the sake of the principle of least surprise.
Also, while I'm asking, I did ask once how to make sure that ppp0 was
associated with a particular tty and ppp1 with another, and suggestions
were made that I distractedly lost. Is there an archive I can seek
these responses, or does someone have a simple answer to this?
++L