> I looked into the code and the logic seems good to me.

> But reordering in dataplane also has performance implications especially 
> considering non-TCP traffic. Also, the packets came to OvS may already been 
> out-of-ordered.  Could you provide some performance data points showing  when 
> all EMC hit and mix of EMC-hit and EMC-miss cases, and how is the throughput 
> affected? Also maybe considering only do it for TCP traffic?

Thanks Yipeng for reviewing the patch.

The patch is for *preventing* OVS to do any reordering of packets received in a 
batch which belongs to same megaflow. OVS should send all packets for a given 
megaflow in the same order as it receives in the batch.

However if a packet is already received out-of-order from the network itself, 
OVS cannot put it back in order.

Regarding performance it also depends on application how it treats any 
out-of-order packet. For e.g. if a TCP application does not use SACK then end 
point may request retransmissions of packets which are received out-of-order 
thereby reducing effective throughput. Similarly any delayed (out-of-order) ACK 
can also cause fast-retransmits from sender side.

As per my understanding in principle if OVS is acting as a L2 switch (NORMAL 
flow) then it should not change the order of received packets for a given flow 
since we don't know how an application (Virtual Machine) will react to 
out-of-order packets.

Warm Regards,
Vishal Ajmera
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to