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

Re: PPP for Hurd requirements



On Sun, Aug 06, 2000 at 04:42:44PM -0400, Roland McGrath wrote:
> > Could one set up a tree like this:
> > 
> > pfinet
> >  +-- load balancing channel
> >  |    +-- network device channel
> >  |         +-- Mach eth0
> >  |    +-- network device channel
> >  |         +-- Mach eth1
> >  +-- PPP channel
> >       +-- serial port channel
> >            +-- Mach com0
> > 
> > with commands like:
> > 
> > settrans -c /dev/eth0 /hurd/channelio --channel-type=device eth0
> > settrans -c /dev/eth1 /hurd/channelio --channel-type=device eth1
> > settrans -c /dev/eth0+1 /hurd/channelio --balance /dev/eth0 /dev/eth1
> > settrans -c /dev/com0 /hurd/channelio --channel-type=device com0
> > settrans -c /dev/ppp0 /hurd/ppp /dev/com0
> > settrans -c /servers/socket/2 /hurd/pfinet \
> > 	/dev/com0ppp --address=10.0.0.1 \
> > 	/dev/eth0+1 --address=172.16.0.1
> > 
> > Then, when pfinet starts up, it would read all the channel
> > information and feed it to libchannel, where PPP would be
> > implemented.  If a channel refused file_get_channel_info, then
> > libchannel would access it as a file.
> 
> You have the basic idea.  Any answer more detailed would be made up on the
> spot, since I haven't thought through the implementation fully.  (As your
> example is written, it suggests that /dev/eth0 and /dev/ppp0 are devices
> that deliver IP packets, while I would expect them to deliver Ethernet and
> PPP frames respectively.  pfinet would then need to understand PPP framing.
> So that actual construction will probably be a little different when we
> work out the details.)

Why not unify all the different kind of link level devices with a "tun" 
interface as suggested before. That way pfinet need know nothing about what 
kind of device it's receiving frames from. And there should be a translator
that sits on top of the eth and ppp intefaces translating the incoming frames 
into tun frames. Then once pfinet is fixed and stabilised there is no need to
update the code in order to support other protocols.

Igor



Reply to: