[OpenAFS-devel] nat mode

Jeffrey Hutzelman jhutz@cmu.edu
Mon, 11 Oct 2004 19:23:01 -0400

On Monday, October 11, 2004 11:02:35 -0400 Jim Rees <rees@umich.edu> wrote:

> I've imported some code from Disconnected afs that helps with firewalls
> and nats.  It introduces a new fs command (and pioctl), "fs discon
> nat|full". In nat mode, all servers are checked once a minute, which
> tends to keep firewall and nat translations refreshed.
> There is more to this that I will try to import later if people like it.
> The other important piece is reducing the mtu to 576 in nat mode.  Other
> parts include tossing callbacks and rx connections just before a
> disconnection.
> For the pioctl I just grabbed the next one.  Do we have any process for
> coordinating with IBM or arla on pioctls?

Well, pioctl numbers aren't really protocol constants, but the 
implementations you listed all implement the same interface, so there is a 
need for some coordination.  At the first AFS hackathon in Stockholm, we 
established some conventions for how this would work.  Basically, we 
divided the pioctl number space up into multiple segments based on the 
prefix letter in use; each segment can have up to 256 numbers.

We ceded the original 'V' segment to IBM, on the grounds that they were 
unlikely to play our coordination game and so it was best to avoid creating 
any potential conflicts in that space.

We allocated a new 'A' segment for Arla-specific interfaces, and a new 'O' 
segment for OpenAFS-specific interfaces.  These spaces are controlled by 
the Arla project and the OpenAFS gatekeepers, respectively.  So as a 
gatekeeper, you can feel free to allocate and use an 'O' number based on 
what you find already in use in the source tree -- but you should only do 
this for interfaces that are meaningful only for OpenAFS.

We also allocated a 'C' segment, for interfaces common to multiple/all 
implementations.  The "NAT mode" bit you describe sounds like it fits best 
into this category.

New segments and numbers in the 'C' segment are allocated by the AFS 
Assigned Numbers Registrar.  Requests and updates should be sent to 

-- Jeff