Kaike Wan [Wed, 9 Dec 2015 18:48:11 +0000 (13:48 -0500)]
ibacm: Change default pkey for partitioned fabrics to pkey[0]
In an insecure IB fabric, the default pkey in a port is 0xffff, where each
node is allowed to talk to any other node in the fabric, including the SA
node. However, in a secure fabric, to limit member access, not all nodes
can have the full-member default pkey 0xffff. A typical configuration is
to let SA node have pkey 0xffff while all other nodes have pkey 0x7fff; in
addition, each node can be assigned some other full-member pkeys, such as
0x8001 and 0x8002, so that it can be assigned to different partitions.
In this case, each node can access SA, and yet limits its other access to
only those nodes in its assigned partitions. In such a secure fabric,
however, ibacm will not work by interpreting "default" in its default
address file as 0xffff.
To solve the problem, we will use pkey 0 as the default pkey, in
line with ipoib convention.
Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Kaike Wan [Wed, 9 Dec 2015 18:48:11 +0000 (13:48 -0500)]
[PATCH 1/1] Ibacm: default pkey for partitioned fabrics
In an insecure IB fabric, the default pkey in a port is 0xffff, where each
node is allowed to talk to any other node in the fabric, including the SA
node. However, in a secure fabric, to limit member access, not all nodes
can have the full-member default pkey 0xffff. A typical configuration is
to let SA node have pkey 0xffff while all other nodes have pkey 0x7fff; in
addition, each node can be assigned some other full-member pkeys, such as
0x8001 and 0x8002, so that it can be assigned to different partitions.
In this case, each node can access SA, and yet limits its other access to
only those nodes in its assigned partitions. In such a secure fabric,
however, ibacm will not work by interpreting "default" in its default
address file as 0xffff.
To solve the problem, we will use pkey 0 as the default pkey, in
line with ipoib convention.
Kaike Wan [Tue, 10 Nov 2015 12:10:27 +0000 (07:10 -0500)]
ibacm: Add support for pathrecord query through netlink
This patch enables ibacm to process pathrecord queries through netlink.
Since ibacm can cache pathrecords, this implementation provides an easy
pathrecord cache for kernel components and therefore offers great
performance advantage on large fabric systems.
Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: John Fleck <john.fleck@intel.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Sean Hefty [Wed, 29 Jul 2015 20:53:32 +0000 (13:53 -0700)]
acmp: Specify SGID in PR query
If a PR query is issued with the DGID set, but the SGID not set,
then opensm version 3.3.19 (and likely others) will return a PR
with the SGID set to that of the SM. This appears to be a bug
with the SM, as an SLID is provided.
In order to be safe, specify the SGID with the PR query, so that
we get a PR that's usable.
Sean Hefty [Wed, 29 Jul 2015 20:53:32 +0000 (13:53 -0700)]
acmp: Specify SGID in PR query
If a PR query is issued with the DGID set, but the SGID not set,
then opensm version 3.3.19 (and likely others) will return a PR
with the SGID set to that of the SM. This appears to be a bug
with the SM, as an SLID is provided.
In order to be safe, specify the SGID with the PR query, so that
we get a PR that's usable.
Sean Hefty [Wed, 29 Jul 2015 20:53:32 +0000 (13:53 -0700)]
acmp: Specify SGID in PR query
If a PR query is issued with the DGID set, but the SGID not set,
then opensm version 3.3.19 (and likely others) will return a PR
with the SGID set to that of the SM. This is a change from
previous versions of opensm, which used the SGID of the requesting
port.
In order to be safe, specify the source address as part of the
PR query, so that we get a PR that's usable for connecting to
the source.
Sean Hefty [Wed, 29 Jul 2015 20:53:32 +0000 (13:53 -0700)]
acmp: Specify SGID in PR query
If a PR query is issued with the DGID set, but the SGID not set,
then opensm version 3.3.19 (and likely others) will return a PR
with the SGID set to that of the SM. This is a change from
previous versions of opensm, which used the SGID of the requesting
port.
In order to be safe, specify the source address as part of the
PR query, so that we get a PR that's usable for connecting to
the source.