packet-infiniband: Fixed duplicate conversation entries
authorParav Pandit <paravpandit@yahoo.com>
Tue, 29 Nov 2016 03:40:55 +0000 (22:40 -0500)
committerMichael Mann <mmann78@netscape.net>
Sat, 3 Dec 2016 13:24:16 +0000 (13:24 +0000)
commit77f31c6e7de5baed978298ae599494255fe254da
treee6caf428cf6a40c89f4ac2dc4f5153297bfe1d59
parent50489fd279637e24b742a1ceaec0282974d07a18
packet-infiniband: Fixed duplicate conversation entries

1. Fixed find_conversation for PT_IBQP to not lookup in reverse
direction when all searches fail.
This is required, because there could be valid different connection in
reverse direction which mistakenly gets updated for non template cases.

2. Added support for having MAD data for upper level dissectors to process
during RC packet processing.
This is required because connection options are negotiated out of band
using this CM exchanges (unlike in band TCP options).

3. Moved creating unidirectional connections when actually MAD packets
are processed.
Previously client-to-server unidirectional conversation was created when
CM_RSP stage, where MAD Data of CM_REQ packet is inaccessible.

4. Fixed creating multiple conversations with same address property by
eliminating create_conv_and_add_proto_data during RTU stage, which was
incorrect.
Now they are created during REQ and RSP frame processing. (Instead of
RSP and RTU processing).

5. Added support for creating bidirectional connection that ULP can
refer.
This is required to keep track of oustanding transactions on a
connection (requests and responses).

Bug: 11363
Change-Id: I32ea084a581a58efbc16dbb7a3e267c82622c50c
Tested-by: paravpandit@yahoo.com
Reviewed-on: https://code.wireshark.org/review/18982
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
epan/conversation.c
epan/dissectors/packet-infiniband.c
epan/dissectors/packet-infiniband.h