)]}'
{"doc/source/specs/traceroute.rst":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"8b542469d409cf11f547f302aaf3b8c5a482ef4f","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The virtual routers in Dragonflow don\u0027t support traceroute well. When a"},{"line_number":25,"context_line":"detecting packet of traceroute goes through virtual router, you will most"},{"line_number":26,"context_line":"likely get a asterisk from traceroute\u0027s output. That means traceroute doesn\u0027t"},{"line_number":27,"context_line":"get the expected response from router. More details will be provided in the"},{"line_number":28,"context_line":"following description."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_6cc8ce75","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":12},"updated":"2017-01-19 07:34:41.000000000","message":"it should be \"an\" here.","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"e3ade4d7ee9874b1c98816e1b95c61e59673d513","unresolved":false,"context_lines":[{"line_number":67,"context_line":"The virtual routers in Dragonflow are also NAT(network address translation)"},{"line_number":68,"context_line":"devices. The NAT here refers to one-one NAT, which is floating IP in"},{"line_number":69,"context_line":"Dragonflow. As mentioned above, the ICMP error message will contain original"},{"line_number":70,"context_line":"datagram\u0027s data. It is an embedded packet. According to RFC5508[#]_, NAT"},{"line_number":71,"context_line":"devices should also revert the IP of embedded packet. Or else, it will be"},{"line_number":72,"context_line":"an invalid ICMP packet."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. [#] https://tools.ietf.org/html/rfc5508"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_994b7eb0","line":71,"range":{"start_line":70,"start_character":69,"end_line":71,"end_character":53},"updated":"2017-01-19 07:18:00.000000000","message":"And packet checksum recalculated","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"b47e8cb493d4ffe7cfc28d4e5b9bf97453ff0520","unresolved":false,"context_lines":[{"line_number":67,"context_line":"The virtual routers in Dragonflow are also NAT(network address translation)"},{"line_number":68,"context_line":"devices. The NAT here refers to one-one NAT, which is floating IP in"},{"line_number":69,"context_line":"Dragonflow. As mentioned above, the ICMP error message will contain original"},{"line_number":70,"context_line":"datagram\u0027s data. It is an embedded packet. According to RFC5508[#]_, NAT"},{"line_number":71,"context_line":"devices should also revert the IP of embedded packet. Or else, it will be"},{"line_number":72,"context_line":"an invalid ICMP packet."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. [#] https://tools.ietf.org/html/rfc5508"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_afc62814","line":71,"range":{"start_line":70,"start_character":69,"end_line":71,"end_character":53},"in_reply_to":"5a3905b3_4c1dd20e","updated":"2017-01-19 08:10:10.000000000","message":"I talked about the checksum of the embedded packet in the icmp data.\nNot the checksum of ICMP packet itself.","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"f2ed77f3d5d5ca552bdef963cb7ae1bb8f88a7f2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"The virtual routers in Dragonflow are also NAT(network address translation)"},{"line_number":68,"context_line":"devices. The NAT here refers to one-one NAT, which is floating IP in"},{"line_number":69,"context_line":"Dragonflow. As mentioned above, the ICMP error message will contain original"},{"line_number":70,"context_line":"datagram\u0027s data. It is an embedded packet. According to RFC5508[#]_, NAT"},{"line_number":71,"context_line":"devices should also revert the IP of embedded packet. Or else, it will be"},{"line_number":72,"context_line":"an invalid ICMP packet."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. [#] https://tools.ietf.org/html/rfc5508"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_4c1dd20e","line":71,"range":{"start_line":70,"start_character":69,"end_line":71,"end_character":53},"in_reply_to":"5a3905b3_994b7eb0","updated":"2017-01-19 07:31:06.000000000","message":"I will let the ryu to automatically-calculate the checksum, by setting the csum of icmp packet to 0.","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4bd0cc9140378a1ce99961cfc13138dd3bdb89cc","unresolved":false,"context_lines":[{"line_number":67,"context_line":"The virtual routers in Dragonflow are also NAT(network address translation)"},{"line_number":68,"context_line":"devices. The NAT here refers to one-one NAT, which is floating IP in"},{"line_number":69,"context_line":"Dragonflow. As mentioned above, the ICMP error message will contain original"},{"line_number":70,"context_line":"datagram\u0027s data. It is an embedded packet. According to RFC5508[#]_, NAT"},{"line_number":71,"context_line":"devices should also revert the IP of embedded packet. Or else, it will be"},{"line_number":72,"context_line":"an invalid ICMP packet."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. [#] https://tools.ietf.org/html/rfc5508"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_8ac4f140","line":71,"range":{"start_line":70,"start_character":69,"end_line":71,"end_character":53},"in_reply_to":"5a3905b3_afc62814","updated":"2017-01-19 11:13:29.000000000","message":"The embedded ipv4 Header Checksum will be automatically-calculated when encoding. So it will be taken care by ryu too.","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"2b552c8ab36236b24fdb083ba8fdea5e08439f15","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    02:58:24.390013 IP (tos 0xc0, ttl 63, id 55039, offset 0, flags [none], proto ICMP (1), length 74)"},{"line_number":80,"context_line":"        172.24.4.1 \u003e 20.0.0.12: ICMP time exceeded in-transit, length 54"},{"line_number":81,"context_line":"            IP (tos 0x0, ttl 1, id 6596, offset 0, flags [DF], proto UDP (17), length 46)"},{"line_number":82,"context_line":"        20.0.0.12.51016 \u003e 192.168.31.94.33438: UDP, length 18"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Dragonflow controller impact"},{"line_number":85,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_a003970e","line":82,"range":{"start_line":82,"start_character":8,"end_line":82,"end_character":10},"updated":"2017-01-19 09:40:57.000000000","message":"a blank line is needed before this line","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4bd0cc9140378a1ce99961cfc13138dd3bdb89cc","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    02:58:24.390013 IP (tos 0xc0, ttl 63, id 55039, offset 0, flags [none], proto ICMP (1), length 74)"},{"line_number":80,"context_line":"        172.24.4.1 \u003e 20.0.0.12: ICMP time exceeded in-transit, length 54"},{"line_number":81,"context_line":"            IP (tos 0x0, ttl 1, id 6596, offset 0, flags [DF], proto UDP (17), length 46)"},{"line_number":82,"context_line":"        20.0.0.12.51016 \u003e 192.168.31.94.33438: UDP, length 18"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Dragonflow controller impact"},{"line_number":85,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_aac1ad30","line":82,"range":{"start_line":82,"start_character":8,"end_line":82,"end_character":10},"in_reply_to":"5a3905b3_a003970e","updated":"2017-01-19 11:13:29.000000000","message":"Done","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"2b552c8ab36236b24fdb083ba8fdea5e08439f15","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d11 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":125,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d3 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"These two flows matche ICMP Time Exceeded message and ICMP Destination"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_bba7494e","line":124,"range":{"start_line":124,"start_character":91,"end_line":124,"end_character":98},"updated":"2017-01-19 09:40:57.000000000","message":"what if the ttl equals to 0 after dec_ttl?","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4bd0cc9140378a1ce99961cfc13138dd3bdb89cc","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d11 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":125,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d3 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"These two flows matche ICMP Time Exceeded message and ICMP Destination"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_ea1655a6","line":124,"range":{"start_line":124,"start_character":91,"end_line":124,"end_character":98},"in_reply_to":"5a3905b3_bba7494e","updated":"2017-01-19 11:13:29.000000000","message":"With proper configuration, the OpenFlow 1.3 will send the packet to controller if ttl is 0 after calculation. I plan to handle invalid ttl packet at controller. See:\n\nhttps://review.openstack.org/#/c/422439/","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"2b552c8ab36236b24fdb083ba8fdea5e08439f15","unresolved":false,"context_lines":[{"line_number":122,"context_line":"::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d11 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":125,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d3 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"These two flows matche ICMP Time Exceeded message and ICMP Destination"},{"line_number":128,"context_line":"Unreachable Message. Do NAT to the ICMP packets and then packet-in the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_3bb519cd","line":125,"range":{"start_line":125,"start_character":109,"end_line":125,"end_character":114},"updated":"2017-01-19 09:40:57.000000000","message":"vm_ip?","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4bd0cc9140378a1ce99961cfc13138dd3bdb89cc","unresolved":false,"context_lines":[{"line_number":122,"context_line":"::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d11 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":125,"context_line":"    priority\u003dhigh,icmp,nw_dst\u003dfip,icmp_type\u003d3 actions\u003dmod_dl_src:gw_mac,mod_dl_dst:vm_mac,dec_ttl,mod_nw_dst:vp_ip,(packet-in controller)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"These two flows matche ICMP Time Exceeded message and ICMP Destination"},{"line_number":128,"context_line":"Unreachable Message. Do NAT to the ICMP packets and then packet-in the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_cadc391b","line":125,"range":{"start_line":125,"start_character":109,"end_line":125,"end_character":114},"in_reply_to":"5a3905b3_3bb519cd","updated":"2017-01-19 11:13:29.000000000","message":"Done","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"},{"author":{"_account_id":20153,"name":"Duan Kebo","email":"duankebo@gmail.com"},"change_message_id":"2b552c8ab36236b24fdb083ba8fdea5e08439f15","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"::"},{"line_number":146,"context_line":"     priority\u003dhigh,tcp,metadata\u003dnetwork_uid,nw_dst\u003drouter_port_ip actions\u003d(packet-in controller)"},{"line_number":147,"context_line":"     priority\u003dhigh,udp,metadata\u003dnetwork_uid,nw_dst\u003drouter_port_ip actions\u003d(packet-in controller)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"These two flows matche UDP and TCP packets to router port, and reply with"},{"line_number":150,"context_line":"ICMP Destination Unreachable Message."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a3905b3_fb1c7179","line":147,"range":{"start_line":147,"start_character":14,"end_line":147,"end_character":18},"updated":"2017-01-19 09:40:57.000000000","message":"In this table, we will decrease the ttl also. We need to consider the case that ttl is decreased to 0.","commit_id":"8a56d7e77ad92aa85bcbc02204c1dca610dbb2eb"}]}
