BACK

Configuring IPX

Enabling IPX Routing

The first step in enabling IPX routing is to enable it on the router.  If you do not specify the node number of the router to be used on WAN links, the Cisco IOS software uses the hardware Media Access Control (MAC) address currently assigned to it as its node address.  This is the MAC address of the first Ethernet, Token Ring, or FDDI interface card.  If there are no valid IEEE interfaces, then the Cisco IOS software randomly assigns a node number using a number that is based on the system clock.

To enable IPX routing (this enables IPX RIP and SAP automatically), use the following global configuration command:

   Router3(config)#ipx routing

Enabling IPX on Individual Interfaces

After you have enabled IPX routing, you assign network numbers to individual interfaces.  This enables IPX routing on those interfaces.  You enable IPX routing on interfaces that support a single network or on those that support multiple networks.  When you enable IPX routing on an interface, you can also specify an encapsulation (frame type) to use for packets being transmitted on that network.

Below lists the encapsulation types you can use on IEEE interfaces and shows the correspondence between Cisco naming conventions and Novell naming conventions for the encapsulation types.

Novell Frame Encapsulation
NetWare Frame Type Cisco Keyword
Ethernet Frames
Ethernet_802.3 novell-ether (default)
Ethernet_802.2 sap
Ethernet_II arpa
Ethernet_SNAP snap
Token Ring Frames
Token-Ring sap (default)
Token-Ring_snap snap
FDDI Frames
Fddi_snap snap (default)
Fddi_802.2 sap
Fddi_raw novell-fddi


Enabling IPX on interfaces

A single interface can support a single network or multiple logical networks.  For a single network, you can configure any encapsulation type.  Of course, it should match the encapsulation type of the servers and clients using that network number.

To assign a network number to an interface that supports a single network, use the following syntax
ipx network [network #] encapsulation [encapsulation-type]

The following is an example IPX network 2 on interface ethernet 0, with a frame type of Ethernet_II.

   Router3(config)#ipx routing 
   Router3(config)#int e0
   Router3(config-if)#ipx network 2 encapsulation arpa

Multiple Frame Types

There are two ways to assign network numbers to interfaces that support multiple networks.  You can use subinterfaces or primary and secondary networks.

Subinterfaces

You typically use subinterfaces to assign network numbers to interfaces that support multiple networks.  A subinterface is a mechanism that allows a single physical interface to support multiple logical interfaces or networks.  That is, several logical interfaces or networks can be associated with a single hardware interface.  Each subinterface must use a distinct encapsulation, and the encapsulation must match that of the clients and servers using the same network number.  Any interface configuration parameters that you specify on an individual subinterface are applied to that subinterface only.

To configure multiple IPX networks on a physical interface using subinterfaces, use the following syntax
interface [type] [number.subinterface-number]
ipx network [network] encapsulation [encapsulation-type]

The following is an example of 2 IPX networks on ethernet subinterfaces, with frame types of Ethernet_802.2 and Ethernet_802.3

   Router3#conf t
   Enter configuration commands, one per line.  End with CNTL/Z.
   Router3(config)#int e0.1
   Router3(config-subif)#ipx network 1 encapsulation sap
   Router3(config-subif)#int e0.2
   Router3(config-subif)#ipx network 2 encapsulation novell-ether
Primary and Secondary Networks

When assigning network numbers to interfaces that support multiple networks, you can also configure primary and secondary networks.  The first logical network you configure on an interface is considered the primary network.  Any additional networks are considered secondary networks.  Again, each network on an interface must use a distinct encapsulation and it should match that of the clients and servers using the same network number.  Any interface configuration parameters that you specify on this interface are applied to all the logical networks. For example, if you set the routing update timer to 120 seconds, this value is used on all networks.

To use primary and secondary networks to configure multiple IPX networks on an interface, use the following syntax:
ipx network [network] encapsulation [encapsulation-type]
ipx network [network] encapsulation [encapsulation-type] [secondary]

The following is an example of a primary IPX network with Ethernet_sap encapsulation and a secondary IPX network on interface ethernet 0, with a frame type of Ethernet_snap.

   Router3#configure terminal
   Router3(config)#interface ethernet 0
   Router3(config-if)#ipx network 10 encapsulation sap 
   Router3(config-if)#ipx network 11 encapsulation snap secondary

Verifying the IPX routing Table

To view the IPX routing tables, use the command show ipx route.  IPX routers only know about directly connected networks by default.  However when you turned on IPX routing, RIP is automatically enabled.

   Router#show ipx route
   Codes: C - Connected primary network,    c - Connected secondary network
          S - Static, F - Floating static, L - Local (internal), W - IPXWAN
          R - RIP, E - EIGRP, N - NLSP, X - External, A - Aggregate
          s - seconds, u - uses

   2 Total IPX routes. Up to 1 parallel paths and 16 hops allowed.

   No default route known.
   C         10  SAP,              Et0.1
   C         20  SNAP,             Et0.2
   C         25  HDLC,             Se0
   R         55 [07/01] via       25.00d1.20ea.c349,    14s,  Se0
   R         33 [07/01] via       33.0000.0c7d.1d6f,    16s,  Fa0/0
   R         44 [07/01] via       44.0000.0c7d.1d70,    17s,  Fa0/0
    

Monitoring IPX on Cisco Routers

Show IPX Servers

The show ipx servers command is a lot like the display servers command in NetWare.  To list the IPX servers discovered through SAP advertisements, use the show ipx servers EXEC command.

show ipx servers [sorted [{name | net | type}]]
Syntax Description
sorted (Optional.) Sorts the display of IPX servers according to the keyword that follows.
name (Optional.) Displays the IPX servers alphabetically by server name.
net (Optional.) Displays the IPX servers numerically by network number.
type (Optional.) Displays the IPX servers numerically by SAP service type. This is the default.

   Router3# show ipx servers 
   Codes: P - Periodic, I - Incremental, H - Holddown, S - static
   1 Total IPX Servers
   Table ordering is based on routing and server info
     Type Name       Net     Address      Port  Route    Hops Itf
   P    4 MAXINE   AD33000.0000.1b04.0288:0451  332800/1  2   Et3
Show IPX Server Field Descriptions
Field Description
Codes Codes defining how the server was learned.
P Server information was learned via the normal periodic SAP updates.
I Server information was learned using the incremental SAP capability in IPX EIGRP.
H Server is believed to have gone down and the router will no longer advertise this server's services.
S Statically defined server (via the ipx sap command).
Total IPX servers Number of servers in the list.
Table order is based on routing and server info Entries listed are based on the routing information associated with this SAP. Server information is used as a tie breaker.
Type SAP service number.
Name Server name.
Net Network number of the server.
Address Node address of the server.
Port Socket number.
Route Metric/hop count for the route to the network.
Hops SAP-advertised number of hops from the router to the server's network.
Itf Interface through which this server was first discovered.

Load Balancing with IPX

The ipx maximum-paths command is designed to increase throughput by allowing the router to choose among several equal-cost, parallel paths.  (Note that when paths have differing costs, the router chooses lower-cost routes in preference to higher-cost routes.)  IPX does load sharing on a packet-by-packet basis in round-robin fashion, regardless of whether you are using fast switching or process switching.  That is, the first packet is sent along the first path, the second packet along the second path, and so on.  When the final path is reached, the next packet is sent to the first path, the next to the second path, and so on.

Limiting the number of equal-cost paths can save memory on routers with limited memory or very large configurations.  Additionally, in networks with a large number of multiple paths and systems with limited ability to cache out-of-sequence packets, performance might suffer when traffic is split between many paths.

To set the maximum number of equal-cost paths the router uses when forwarding packets, use the ipx maximum-paths Global Configuration command.  To restore the default value of 1, use the no form of this command.

   ipx maximum-paths [paths]
   no ipx maximum-paths 
Show IPX traffic

To display information about the number and type of IPX packets transmitted and received by the router, use the show ipx traffic EXEC command.

   Router3# show ipx traffic
   Rcvd:   32124925 total, 1691992 format errors, 0 checksum errors, 67 bad hop count,
           18563 packets pitched, 452467 local destination, 0 multicast
   Bcast:  452397 received, 1237193 sent
   Sent:   2164776 generated, 31655567 forwarded
           0 encapsulation failed, 2053 no route
   SAP:    3684 SAP requests, 10382 SAP replies
           259288 SAP advertisements received, 942564 sent
           0 SAP flash updates sent, 0 SAP poison sent
           0 SAP format errors
   RIP:    0 RIP format errors
   Echo:   Rcvd 0 requests, 0 replies
           Sent 0 requests, 0 replies
           4252 unknown, 0 SAPs throttled, freed NDB len 0
   Watchdog:
           0 packets received, 0 replies spoofed
   Queue lengths:
           IPX input: 1, SAP 0, RIP 0, GNS 0
           Total length for SAP throttling purposes: 1/(no preset limit)
   IGRP:   Total received 0, sent 0
           Updates received 0, sent 0
           Queries received 0, sent 0
           Replies received 0, sent 0
           SAPs received 0, sent 0
Show IPX Interfaces

The following is sample output from the show ipx interface [type number] command, and gives you the interface status of IPX and IPX parameters configured on each interface.  It also shows the IPX address and the encapsulation type.

   Router3#show ipx interface ethernet 0
   Ethernet0 is up, line protocol is up
     IPX address is 1111.0000.0c01.d87a, NOVELL-ETHER [up], RIPPQ: 0, SAPPQ: 0
     Secondary address is 2222.0000.0c01.d87a, SNAP [up]
     Outgoing access list is not set
     IPX type 20 propagation packet forwarding is disabled
     IPX SAP update interval is 1 minute(s)
     IPX Helper access list is not set
     SAP Input filter list is not set
     SAP Output filter list is not set
     SAP Router filter list is not set
     SAP GNS output filter list is not set
     Input filter list is not set
     Output filter list is not set
     Router filter list is not set
     Netbios Input host access list is not set
     Netbios Input bytes access list is not set
     Netbios Output host access list is not set
     Netbios Output bytes access list is not set
     Update time is 60 seconds
     Delay of this interface, in ticks is 1
     IPX Fast switching enabled
Show Protocols

Use the show protocols EXEC command to display the configured protocols.  You can see the encapsulation types for primary and secondary interfaces, but not with subinterfaces as in the example below.

  Router_2#show protocols
  Global values:
    Internet Protocol routing is enabled
    IPX routing is enabled
  Ethernet0 is up, line protocol is up
    Internet address is 192.168.1.1/24
    IPX address is 1.0000.0c8d.5c9d
    IPX address is 2.0000.0c8d.5c9d
  Serial0 is up, line protocol is up
    Internet address is 10.128.22.3/24
  Serial1 is administratively down, line protocol is down
Debug IPX

Use the debug ipx routing EXEC command to display information on IPX routing packets that the router sends and receives.  The no form of this command disables debugging output.

[no] debug ipx routing {activity | events}
Syntax Description
   activity
    Displays messages relating to IPX routing activity.

   events
    Displays messages relating to IPX routing events.

Normally, a router or server sends out one routing update per minute. Each routing update packet can include up to 50 entries. If many networks exist on the internetwork, the router sends out multiple packets per update. For example, if a router has 120 entries in the routing table, it would send three routing update packets per update. The first routing update packet would include the first 50 entries, the second packet would include the next 50 entries, and the last routing update packet would include the last 20 entries.

The following is sample output from the debug ipx routing command:

   Router# debug ipx routing

   IPXRIP: update from 9999.0260.8c6a.1733
              110801 in 1 hops, delay 2
   IPXRIP: sending update to 12FF02:ffff.ffff.ffff via Ethernet 1
              network 555, metric 2, delay 3
              network 1234, metric 3, delay 4
Debug IPX SAP

Use the debug ipx sap EXEC command to display information about IPX Service Advertisement Protocol (SAP) packets.  The no form of this command disables debugging output.

[no] debug ipx sap {activity | events}
Syntax Description
   activity
    (Optional) Provides more detailed output of SAP packets, including displays of services in SAP packets.


   events
    (Optional) Limits amount of detailed output for SAP packets to those that contain interesting events.

Normally, a router or server sends out one SAP update per minute.  Each SAP packet can include up to seven entries.  If many servers are advertising on the network, the router sends out multiple packets per update.  For example, if a router has 20 entries in the SAP table, it would send three SAP packets per update.  The first SAP would include the first seven entries, the second SAP would include the next seven entries, and the last update would include the last six entries.  Obtain the most meaningful detail by using the debug ipx sap activity and the debug ipx sap events commands together.  Caution -because the debug ipx sap command can generate a lot of output; use it with caution on networks that have many interfaces and large service tables.

The following is sample output from the debug ipx sap command:

   Router3# debug ipx sap

   IPXSAP: at 0023F778:
   I SAP Response type 0x2 len 160 src:160.0000.0c00.070d dest:160.ffff.ffff.ffff(452)
     type 0x4, "Hello2", 199.0002.0004.0006 (451), 2 hops
     type 0x4, "Hello1", 199.0002.0004.0008 (451), 2 hops
   IPXSAP: sending update to 160
   IPXSAP: at 00169080:
     O SAP Update type 0x2 len 96 ssoc:0x452 dest:160.ffff.ffff.ffff(452)
   IPX: type 0x4, "Magnolia", 42.0000.0000.0001 (451), 2hops

Use the undebug ipx sap activity or no debug all command from privileged EXEC mode to turn IPX routing debugging off.

Ping IPX

To check host reachability and network connectivity, use the ping privileged EXEC command.

#ping [ipx] [network.node]

ipx (Optional) Specifies the IPX protocol.
network.node (Optional) Address of system to ping.

To check host reachability and network connectivity, use the ping ipx user EXEC command.

>ping ipx {host | address}

ipx Specifies the IPX protocol.
host Host name of system to ping.
address Address of system to ping.

BACK