Hello, v2 changes only the test of patch 4: it now sends a 65535-byte packet instead of a 70000-byte one. A packet in a DPDK build holds at most 65535 bytes, so in the robot's DPDK jobs ovs-vswitchd aborted on the larger packet before the code under test ran. The packet-in of a 65535-byte packet is still longer than the OpenFlow maximum, so the test checks the same thing, and it now passes in a DPDK build as well.
These patches fix how ovs-vswitchd handles and answers messages on an OpenFlow connection. Patches 1 to 3 fix handle_flow_monitor_request(). A request that deletes or modifies a monitor which an earlier entry of the same request created freed it while it was still in the list the handler uses afterwards, and an error in a request was answered from the buffer position the decoder had already moved past instead of the request header. Patch 1 makes the OpenFlow 1.4 decoder set the table id of a delete, which the test of patch 2 relies on. Patch 4 stops vconn and rconn from sending a message longer than the OpenFlow maximum of 65535 bytes, which went out with a wrapped length field (a packet-in of a large packet) and desynchronised the connection. Each patch adds a test. With AddressSanitizer, the tests of patches 2 and 3 fail on the current code; the test of patch 4 fails without it. As in the resend, each patch mail carries its commit as a plain-text attachment, exactly as git format-patch wrote it, and its body holds only the author line. Please apply the patches as they are (git am), so that they keep their author; change anything you like in review. Alejandro Pacheco (4): ofp-monitor: Set the table id of decoded OpenFlow 1.4 deletes. ofproto: Forget destroyed flow monitors within one request. ofproto: Send flow monitor request errors with the request header. vconn: Refuse to send messages longer than the OpenFlow maximum. lib/ofp-monitor.c | 2 + lib/rconn.c | 21 ++++++-- lib/vconn.c | 18 ++++++- ofproto/ofproto.c | 20 ++++++- tests/ofproto-dpif.at | 27 ++++++++++ tests/ofproto.at | 122 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 203 insertions(+), 7 deletions(-) -- Alejandro Pacheco _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
