Version: 1
-Previous: 7e583bbe6c1c458903abe40e6e268e2ea7de1765
-Head: 96c7db6bcd9444e2584b8eb5546bb1d87d7919fb
+Previous: 0d9f8612e2c92ab4585bd0e23323ef788ff96f5f
+Head: 6f466455d64655ca852ff6942c44052592296c75
Applied:
- lmc: 7dac2ca1d3c145f6a91aa8cac64d05f8f21d6f4f
- refresh-temp: 96c7db6bcd9444e2584b8eb5546bb1d87d7919fb
+ lmc: 6f466455d64655ca852ff6942c44052592296c75
Unapplied:
xref-lid: b5eda7109939c041d6a150ea6b4ca5b92cad4691
ibacm-check-for-nodelay-on-pat: 1540687d721504ec1810aac7cc53ec7272415eb9
Bottom: 1fcbb0d2b361b8a2ed7ce1d4252ecc8c4be8ae71
-Top: 1fcbb0d2b361b8a2ed7ce1d4252ecc8c4be8ae71
+Top: 44bac54467fee44e1945f9a0311472cc84ac5b50
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2010-12-15 17:23:26 -0800
ibacm: fix lmc usage
-Convert lmc to actual mask and apply the mask to determine the
-source path bits.
+Convert lmc to actual mask for use in slid comparisons. All SA
+queries are initiated from the base lid, so set the src_path_bits
+to 0. It is currently set incorrectly based on using the lmc as
+a mask against the base lid.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
---
-
+diff --git a/src/acm.c b/src/acm.c
+index 4ec01e8..e8f7a74 100644
+--- a/src/acm.c
++++ b/src/acm.c
+@@ -112,7 +112,7 @@ struct acm_port
+ int gid_cnt;
+ uint16_t pkey_cnt;
+ uint16_t lid;
+- uint8_t lmc;
++ uint8_t lid_mask;
+ uint8_t port_num;
+ };
+
+@@ -2582,11 +2582,11 @@ static void acm_init_port(struct acm_port *port)
+ break;
+ }
+ port->lid = attr.lid;
+- port->lmc = attr.lmc;
++ port->lid_mask = (1 << attr.lmc) - 1;
+
+ acm_init_dest(&port->sa_dest, ACM_ADDRESS_LID,
+ (uint8_t *) &attr.sm_lid, sizeof(attr.sm_lid));
+- port->sa_dest.av.src_path_bits = attr.lid & attr.lmc;
++ port->sa_dest.av.src_path_bits = 0;
+ port->sa_dest.av.dlid = attr.sm_lid;
+ port->sa_dest.av.sl = attr.sm_sl;
+ port->sa_dest.av.port_num = port->port_num;
+++ /dev/null
-Bottom: 1fcbb0d2b361b8a2ed7ce1d4252ecc8c4be8ae71
-Top: 44bac54467fee44e1945f9a0311472cc84ac5b50
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2010-12-15 17:28:45 -0800
-
-Refresh of lmc
-
----
-
-diff --git a/src/acm.c b/src/acm.c
-index 4ec01e8..e8f7a74 100644
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -112,7 +112,7 @@ struct acm_port
- int gid_cnt;
- uint16_t pkey_cnt;
- uint16_t lid;
-- uint8_t lmc;
-+ uint8_t lid_mask;
- uint8_t port_num;
- };
-
-@@ -2582,11 +2582,11 @@ static void acm_init_port(struct acm_port *port)
- break;
- }
- port->lid = attr.lid;
-- port->lmc = attr.lmc;
-+ port->lid_mask = (1 << attr.lmc) - 1;
-
- acm_init_dest(&port->sa_dest, ACM_ADDRESS_LID,
- (uint8_t *) &attr.sm_lid, sizeof(attr.sm_lid));
-- port->sa_dest.av.src_path_bits = attr.lid & attr.lmc;
-+ port->sa_dest.av.src_path_bits = 0;
- port->sa_dest.av.dlid = attr.sm_lid;
- port->sa_dest.av.sl = attr.sm_sl;
- port->sa_dest.av.port_num = port->port_num;