EIGRP is a portable EIGRP implementation project based on RFC 7868.
The current production host is FRR. The repository is organized so the daemon source can be staged into an FRR checkout while project specs, tools, standalone compile smoke tests, and portable tests stay outside the FRR daemon directory.
eigrp/
specs/ Project design and protocol implementation notes
tools/ Local build, install, setup, backup, and test helpers
eigrpd/ Daemon source copied to frr/eigrpd/
build/ Standalone compile-smoke harness
test/
common/ Shared fixtures and packet samples
portable/ Python/source-level tests that do not need FRR
frr/ FRR-native test payload copied to frr/tests/eigrpd/
bsd/ Future BSD-hosted tests
Clone FRR and this project as siblings:
git clone https://github.com/frrouting/frr.git frr
git clone git@github.com:diivious/eigrp.git eigrpStage EIGRP into FRR:
cd eigrp
tools/install.sh -frr-root ../frrThis copies:
eigrpd/ -> ../frr/eigrpd/
test/frr/ -> ../frr/tests/eigrpd/
Build FRR normally, or use the helper:
tools/build.sh config -frr-root ../frr
tools/build.sh build -frr-root ../frrThe standalone smoke harness catches syntax/prototype drift in selected daemon files without requiring a full FRR build:
make -C buildor:
make smokeThis is not a replacement for the FRR build/link gate.
Run portable tests:
tools/unittest.sh -portableRun packet-only portable tests:
tools/unittest.sh -packetInstall FRR-native tests into an FRR checkout:
tools/unittest.sh -install -frr-root ../frrRun FRR-native tests when test/frr/ has a real test payload:
tools/unittest.sh -frr -frr-root ../frrStop the service-managed EIGRP daemon before launching a debug copy:
sudo systemctl stop frr
sudo systemctl start frr
sudo kill -9 "$(pidof eigrpd)" 2>/dev/null || trueThen, from the FRR checkout:
sudo gdb eigrpd/.libs/eigrpdUseful vtysh smoke commands:
vtysh -c 'configure terminal' -c 'router eigrp 4453' -c 'network 0.0.0.0/0'
vtysh -c 'show running-config'
vtysh -c 'show ip eigrp topology'
vtysh -c 'show ip eigrp neighbors'Small, reviewable commits are preferred. Existing author/copyright history must be preserved when refactoring existing FRR-derived files.
To report security issues, email:
diivious [at] hotmail.com