From dac91db65e756a3198616da8cca11d66a5db6db7 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Tue, 19 Jun 2018 09:29:01 +0900 Subject: mptcp: Correctly find mappings and reinjections - removed mptcp.duplicated_dsn in favor of mptcp.reinjection_of/mptcp.reinjected_in reinjected_in lists the packets where the DSN was later reinjected in. reinjection_of lists the packets in which this DSN was already transmitted. - There was a bug where the max_edge property of the interval tree was not correctly updated. Right now wireshark gives a dsn for every TCP frame (even empty packets). - Now displays mappings only for packets with data (seglen > 0). - Renamed dsn_map to dsn2packet_map and mappings to ssn2dsn_mappings. - precises the complexity of enabling certain MPTCP options so that the user better understand their impact on processing speed. Change-Id: I24adc3161021b7f6a084763a74dc580f1c1f2c2e Reviewed-on: https://code.wireshark.org/review/28326 Reviewed-by: Anders Broman --- epan/dissectors/packet-tcp.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'epan/dissectors/packet-tcp.h') diff --git a/epan/dissectors/packet-tcp.h b/epan/dissectors/packet-tcp.h index 7f84351ade..c1811fa049 100644 --- a/epan/dissectors/packet-tcp.h +++ b/epan/dissectors/packet-tcp.h @@ -257,15 +257,16 @@ struct mptcp_subflow { guint8 address_id; /* sent during an MP_JOIN */ - /* Attempt to map DSN to packets - * Ideally this was to generate application latency - * each node contains a GSList * ? - * this should be done in tap or 3rd party tools + /* map DSN to packets + * Used when looking for reinjections across subflows */ - wmem_itree_t *dsn_map; + wmem_itree_t *dsn2packet_map; - /* Map SSN to a DSS mappings, each node registers a mptcp_dss_mapping_t */ - wmem_itree_t *mappings; + /* Map SSN to a DSS mappings + * a DSS can map DSN to SSNs possibily over several packets, + * hence some packets may have been mapped by previous DSS, + * whence the necessity to be able to look for SSN -> DSN */ + wmem_itree_t *ssn2dsn_mappings; /* meta flow to which it is attached. Helps setting forward and backward meta flow */ mptcp_meta_flow_t *meta; }; -- cgit v1.2.3