Mario Fetka 8fb345eb86
All checks were successful
Source release / source-package (push) Successful in 1m7s
Add Confd
2026-05-06 11:12:54 +02:00
2026-05-06 11:12:54 +02:00
2026-04-29 19:58:43 +02:00
2026-04-29 22:06:11 +02:00
2020-05-31 00:09:21 +03:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2020-05-31 00:09:21 +03:00
2020-05-31 00:09:21 +03:00
2020-05-31 00:09:21 +03:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2020-05-29 23:38:57 +03:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2026-04-29 19:58:43 +02:00
2020-05-31 00:09:21 +03:00

ipx-utils

ipx-utils is a maintained collection of classic Linux IPX utilities, packet inspection tools, and an IPX RIP/SAP router daemon.

The package is intended for systems that still need to configure, inspect, or route legacy Novell NetWare/IPX networks. It combines the standalone ipx-utils tools with additional dump/parse utilities and the historical ipxripd router daemon (ipxd).

Kernel note: IPX support was removed from the mainline Linux kernel in Linux 4.18. On newer kernels you need an external IPX kernel module before these tools can be useful.

Included programs

IPX configuration utilities

These tools are installed into sbindir, usually /usr/sbin.

Program Purpose
ipx_configure Configure IPX networking automatically or semi-automatically.
ipx_interface Add, delete, and inspect IPX interfaces.
ipx_internal_net Configure the IPX internal network number.
ipx_route Add, delete, and inspect IPX routes.
ipx_cmd Netlink-based helper for IPX interface and route operations.

Packet dump and parser tools

Program Purpose
ipx_dump Capture and dump IPX packets from a network interface.
ipx_parse Decode textual/raw packet dumps generated by ipx_dump.

Typical usage:

ipx_dump -r -d eth0 | ipx_parse

IPX RIP/SAP router daemon

Program Purpose
ipxd IPX RIP/SAP daemon. Makes a Linux machine act as an IPX router.

ipxd is integrated from the historical ipxripd router daemon. It exchanges IPX RIP and SAP information with other routers and servers on the network and is intended for Linux systems that need IPX routing and service advertisement support without running a larger NetWare emulator such as mars_nwe.

The historical ipxripd release was developed for Linux 1.2.13 and 1.3.x kernels. At that time there was no widely accepted standard RIP/SAP daemon for Linux. Existing alternatives either required kernel patches, implemented more than the RIP/SAP functionality, or did not implement RIP and SAP correctly.

The original goals were:

  • provide a small IPX RIP/SAP daemon for Linux;
  • avoid requiring kernel patches;
  • continue working while IPX interfaces are reconfigured;
  • support convenient IPX-over-PPP remote access setups;
  • work with Linux internal IPX networks.

Although the original README mentions Linux 1.3-era kernel behavior and optional historical kernel patches, this standalone ipx-utils integration builds ipxd as part of the modern Autotools-based package.

ipxd can discover most required routing information by scanning the Linux IPX interface and routing tables and by exchanging RIP/SAP packets on the network. The value it cannot reliably discover is the transmission cost of each physical interface.

That cost is configured in /etc/ipx_ticks. The value is expressed in IPX RIP ticks, where one tick is approximately 55 ms.

Example /etc/ipx_ticks:

# Tick values for IPX interfaces
#
# device name    ticks value
eth0             1
ppp0             7

Blank lines and lines beginning with # are ignored. Interfaces not listed in /etc/ipx_ticks use the default value 1.

The historical startup example was:

if [ -f /usr/sbin/ipxd ]; then
  echo "Starting IPX RIP/SAP daemon"
  /usr/sbin/ipxd
fi

On modern systems this should normally be adapted to the system's init system or service manager. For a manual test run:

sudo /usr/sbin/ipxd

Consult the manual pages for details:

man 8 ipxd
man 5 ipx_ticks

Installed files

With the usual configuration:

./configure --prefix=/usr --sysconfdir=/etc

installation places files roughly here:

/usr/sbin/ipx_configure
/usr/sbin/ipx_interface
/usr/sbin/ipx_internal_net
/usr/sbin/ipx_route
/usr/sbin/ipx_cmd
/usr/sbin/ipx_dump
/usr/sbin/ipx_parse
/usr/sbin/ipxd
/etc/ipx_ticks
/usr/share/man/man5/ipx_ticks.5
/usr/share/man/man8/ipx_configure.8
/usr/share/man/man8/ipx_interface.8
/usr/share/man/man8/ipx_internal_net.8
/usr/share/man/man8/ipx_route.8
/usr/share/man/man8/ipx_cmd.8
/usr/share/man/man8/ipx_dump.8
/usr/share/man/man8/ipx_parse.8
/usr/share/man/man8/ipxd.8
/usr/share/locale/*/LC_MESSAGES/ipx-utils.mo

Building from a release tarball or generated source checkout

For normal users:

./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install

To build without installing:

./configure --prefix=/usr --sysconfdir=/etc
make V=1

To stage an installation into a temporary directory:

rm -rf /tmp/ipx-utils-install
make DESTDIR=/tmp/ipx-utils-install install
find /tmp/ipx-utils-install -type f | sort

Building from a developer checkout

If configure or generated Automake files are missing or outdated, regenerate them:

autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc
make V=1

Gettext support is used for message catalogs. On Debian/Ubuntu-like systems, the relevant development tools are usually:

sudo apt-get install build-essential autoconf automake autopoint gettext pkg-config

Creating release archives

The project supports Automake source distributions:

./configure --prefix=/usr --sysconfdir=/etc
make distcheck

On success, this creates release archives such as:

ipx-utils-<version>.tar.gz
ipx-utils-<version>.tar.xz

make distcheck performs an out-of-tree build, install, uninstall, and distribution test. This is the preferred check before tagging a release.

Gitea release workflow

The repository can be built by a Gitea Action that runs:

autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc
make V=1
make distcheck

For tagged releases such as v1.4, the workflow should upload the generated ipx-utils-1.4.tar.gz and ipx-utils-1.4.tar.xz files as release assets.

For development builds from master, the workflow can generate development archives with a git-derived suffix.

Notes

  • The tools require kernel-level IPX support.
  • Most operations require root privileges or equivalent capabilities.
  • ipx_dump uses raw packet sockets and may temporarily enable promiscuous mode on the selected interface.
  • ipxd is intended for legacy IPX RIP/SAP routing environments.

Authors and history

Original ipx-utils work: Greg Page.

Further standalone ipx-utils development since version 1.2: Dmitry Podgorny.

ipxripd/ipxd historical authors include Ales Dyrak and Volker Lendecke.

Current standalone maintenance and integration work: Mario Fetka.

License

The historical ipxripd metadata identifies the router daemon code as GPL. See the repository license files and source headers for the exact license terms of each component.

Description
IPX userspace utilities for Linux
Readme 2.1 MiB
v1.4 Latest
2026-05-06 11:21:34 +02:00
Languages
C 37%
M4 23.3%
Makefile 22.5%
Shell 14.6%
Roff 2.5%