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
