Patent ID: 8780811

Claim:
A flatnet failover controller, comprising: a flatnet local port connectable to a local portion of a flatnet to transmit packets between the local portion of the flatnet and the flatnet failover controller; a flatnet remote port connectable to a remote portion of the same flatnet to transmit packets between the remote portion of the flatnet and the flatnet failover controller; a flatnet status monitor which provides a flatnet-connection-up indication or a flatnet-connection-down indication; at least one WAN port; a packet origin table residing in a computer-readable memory in the flatnet failover controller; a packet handler operable with at least one digital processor of the flatnet failover controller as follows on at least one packet received on at least one of the ports: (a) when the flatnet status monitor provides a flatnet-connection-up indication and the packet was received on one of the flatnet ports, then (i) update the packet origin table with an identifier of a source host of the packet and an identifier of whichever port the packet was received on, (ii) ignore the packet when the packet is traveling from a host in the local portion of the flatnet to another host in the local portion of the flatnet, and (iii) otherwise pass the packet through toward the other flatnet port, (b) when the flatnet status monitor provides a flatnet-connection-down indication and the packet was received on the flatnet local port, then (i) ignore the packet when the packet is traveling from a host in the local portion of the flatnet to another host in the local portion of the flatnet, and (ii) otherwise submit the packet for IP encapsulation and transmission over a WAN port, (c) when the flatnet status monitor provides a flatnet-connection-down indication and the packet was received on a WAN port, then (i) when the packet origin table contains a physical address for a host identified in the packet by an IP address, place that physical address in the packet and send the packet toward the flatnet local port, and (ii) when the packet origin table does not contain a physical address for a host identified in the packet by an IP address then use Address Resolution Protocol to obtain said physical address, and then place that physical address in the packet and send the packet toward the flatnet local port.