[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: um-ppp installation
From: |
Thomas Bushnell, BSG |
Subject: |
Re: um-ppp installation |
Date: |
23 Nov 2001 10:50:57 -0800 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
Neal H Walfield <neal@cs.uml.edu> writes:
> >> 1. Has anybody thought about partial delegation of networking? Does
> >> that make sense at all?
> >
> > I have some vague ideas. I think it does make sense, but making it
> > work seems hard. But if someone prods me, then I can describe my
> > vague ideas.
>
> Prod, prod.
There are many different ways to split things up. First, we could
right now arrange to run multiple IP stacks on the same machine, with
different addresses, by:
* disabling the assumption in the routing code that every packet got
to the local host deliberately, and throwing out ones aiming at
different IP addresses;
* having the packet filters select only those packets which are
either ARP or destined for a specific IP address;
* come up with a way to get packets from one IP address to the other
[since the ethernet driver might well not do the implied copy, and
ethernet hardware does not allow you to receive the packet you
send]--that is, a kind of meta-loopback device.
A second idea is to enable different programs for different IP
protocol layers. To make that work, I think you need a shared library
that knows all about how to send IP datagrams, and uses some kind of
shared segment holding routing information, and then packet filters
can get incoming packets to the right layer.
Different ethernet protocol types are very easy to make work, of
course.
The second idea can be done at higher layers as well: completely
different TCP implementations could key depending on which remote
port. Doing this would require a way to tell the generic TCP to
ignore the packets that are going to a specialized TCP, so that it
doesn't erroneously reset the connections.