diff options
author | Michael Brown | 2009-08-09 02:25:38 +0200 |
---|---|---|
committer | Michael Brown | 2009-08-09 02:31:07 +0200 |
commit | 46073f12391e5a467fbf5d5853ea91333fcce843 (patch) | |
tree | f364ef93930613b99d602fff44e644427c13d956 /src/include/gpxe/ib_cm.h | |
parent | [ath5k] Add support for non-802.11n Atheros wireless NICs (diff) | |
download | ipxe-46073f12391e5a467fbf5d5853ea91333fcce843.tar.gz ipxe-46073f12391e5a467fbf5d5853ea91333fcce843.tar.xz ipxe-46073f12391e5a467fbf5d5853ea91333fcce843.zip |
[infiniband] Handle duplicate Communication Management REPs
We will terminate our transaction as soon as we receive the first CM
REP, since that provides all the state that we need. However, the
peer may resend the REP if it didn't see our RTU, and if we don't
respond with another RTU we risk being disconnected. (This protocol
appears not to handle retries gracefully.)
Fix by adding a management agent that will listen for these duplicate
REPs and send back an RTU.
Diffstat (limited to 'src/include/gpxe/ib_cm.h')
-rw-r--r-- | src/include/gpxe/ib_cm.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/gpxe/ib_cm.h b/src/include/gpxe/ib_cm.h index 07f5b716..670fffda 100644 --- a/src/include/gpxe/ib_cm.h +++ b/src/include/gpxe/ib_cm.h @@ -46,6 +46,9 @@ struct ib_connection { /** Connection operations */ struct ib_connection_operations *op; + /** List of connections */ + struct list_head list; + /** Path to target */ struct ib_path *path; /** Connection request management transaction */ |