mirror of
https://github.com/ipxe/ipxe
synced 2026-05-22 00:03:42 +03:00
[intelxl] Negotiate virtual function API version 1.1
Negotiate API version 1.1 in order to allow access to virtual function opcodes that are disallowed by default on the E810. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -91,7 +91,7 @@ struct intelxlvf_admin_version_buffer {
|
||||
#define INTELXLVF_ADMIN_API_MAJOR 1
|
||||
|
||||
/** Admin queue VF API minor version */
|
||||
#define INTELXLVF_ADMIN_API_MINOR 0
|
||||
#define INTELXLVF_ADMIN_API_MINOR 1
|
||||
|
||||
/** Admin Queue VF Reset opcode */
|
||||
#define INTELXLVF_ADMIN_RESET 0x00000002
|
||||
@@ -99,10 +99,26 @@ struct intelxlvf_admin_version_buffer {
|
||||
/** Admin Queue VF Get Resources opcode */
|
||||
#define INTELXLVF_ADMIN_GET_RESOURCES 0x00000003
|
||||
|
||||
/** Admin Queue VF Capabilities data buffer */
|
||||
struct intelxlvf_admin_capabilities_buffer {
|
||||
/** Capabilities */
|
||||
uint32_t caps;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** Admin Queue VF Get Resources data buffer */
|
||||
struct intelxlvf_admin_get_resources_buffer {
|
||||
/** Number of VSIs */
|
||||
uint16_t vsis;
|
||||
/** Number of queue pairs */
|
||||
uint16_t qps;
|
||||
/** Number of MSI-X vectors */
|
||||
uint16_t vectors;
|
||||
/** Maximum MTU */
|
||||
uint16_t mtu;
|
||||
/** Capabilities */
|
||||
uint32_t caps;
|
||||
/** Reserved */
|
||||
uint8_t reserved_a[20];
|
||||
uint8_t reserved_a[8];
|
||||
/** VSI switching element ID */
|
||||
uint16_t vsi;
|
||||
/** Reserved */
|
||||
@@ -111,6 +127,9 @@ struct intelxlvf_admin_get_resources_buffer {
|
||||
uint8_t mac[ETH_ALEN];
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** Layer 2 capabilities (add/remove MAC, configure promiscuous mode) */
|
||||
#define INTELXLVF_ADMIN_CAP_L2 0x00000001
|
||||
|
||||
/** Admin Queue VF Status Change Event opcode */
|
||||
#define INTELXLVF_ADMIN_STATUS 0x00000011
|
||||
|
||||
@@ -286,6 +305,8 @@ union intelxlvf_admin_buffer {
|
||||
union intelxl_admin_buffer xl;
|
||||
/** VF Version data buffer */
|
||||
struct intelxlvf_admin_version_buffer ver;
|
||||
/** VF Capabilities data buffer */
|
||||
struct intelxlvf_admin_capabilities_buffer caps;
|
||||
/** VF Get Resources data buffer */
|
||||
struct intelxlvf_admin_get_resources_buffer res;
|
||||
/** VF Status Change Event data buffer */
|
||||
|
||||
Reference in New Issue
Block a user