@@ -353,7 +353,13 @@ static void validate_speed(int peerspeed, int lsa)
static void validate_extended_speed(int peerespeed, int lsea)
{
- if ((espeed & peerespeed & 0x4)) {
+
+ if ((espeed & peerespeed & 0x8)) {
+ if (lsea != 8)
+ IBWARN
+ ("Peer ports operating at active extended speed %d rather than 8 (106.25 Gbps)",
+ lsea);
+ } else if ((espeed & peerespeed & 0x4)) {
if (lsea != 4)
IBWARN
("Peer ports operating at active extended speed %d rather than 4 (53.125 Gbps)",
@@ -749,6 +749,7 @@ typedef struct {
#define IB_PORT_CAP2_IS_SWITCH_PORT_STATE_TBL_SUPP htobe16(0x0008)
#define IB_PORT_CAP2_IS_LINK_WIDTH_2X_SUPPORTED htobe16(0x0010)
#define IB_PORT_CAP2_IS_LINK_SPEED_HDR_SUPPORTED htobe16(0x0020)
+#define IB_PORT_CAP2_IS_LINK_SPEED_NDR_SUPPORTED htobe16(0x0400)
typedef struct {
__be32 cap_mask;
__be16 fec_mode_active;
@@ -803,6 +804,8 @@ typedef struct {
#define IB_PATH_RECORD_RATE_50_GBS 20
#define IB_PATH_RECORD_RATE_400_GBS 21
#define IB_PATH_RECORD_RATE_600_GBS 22
+#define IB_PATH_RECORD_RATE_800_GBS 23
+#define IB_PATH_RECORD_RATE_1200_GBS 24
#define FDR10 0x01
typedef struct {
uint8_t resvd1[3];