2

RFC 2784 mentions:

Care should be taken when forwarding such a packet, since if the destination address of the payload packet is the encapsulator of the packet (i.e., the other end of the tunnel), looping can occur. In this case, the packet MUST be discarded.

It would seem that the original tunnel endpoint sending would have to have a messed up route to not recognize itself as the destination and forward the packet over the tunnel.

Does this imply that an infinite loop is possible or just that the packet will get possibly sent back one time?

Cisco's documentation seems to demostrate that they use this exact behavior to make a keepalive work. Wouldn't this violate the RFC though since "the packet MUST be discarded?"

1 Answer 1

0

If the de-encapsulating router has a route for the un-encapsulated destination address going back to the encapsulating router, you will get a loop that only expires when the TTL expires. This is an entirely plausible scenario if the rule is not followed.

There is nothing to say that the two routers are running a routing protocol between them, so they could have entirely different ideas of which way to send a packet. One or more could be using static routes or PBR. There is nothing to say that the two routing tables are in sync.

2
  • Thanks for the answer. I think I understand what you are saying, but could you provide some sample IP addresses and routes to demonstrate the concept? I'm not clear on why, if the de-encap router forwards the payload back to the same router it could potentially get sent back to the first de-encap router again?
    – Rodney
    Commented Dec 11, 2015 at 21:28
  • Suppose Router A has a default route to Router B through the tunnel, and Router A has no route to 1.1.1.1 so it will send packets destined to 1.1.1.1 through the tunnel to Router B. Router B could have a route to 1.1.1.1 through the tunnel to Router A. The rule says Router B needs to drop the packets rather than sending them back the direction from which they came. If router B does send them back, Router A is supposed to discard them, too, based on the rule. If the rule didn't exist, the packets would just bounce back and forth until the TTL expired.
    – Ron Maupin
    Commented Dec 11, 2015 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.