On Tue, Feb 06, 2018 at 12:11:21AM -0000, Mike Pontillo wrote: > Steve, can you be more specific about which packet capture showed the > "stacked OACK" behavior?
This was the first packet capture that Jason posted, in comment #30. The udp retransmits shown in packets 6262-6268 each receive an answering packet in 6270-6271,6273-6277, in addition to 6269 as an answer to 6261. For whatever reason, wireshark here does not decipher these duplicate OACK packets as OACK, but an examination of the raw packets shows that's clearly what they are. > I looked at a packet capture Andres pointed me to, and don't see the > "stacked OACKs" you describe. Each TFTP transaction (per RFC 1350) is > indicated by the (source port, dest port) tuple, and I see that MAAS > correctly OACKs each individual transaction (per RFC 2347) - not the > retry packets within the same transaction. Packets 6269-6271,6273-6277 are all answers to the same port on the client. They don't have the same source port, because MAAS has allocated a separate source port for each of these. It's not acking a separate individual transaction, it's MAAS /creating/ a separate transaction (with the allocation of a separate source port) for each one. RFC2347 does not speak to this; the discussion of the port negotiation is in RFC1350 ยง4: In order to create a connection, each end of the connection chooses a TID for itself, to be used for the duration of that connection. The TID's chosen for a connection should be randomly chosen, so that the probability that the same number is chosen twice in immediate succession is very low. Every packet has associated with it the two TID's of the ends of the connection, the source TID and the destination TID. These TID's are handed to the supporting UDP (or other datagram protocol) as the source and destination ports. A requesting host chooses its source TID as described above, and sends its initial request to the known TID 69 decimal (105 octal) on the serving host. The response to the request, under normal operation, uses a TID chosen by the server as its source TID and the TID chosen for the previous message by the requestor as its destination TID. The two chosen TID's are then used for the remainder of the transfer. MAAS responds to 8 udp retransmits on srcport=25305, dstport=69 by sending 8 independent OACK packets back to dstport=25305 each from a different source port. Since Andres confirms that these duplicate acks still only result in one database query, this may be a negligible bug if the only impact is duplicate small udp packets. OTOH, depending on how MAAS implements this, it could also result in port exhaustion on the server if unanswered OACKs are allowed to linger. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1743249 Title: Failed Deployment after timeout trying to retrieve grub cfg To manage notifications about this bug go to: https://bugs.launchpad.net/maas/+bug/1743249/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
