I would like to revisit this topic...

ofproto-dpif.c
--------------

I think that say, two, dec_mpls_ttl actions in a single flow, starting from a 
TTL of, say, 2, will fail to detect reaching TTL 0.  Also, the existing 
implementation of dec ttl for IP stop translating actions after reaching TTL 0. 
 Presumably the MPLS implementation should do the same.

<rk> In traditional  network for invalid TTLs(0 and 1) ICMP error msg has to be 
sent and a TTL expiry handling attack can be easily envisioned with this. 
Routers usually mitigate this attack via access-list to drop packets with TTL 
0/1 (assumption is that network applications usually send with larger TTL value 
and it's highly unlikely that a packet will ever arrive with TTL 0/1) or 
rate-limit sending ICMP error message and can be evidenced via traceroute. In 
OVS, I see every invalid TTL(both IP and MPLS) packet is sent to the controller 
and I assume controller does rate control on sending ICMP error message  or 
drop the packet  or do additional processing?  It's quite unclear to me what's 
the rationale to send every invalid TTL packet to controller with knowing what 
it does, can you please clarify?

Thanks,
Ravi
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to