[Nos-bbs] DGIPIP Jnos 2

Barry Siegfried k2mf at k2mf.ampr.org
Wed Feb 28 03:24:24 EST 2007

["Jerry DeLong" <kd4yal at tampabay.rr.com> wrote]:

> I thought about mailing you directly but I thought this was a good
> topic for this list. A Google search turns up little information on
> this subject.
> > > Could some please help me with the correct syntax for connecting
> > > to a DGIPIP server using Jnos 2.0e?
> >
> > I think you are asking for the correct syntax to *broadcast* (rather
> > than "connect") to a DGipip server.   I doubt that the commands are
> > any different in JNOS 2.0e than they are in any other xNOS that
> > supports DGipip.
> >
> > > Usage:
> > >
> > > remote -s syskey | -g gwkey | [-p port] [-k key] [-a kickaddr] [-r
> > > addr/#bits] <hostname> exit|reset|kick|add|drop|udpadd
> >
> > I presume you are looking for only the essential arguments above
> > specifically to implement the DGipip client?  If so, try this:
> >
> > remote [-p<port>] [-k<dgipip key>] -r<dest ip addr>[/<bits>]
> >       <hostid> add,udpadd,drop
> I notice your not showing a space in this syntax is this correct?

The technique of using hyphens to specify command options and then
arguments following them comes from getopt() which was a public
domain 'C' subfunction that came from AT&T in 1987.  getopt() is
lenient about using whitespace or not between the option letter
and its following argument.  You can use it, but you don't have

> remote -p1234 -kmykey - kd4yal.servebbs.org udpadd
> > where:
> >
> > <port> = the UDP port that the DGipip server listens on (if not
> >          specified defaults to 1234)
> > <dgipip key> = the password that the DGipip server used the "-g"
> >               switch to set (if no DGipip password is set by the
> >               server this argument is not required)
> > <dest ip addr>/bits = the IP block being requested by the DGipip
> >                      client
> > <hostid> = the IP address (or hostname) of the DGipip server
> >
> > add = DGipip client request for server to add the specified IPIP route
> > udpadd = DGipip client request for server to add the specified IPUDP
> >         route (hardwired to use UDP destination port 94)
> > drop = DGipip client request for server to drop the specified route
> >       (used in an onexit.nos or equivalent Linux file to cleanly
> >       delete the route at the DGipip server when the client is
> >        shut down)
> >
> > Please note that to the best of my knowledge, Linux is not {yet}
> > capable of IPUDP encapsulation so if you need to use IPUDP support
> > then Linux will not work.
> I believe Terry Dawson release a Linux port base on your Mfnos code.
> This is what I am currently trying to get working using a Jnos 2.0e
> client.

Yes, he did that in 1997-1998, long before anyone thought up IPUDP.
IPUDP was originally implemented for Xrouter by G8PZT in December,
2002 and then added to MFNOS by me in October, 2004 and subsequently
to JNOS by VE4KLM a month or so later.  I assure you that if you are
trying to use Linux to serve DGipip to a JNOS client the above
command will FAIL.  A Linux machine only knows how to return an
IPIP route to a DGipip client and in fact will simply ignore the
client broadcast because it does not know what a 'udpadd' command

Also, it is preferred that an IP address be used as the <hostid>
argument and while I note that you are using a hostname as the
<hostid> argument in your command line above and the client *can*
handle it with a domain name lookup, it is really not recommended.
A general rule for dynamic IP routing manipulation (in DGipip, RIP,
etc.) is to use IP addresses as your server targets and avoid any
kind of reliance on the DNS altogether.  If for some reason the
domain name lookup fails then the command above will also fail and
the client will *NOT* send the broadcast to the server, thereby
failing to get its IP route installed there for that broadcast

> > The timer that is initialized for an IP route that is acquired at
> > a DGipip server by a client is normally set to 15 minutes.  Normal
> > practice is for the DGipip client to send a request within one minute
> > of booting up and then once every 10 minutes thereafter to keep
> > refreshing the timer.  Once the timer expires or a 'drop' request
> > is received by the DGipip server from the client, the IP route is
> > made to be "unreachable" at the server.
> >
> > The DGipip server must therefore be initialized so that the IP route
> > being requested by the client is "unreachable", otherwise, if the
> > IP route is permanently pointed elsewhere at the server the request
> > by the client is viewed as an attempt to steal the route and it is
> > ignored by the server.
> >
> > In an xNOS DGipip server, an IP route can be made to be unreachable
> > by pointing it to the 'loopback' interface.  Since I am not familiar
> > with Linux, I couldn't tell you how this is accomplished in a Linux
> > DGipip server but I am quite confident there is a relatively easy
> > way to do it.
> >
> > I hope the above helps.

73, de Barry, K2MF >>
          <|>      Barry Siegfried
| Internet | bgs at mfnos.net              |
| HomePage | http://www.mfnos.net/~bgs  |
| Amprnet  | k2mf at k2mf.ampr.org         |
| PBBS     | k2mf at k2ge.#cnj.nj.usa.noam |

More information about the nos-bbs mailing list