On Saturday, November 12, 2016 10:24:32 AM CET Sven Eckelmann wrote: > Hi, > > alfred allows to have out-of-order push data packet delivery. But these push > data packets are only accepted when they finish with an TXEND that has as > its seqno the amount of packets alfred received for this transaction. A > TXEND packet which is received before the last push data frame was received > would therefore cause the complete transaction to be canceled on the > receiver side. > > It was observed on a TP-Link TL-WR841N/ND v8 [1] that after the upgrade to > Gluon 2016.2 many (if not the most) transaction were out of order. The TXEND > was received before the actual push data was submitted. The master server > reacted to this by: > > 1. TXEND packet received to unknown transaction with seqno != 0 > -> TXEND packet was dropped > 2. PUSH_DATA packet received with seqno 0 received > -> new transaction was created > 3. transaction timeout happened > -> transaction was dropped > > This patchset now changes the behavior to automatically create transactions > when TXEND packets are received. The routines to decode TXEND and PUSH_DATA > packets will check if all frames of a transaction were received and commit > the data when the check was successful. > > This stabilized the statistics [2] for the previously mentioned node. Adopted this series in commits 323c1ed..12a478c. Thanks, Simon