From 46073f12391e5a467fbf5d5853ea91333fcce843 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 9 Aug 2009 01:25:38 +0100 Subject: [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. --- src/include/gpxe/ib_cm.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/include') diff --git a/src/include/gpxe/ib_cm.h b/src/include/gpxe/ib_cm.h index 07f5b7168..670fffdaa 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 */ -- cgit v1.2.3-55-g7522