copy_port_attr_to_resp(&attr, &resp.legacy_resp, ib_dev, port_num);
        resp.port_cap_flags2 = attr.port_cap_flags2;
+       resp.active_speed_ex = attr.active_speed;
 
        return uverbs_copy_to_struct_or_zero(attrs, UVERBS_ATTR_QUERY_PORT_RESP,
                                             &resp, sizeof(resp));
        UVERBS_ATTR_PTR_OUT(
                UVERBS_ATTR_QUERY_PORT_RESP,
                UVERBS_ATTR_STRUCT(struct ib_uverbs_query_port_resp_ex,
-                                  reserved),
+                                  active_speed_ex),
                UA_MANDATORY));
 
 DECLARE_UVERBS_NAMED_METHOD(
 
        case IB_RATE_50_GBPS:  return  20;
        case IB_RATE_400_GBPS: return 160;
        case IB_RATE_600_GBPS: return 240;
+       case IB_RATE_800_GBPS: return 320;
        default:               return  -1;
        }
 }
        case 20:  return IB_RATE_50_GBPS;
        case 160: return IB_RATE_400_GBPS;
        case 240: return IB_RATE_600_GBPS;
+       case 320: return IB_RATE_800_GBPS;
        default:  return IB_RATE_PORT_CURRENT;
        }
 }
        case IB_RATE_50_GBPS:  return 53125;
        case IB_RATE_400_GBPS: return 425000;
        case IB_RATE_600_GBPS: return 637500;
+       case IB_RATE_800_GBPS: return 850000;
        default:               return -1;
        }
 }