Hi, I am thinking the cleanest implementation would be to separate MPTCP processing from TCP. On the receive side, when a packet arrives TCP only does TCP processing (That leaves the code untouched), the packet is than passed upto MPTCP which does MPTCP processing and can either process the packet, drop it or send a reset. The current implementation is doing receive processing in TCP because it wants to validate the packet and accept it in TCP or not -- but why ? that seems to be an implementation choice. In the case where the receiver drops the packet in MPTCP, no data ack will be sent and MPTCP will re-transmit, It can retransmit even on the same flow. To achieve this the code requires some change as the DSS option has to be saved. I think this is doable and is a much cleaner solution. Similarly we need to think about the Tx side -- That is not so straight forward but we need to think harder. I can work on making the Rx changes but want to discuss it in case I am missing potential issues and if this is not a got option. Comments ? Rao