A method comprising: generating, by a network access point (302a,b,c), a first communication tunnel (400, 602) between the network access point (302a,b,c) and a first tunnel endpoint (104, 304a), wherein the first communication tunnel (400, 602) is dynamically configured based on a first triggering event; transmitting, by the network access point (302a,b,c) to the first tunnel endpoint (104, 304a) via the first communication tunnel (400, 602) data; awaiting a response to the transmitted data; determining, by the network access point (302a,b,c), availability of the first tunnel endpoint(104, 304a) based on whether the response to the transmitted data is received within a time period from the first tunnel endpoint (104, 304a) via the first communication tunnel (400, 602), wherein the first tunnel endpoint (104, 304a) is determined to be available if the response is received within the time period, and wherein the first tunnel endpoint (104, 304a) is determined to not be available if the response is not received within the time period; if the first tunnel endpoint (104, 304a) is determined to be available, routing, by the network access point (302a,b,c) via the first communication tunnel (400, 602), network traffic to the first tunnel endpoint (104, 304a); and if the first tunnel endpoint (104, 304a) is determined to be unavailable, establishing, by the network access point (302a,b,c), and based on a second triggering event, a second communication tunnel (400, 604) between the network access point (302a,b,c) and a second tunnel endpoint (104, 304b), and routing, by the network access point (302a,b,c) via the second communication tunnel (400, 604), the network traffic to the second tunnel endpoint (104, 304b). generating, by a network access point (302a,b,c), a first communication tunnel (400, 602) between the network access point (302a,b,c) and a first tunnel endpoint (104, 304a), wherein the first communication tunnel (400, 602) is dynamically configured based on a first triggering event; transmitting, by the network access point (302a,b,c) to the first tunnel endpoint (104, 304a) via the first communication tunnel (400, 602) data; awaiting a response to the transmitted data; determining, by the network access point (302a,b,c), availability of the first tunnel endpoint(104, 304a) based on whether the response to the transmitted data is received within a time period from the first tunnel endpoint (104, 304a) via the first communication tunnel (400, 602), wherein the first tunnel endpoint (104, 304a) is determined to be available if the response is received within the time period, and wherein the first tunnel endpoint (104, 304a) is determined to not be available if the response is not received within the time period; if the first tunnel endpoint (104, 304a) is determined to be available, routing, by the network access point (302a,b,c) via the first communication tunnel (400, 602), network traffic to the first tunnel endpoint (104, 304a); and if the first tunnel endpoint (104, 304a) is determined to be unavailable, establishing, by the network access point (302a,b,c), and based on a second triggering event, a second communication tunnel (400, 604) between the network access point (302a,b,c) and a second tunnel endpoint (104, 304b), and routing, by the network access point (302a,b,c) via the second communication tunnel (400, 604), the network traffic to the second tunnel endpoint (104, 304b).