Patent ID: 8726007

Claim:
A method implemented and residing in a computer-readable storage medium to process on a processor that is configured to execute the method and the method, comprising: intercepting, by the processor, an encrypted packet before the encrypted packet is processed by an Internet Protocol (IP) layer of a network communication stack, the IP layer is an IP routing layer of the network communication stack, the encrypted packet was being directed through the network communication stack to a Virtual Private Network (VPN) that is using an IP tunnel at a data link layer of the network communication stack, wherein each additional encrypted packet received by the network communication stack is also intercepted and processed by the method; generating, by the processor, an IP header for the encrypted packet outside the IP layer of the network communication stack; and sending, by the processor, the encrypted packet with the generated IP header to a socket application for direct delivery to the data link layer of the network communication stack and for injection into the VPN via the IP tunnel and bypassing the IP routing layer of the network communication stack, the socket application processes to also handle redundant packet processing, removal of all IP layer routing dependencies and control taking away from the IP layer, and fix session failure problems that occur with a client involved in sending the encrypted packet, the IP layer does not receive and process the encrypted packet in any manner, and wherein all secure IP tunnel communication bypasses routing decisions of the IP routing layer on the processor, and wherein a source mask and a destination mask for the encrypted packet are verified before the encrypted packet is delivered to the data link layer.