EIGRP has the capability for routing several different protocols including IPv4 and IPv6 using protocol-dependent modules (PDMs). Although now obsolete, EIGRP also used PDMs to route Novell’s IPX and Apple Computer’s AppleTalk network layer protocols.
The PDMs are responsible for network layer protocol-specific tasks. An example is the EIGRP module, which is responsible for sending and receiving EIGRP packets that are encapsulated in IPv4. The EIGRP module is also responsible for parsing EIGRP packets and informing DUAL of the new information that is received. EIGRP asks DUAL to make routing decisions, but the results are stored in the IPv4 routing table. Also, EIGRP PDMs are responsible for redistributing routes that are learned by other routing protocols.
PDMs are responsible for the specific routing tasks for each network layer protocol, including:
- Maintaining the neighbor and topology tables of EIGRP routers that belong to that protocol suite
- Building and translating protocol-specific packets for DUAL
- Interfacing DUAL to the protocol-specific routing table
- Computing the metric and passing this information to DUAL
- Implement filtering and access lists
- Perform redistribution functions to and from other routing protocols
When a router discovers a new neighbor, it records the neighbor’s address and interface as an entry in the neighbor table. One neighbor table exists for each protocol-dependent module, such as IPv4. EIGRP also maintains a topology table. The topology table contains all destinations that are advertised by neighboring routers. There is also a separate topology table for each PDM.