Hi,

I'm trying to implement traceroute by making OVS vswitch decrease TTL of 
ingress IP packet and send "packet-in" to controller if the TTL is initially 
invalid, i.e. 0 or 1.

My test env is:
OVS: 2.0.2 or 2.3.1 or 2.4.0
OVS-controller: 2.3.1
OF: OpenFlow13

My test steps are:

1.       Add a flow  to vswitch:
cookie=0x0, duration=471.736s, table=0, n_packets=13, n_bytes=1274, 
ip,in_port=1 actions=dec_ttl,goto_table:100

2.       Send a IP packet with TTL=1 to the vswitch.
I find the packet matched the dec_ttl flow and was dropped, but there's no 
"packet-in" sent by vswitch.

In the ovs-ofctl manual, it's said in dec_ttl action that "If controller ids 
are not specified, the "packet_in" message will be sent only to the controllers 
having controller id zero which have registered for the invalid ttl packets."  
In my test, I didn't specify the controller's controller-id, which should have 
0 by default.  And it's said in the code of ofproto.c that 
"OFPC_INVALID_TTL_TO_CONTROLLER is deprecated in OF 1.3", does it mean in 
OF1.3, "packet_in" on invalid ttl will be sent by default and no register is 
needed? Or such packet-in is not supported in OF1.3?

BTW, match on "nw_ttl" seems also not supported in OF1.3.

How to solve this problem?

Thanks

Chao
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to