This is a very old script wich probably doesn't work any more.
Coly is a Scapy based python tool, that can form neighbourship to EIGRP routers and inject route.
Scapy 2.2.0 and above with EIGRP module.
tcpdump, for listening and filtering EIGRP packets.
Everything start with defining interface that must be used as a source. EIGRP Autonomous System number is essential to form neighborship. AS could be discover by "discover" command or manually set with "asn". "discover" is recommended step, as far as it will listen all hellos, collects all active peers and AS number automatically.
EIGRP neighbourship is formed with Hello packets sent to multicast address: 224.0.0.10 periodically. The interval by default is 5 sec. After receiving Hello packet from a new router, all active routers will add the sender to its neighbor list, send an Init Update packet and waits for ACK Update response. All these tasks are done with "hi" command.
SuSe:~/coly # ./coly.py
EIGRP route injector, v0.1 Source: http://code.google.com/p/coly/
suse(router-config)#interface tap0
Interface set to tap0, IP: 10.0.0.1
suse(router-config)#discover
Discovering Peers and AS
Peer found: 10.0.0.3 AS: 33
AS set to 33
Peer found: 10.0.0.2 AS: 33
suse(router-config)#hi
Hello thread started
suse(router-config)#
R1#
*Mar 1 02:04:08.771: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 33: Neighbor 10.0.0.1 (FastEthernet0/0) is up: new adjacency
R1#
At this point, neighbourship is successfully formed, and we can participate into EIGRP Process.
R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
R1#
suse(router-config)#inject 192.168.1.0/24
Sending route to 10.0.0.3
Sending route to 10.0.0.2
suse(router-config)#
R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
D 192.168.1.0/24 [90/156160] via 10.0.0.1, 00:00:17, FastEthernet0/0
R1#
With "inject" command, EIGRP Internal Route Update packet is sent to all active peers directly. So one thing that you have to be sure is that, all the peers are correctly detected. If you define ASN statically or if it's automatically discovered, with both ways, peer IP addresses are saved and updates are sent individually. To check active EIGRP peers use "peers" command.
suse(router-config)#peers
10.0.0.3
10.0.0.2
suse(router-config)#