A computer-implemented method of routing protection comprising: receiving, by an active network element from a remote peer device , a plurality of data packets (310A-310E); sending, by the active network element to a plurality of standby network elements , a multicast data packet comprising combined data of the plurality of data packets (310A-310E); receiving, by the active network element from at least one of the standby network elements , an acknowledgment of receipt of the multicast data packet ; and in response to the receipt of the acknowledgment , sending, by the active network element to the remote peer device , an acknowledgment of receipt of the plurality of data packets (310A-310E); determining, by at least a subset of the standby network elements , that the active network element has failed; and in response to the failure of the active network element, configuring one of the standby network elements to be an active network element .; selecting the one standby network element as a new active network element to replace the active network element that has failed by election; the method being characterized by determining a subset of the plurality of standby network elements that are up to date; and wherein the determined subset of the standby network elements vote in the election; wherein determining the subset of the plurality of standby network elements that are up to date comprises sending, by each standby network element, a multicast message each to each other standby network element, the multicast message including a payload with a timestamp of the last message received by the sending standby network element from the failed active network element; wherein after receiving the last update timestamp from all other standby network elements, sending, by each standby network element, a data packet with a current timestamp in the payload, and selecting the standby network element that sends the earliest current timestamp as the new active network element. receiving, by an active network element from a remote peer device , a plurality of data packets (310A-310E); sending, by the active network element to a plurality of standby network elements , a multicast data packet comprising combined data of the plurality of data packets (310A-310E); receiving, by the active network element from at least one of the standby network elements , an acknowledgment of receipt of the multicast data packet ; and in response to the receipt of the acknowledgment , sending, by the active network element to the remote peer device , an acknowledgment of receipt of the plurality of data packets (310A-310E); determining, by at least a subset of the standby network elements , that the active network element has failed; and in response to the failure of the active network element, configuring one of the standby network elements to be an active network element .; selecting the one standby network element as a new active network element to replace the active network element that has failed by election; the method being characterized by determining a subset of the plurality of standby network elements that are up to date; and wherein the determined subset of the standby network elements vote in the election; wherein determining the subset of the plurality of standby network elements that are up to date comprises sending, by each standby network element, a multicast message each to each other standby network element, the multicast message including a payload with a timestamp of the last message received by the sending standby network element from the failed active network element; wherein after receiving the last update timestamp from all other standby network elements, sending, by each standby network element, a data packet with a current timestamp in the payload, and selecting the standby network element that sends the earliest current timestamp as the new active network element. <EOS>