Patent ID: 7774501

Claim:
A method comprising: executing a first driver, in a computing device comprising (a) a TCP/IP stack, and (b) a processor that executes instructions stored in a memory of the computing device, wherein the first driver is separate from the TCP/IP stack and is configured to perform a process comprising (a) presenting to the TCP/IP stack an ethernet driver interface so as to receive an ethernet packet from the TCP/IP stack, the ethernet packet comprising a 14 byte ethernet header and data, (b) obtaining a first IP packet from data in the ethernet packet other than the 14 byte ethernet header, and (c) generating, in accordance with the first IP packet, a tunneled IP packet excluding the 14 byte ethernet header, and wherein the source IP address of the tunneled IP packet is different from the source IP address of the first IP packet, wherein the version field of the tunneled IP packet is the same as the version field of the first IP packet, wherein the MTU of the TCP/IP stack for the ethernet driver interface is different from the MTU of a network the tunneled IP packet is transmitted across, wherein the method further comprises executing a second driver in the computing device, wherein the second driver receives the tunneled IP packet from the first driver and effects transmission on a network, wherein a driver operating in the computing device, other than the first driver, receives a packet from a network and passes the packet to the first driver, wherein an apparatus on a network receives the tunneled IP packet, and obtains the first IP packet from the tunneled IP packet, and wherein the only route from the destination IP address of the first IP packet to the source IP address of the first IP packet is through the apparatus on the network.