ipxnet
ipxnet
IPXNET receives files via the ethernet. Generally these will be from another
Unixbox (program IP2NET) or an Atex J11 using program SNDFIP. For robustness,
the underlying protocol used is UDP, so a failure during transmission will not
halt any other processes.
IPXNET can receive up to 50 simultaneous files. The Nth and subsequent are told
to wait and retry in a second or so.
It sits listening on a defined port for traffic. When each packet arrives, the
3 chr header plus the source Internet no/port are used to define which files is
arriving and what to do with it. Each packet is acknowledged unless the sender
has indicated it does not need.
The data is completely neutral/transparent - no alterations are made. When the
file has finished it is normally passwd to spool/2go for program IPWHEEL to
process further.
A standalone switch can be used for feeding non-FIP systems. Where used in the
standalone version, the FIP header is stripped, and the filename shrunk to the
contents of the SN field which is the original name given by the source
computer. Any existing file is overwritten. In this case the output queue is a
path from root rather than /fip/spool.
Input Parameters (all optional) :
-9 : do NOT run in Speedy mode default: run if Speedy is ON for this host
-c : copy file if the temp queue (x) is on a different unix volume
to the output queue (-o switch) default: same volume
-E : flag (single letter) for flagging errors default: x (as in !x)
-h : for systems with more than one ethernet connection,
this is name in /etc/hosts for the hostname to be used if different to the
default hostname of the machine
Use '-h' + to signify ALL addresses/interfaces
default: system hostname
-l : log every file in default: do not log
-o : output queue default: spool/2go
-p : port no default: IP_NET_NO (9001)
-P : port no default: IP_NET_NO (9001)
-t : log the time taken to receive the file default: ignore
-u : logon for file permissions default: logon of activator
This is normally used only in the standalone version
-W : watch packets as they arrive default: no
print to screen all packets.
Use this for testing new connections if you do NOT have sffcheck
-Z : do NOT replace unix metachrs - $, * with '_' in header fields. default:
replace
-v : print version and quit
-z : standalone version default: feeding FIP
This will strip the FIP header, give a pc filename and
overwrite existing file.
-i : for stand alone, do NOT overwrite any existing files. def: yes
-s : for stand alone, the size of the filename. default: 9 chrs
-L : for stand alone, log to the screen default: no
-Q : for stand-alone, use the destination (or name of the parameter file) as
the sub-queue name (forced lowercase)
ie is the -o is /data1/input and the parameter file is ROUGH or
the destination is DU:rough, the file is left in
/deta1/input/rough default: no
If running with metachrs being stripped, you can change the new chr from the
default '_' to any other chr using environment variable FIP_XNET_META. A space,
tab, CR, NL or FF are not valid metachrs.
If the version is SFFXNET the following is also true :
Other env varis can be used to define where the system is :
SFF_HOME where the home or top queue is. default: /fip/
eg setenv SFF_HOME /ripexpress/underware
SFF_TABLES where the parameter files are default: (SFF_HOME)/tables/sff
SFF_INFO where the help file/doc queue is default: (SFF_HOME)/info
SFF_LOG where the log files queue is default: (SFF_HOME)/log
SFF_SPOOL where the data queues are default: (SFF_HOME)/spool
SFF_TMP where the tmp data queues is default: (SFF_HOME)/x
THIS MUST BE ON THE SAME UNIX VOLUME as SFF_SPOOL queues.
ie if spools are on /data99 which is hard disk /dev/sd0, you MUST also
have the TMP queue on the same disk/partition
NOTE that for all BUT SFF_HOME, if the parameter starts with a '/' then it is a
hard, absolute path; if not then the spool area is under SFF_HOME.
eg setenv SFF_SPOOL /data7 will look under /data7 for queues
while setenv SFF_SPOOL data7 will look under /fip/data7
-----------Internal Information----------
The default port number is IP_NET_NO, currently 9001 which is also that that
IP2NET defaults to. SNDFIP however will send to 9100 + the AtexSystemNo. ie
Atex sys3 will send to 9103. There should be an ipxnet for each Atex J11 that
transmits.
The internal handshake is that a 3 byte header is added to the packet.
byte 0 is a magic number which differs per transmission.
byte 1 is the to-do code or sequence number
byte 2 is ack/dont ack flag
The to-do code can be :
1 <= byte1 <= 249 (decimal) Sequence no of this packet.
IP_NET_SOF Start of file
IP_NET_WAIT Pls wait; we have too many files for the moment
IP_NET_ABO Packet out-of-sequence and pls abort.
IP_NET_EOF End of file - last packet.
IP_NET_BIN and IP_NET_MARK are used only for the serial program IPXV24
flag can be :
IP_NET_ACK ack this packet
IP_NET_NOACK do NO ack this packet
IP_NET_RESEND from 2net - Resending this pkt
IP_NET_RESEND_PLS from xnet - Pls Resend this pkt and continue from here
Small files (where the data, FIP header and FIP filename total less than 1500
bytes combined) are sent in one packet with a IP_NET_EOF flag.
The packet size is restricted (by ethernet and UDP) to 1450 bytes and no split
packets are acceptable. Packets must arrive in sequential order or they
aborted. If no traffic has arrived for 60 seconds, the file is aborted and the
error is logged.
(copyright) 2025 and previous years FingerPost Ltd.