Windows utility that will run on PC's equipped with multiple Internet paths ( typically multiple adapters) that will route outbound IP traffic ( ALL types) to the preferred gateway based on the ability to ping external hosts.
Windows Service that will run on XP SP3 to Windows 7 with two tray icons to display the status of Path A and Path B. Written in .Net 4 VB or C#. It must be able to handle UAC if it is enabled
Should be able to send out SNMP traps when status changes
Paths A and B are the two Internet connections which have different gateways
On startup it reads Path A and Path B Gateway's from OS
On startup it writes persistent routes to routing table to Pingable site 1 and Pingable site 2 so that Site 1 is always pinged using Path A and Site 2 is always pinged using Path B.
Both Sites are pinged every few seconds and if too may pings fail in a certain time period then that path is declared DOWN and the tray icon changes color - Green =UP, Blue=Available, Red=DOWN
Path A is the preferred path so if it goes DOWN then the routing table is also changed so traffic uses path B for everything except the persistent route to Site 1.
When a site 1 is pingable again for the required number of times then Path A is declared UP and the routing table is changed again so traffic uses path A for everything except the persistent route to Site 2.
Each change in Gateway will generate an SNMP trap and Log to GatewayLog < date>.txt
Each change of date will cause the program to delete logfiles older than Y Days old
Inputs( from [url removed, login to view] )
Site 1 ( IP address or DNS) / String
Site1 Ping interval / Seconds
Site 1 fail count / Integer
Site 1 restore count / Integer
Site 2 ( IP address or DNS)
Site2 Ping interval / Seconds
Site 2 fail count / Integer
Site 2 restore count / Integer
SNMP Trap 1 address / string
SNMP Trap 2 address / string
KeepLogsFor ( days) / integer