From: Sean Hefty Date: Fri, 17 Dec 2010 16:03:14 +0000 (-0800) Subject: refresh X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=1c33e0749cae372fbafdf707b5399946fbf8f964;p=~shefty%2Fibacm.git refresh --- diff --git a/meta b/meta index ce0d1ab..e2de591 100644 --- a/meta +++ b/meta @@ -1,9 +1,8 @@ Version: 1 -Previous: a4ab535d5fef439075e49046daace74b7f2385d4 -Head: 166ec53f82766d2eaaa7a14b848ea4fc08ad0fc4 +Previous: d8f7a03fd455ee48cb543c885c2a09805ccd1798 +Head: 3cf2f8199942cdcb9639efcb120af639dbe9515e Applied: lmc: b355854c79a1e446e87684a41663ad5aae258b73 - lid: a5f2345a60570ce44882ab083f5dcfc6fc60792e - refresh-temp: 166ec53f82766d2eaaa7a14b848ea4fc08ad0fc4 + lid: 3cf2f8199942cdcb9639efcb120af639dbe9515e Unapplied: Hidden: diff --git a/patches/lid b/patches/lid index 8862721..3a6f764 100644 --- a/patches/lid +++ b/patches/lid @@ -1,5 +1,5 @@ Bottom: b2af32a606dc3c3e64f150250320dc7d52426926 -Top: a15744a4e313a55d0b2bac2e14be1aed79ec75f5 +Top: 70266ac3fc8299998c668dc5b15ed7ad85d3fc51 Author: Sean Hefty Date: 2010-12-13 10:35:40 -0800 @@ -14,7 +14,7 @@ Signed-off-by: Sean Hefty --- diff --git a/src/acm.c b/src/acm.c -index e0f0b94..5da4044 100644 +index e0f0b94..b367b70 100644 --- a/src/acm.c +++ b/src/acm.c @@ -268,8 +268,13 @@ acm_format_name(int level, char *name, size_t name_size, @@ -192,17 +192,22 @@ index e0f0b94..5da4044 100644 ep = acm_get_ep(&msg->data[0]); if (!ep) { acm_log(1, "notice - could not find local end point\n"); -@@ -2060,6 +2103,88 @@ put: +@@ -2060,6 +2103,94 @@ put: return ret; } ++/* ++ * The message buffer contains extra address data buffers. We extract the ++ * destination address from the path record into an extra buffer, so we can ++ * lookup the destination by either LID or GID. ++ */ +static int +acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) +{ + struct acm_ep *ep; + struct acm_dest *dest; + struct ibv_path_record *path; -+ uint8_t addr[ACM_MAX_ADDRESS]; ++ uint8_t *addr; + uint8_t status; + int ret; + @@ -227,7 +232,8 @@ index e0f0b94..5da4044 100644 + return acm_client_resolve_resp(client, msg, NULL, ACM_STATUS_ESRCADDR); + } + -+ memset(addr, 0, sizeof addr); ++ addr = &msg->data[1].info.addr; ++ memset(addr, 0, ACM_MAX_ADDRESS); + if (path->dlid) { + * ((uint16_t *) addr) = path->dlid; + dest = acm_acquire_dest(ep, ACM_ADDRESS_LID, addr); @@ -281,7 +287,7 @@ index e0f0b94..5da4044 100644 static void acm_svr_receive(struct acm_client *client) { struct acm_msg msg; -@@ -2085,7 +2210,11 @@ static void acm_svr_receive(struct acm_client *client) +@@ -2085,7 +2216,11 @@ static void acm_svr_receive(struct acm_client *client) } if (resolve_msg->data[0].type == ACM_EP_INFO_PATH) { diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index d5be48e..0000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,43 +0,0 @@ -Bottom: a15744a4e313a55d0b2bac2e14be1aed79ec75f5 -Top: 70266ac3fc8299998c668dc5b15ed7ad85d3fc51 -Author: Sean Hefty -Date: 2010-12-17 08:03:14 -0800 - -Refresh of lid - ---- - -diff --git a/src/acm.c b/src/acm.c -index 5da4044..b367b70 100644 ---- a/src/acm.c -+++ b/src/acm.c -@@ -2103,13 +2103,18 @@ put: - return ret; - } - -+/* -+ * The message buffer contains extra address data buffers. We extract the -+ * destination address from the path record into an extra buffer, so we can -+ * lookup the destination by either LID or GID. -+ */ - static int - acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) - { - struct acm_ep *ep; - struct acm_dest *dest; - struct ibv_path_record *path; -- uint8_t addr[ACM_MAX_ADDRESS]; -+ uint8_t *addr; - uint8_t status; - int ret; - -@@ -2134,7 +2139,8 @@ acm_svr_resolve_path(struct acm_client *client, struct acm_resolve_msg *msg) - return acm_client_resolve_resp(client, msg, NULL, ACM_STATUS_ESRCADDR); - } - -- memset(addr, 0, sizeof addr); -+ addr = &msg->data[1].info.addr; -+ memset(addr, 0, ACM_MAX_ADDRESS); - if (path->dlid) { - * ((uint16_t *) addr) = path->dlid; - dest = acm_acquire_dest(ep, ACM_ADDRESS_LID, addr);