Print this page
6064 ixgbe needs X550 support

@@ -1,8 +1,8 @@
 /******************************************************************************
 
-  Copyright (c) 2001-2012, Intel Corporation 
+  Copyright (c) 2001-2015, Intel Corporation 
   All rights reserved.
   
   Redistribution and use in source and binary forms, with or without 
   modification, are permitted provided that the following conditions are met:
   

@@ -78,25 +78,64 @@
                                             * clear to send requests */
 #define IXGBE_VT_MSGINFO_SHIFT  16
 /* bits 23:16 are used for extra info for certain messages */
 #define IXGBE_VT_MSGINFO_MASK   (0xFF << IXGBE_VT_MSGINFO_SHIFT)
 
+/* definitions to support mailbox API version negotiation */
+
+/*
+ * each element denotes a version of the API; existing numbers may not
+ * change; any additions must go at the end
+ */
+enum ixgbe_pfvf_api_rev {
+        ixgbe_mbox_api_10,      /* API version 1.0, linux/freebsd VF driver */
+        ixgbe_mbox_api_20,      /* API version 2.0, solaris Phase1 VF driver */
+        ixgbe_mbox_api_11,      /* API version 1.1, linux/freebsd VF driver */
+        /* This value should always be last */
+        ixgbe_mbox_api_unknown, /* indicates that API version is not known */
+};
+
+/* mailbox API, legacy requests */
 #define IXGBE_VF_RESET          0x01 /* VF requests reset */
 #define IXGBE_VF_SET_MAC_ADDR   0x02 /* VF requests PF to set MAC addr */
 #define IXGBE_VF_SET_MULTICAST  0x03 /* VF requests PF to set MC addr */
 #define IXGBE_VF_SET_VLAN       0x04 /* VF requests PF to set VLAN */
+
+/* mailbox API, version 1.0 VF requests */
 #define IXGBE_VF_SET_LPE        0x05 /* VF requests PF to set VMOLR.LPE */
 #define IXGBE_VF_SET_MACVLAN    0x06 /* VF requests PF for unicast filter */
+#define IXGBE_VF_API_NEGOTIATE  0x08 /* negotiate API version */
 
+/* mailbox API, version 1.1 VF requests */
+#define IXGBE_VF_GET_QUEUES     0x09 /* get queue configuration */
+
+/* GET_QUEUES return data indices within the mailbox */
+#define IXGBE_VF_TX_QUEUES      1       /* number of Tx queues supported */
+#define IXGBE_VF_RX_QUEUES      2       /* number of Rx queues supported */
+#define IXGBE_VF_TRANS_VLAN     3       /* Indication of port vlan */
+#define IXGBE_VF_DEF_QUEUE      4       /* Default queue offset */
+
 /* length of permanent address message returned from PF */
 #define IXGBE_VF_PERMADDR_MSG_LEN       4
 /* word in permanent address message with the current multicast type */
 #define IXGBE_VF_MC_TYPE_WORD           3
 
 #define IXGBE_PF_CONTROL_MSG            0x0100 /* PF control message */
 
+/* mailbox API, version 2.0 VF requests */
+#define IXGBE_VF_API_NEGOTIATE          0x08 /* negotiate API version */
+#define IXGBE_VF_GET_QUEUES             0x09 /* get queue configuration */
+#define IXGBE_VF_ENABLE_MACADDR         0x0A /* enable MAC address */
+#define IXGBE_VF_DISABLE_MACADDR        0x0B /* disable MAC address */
+#define IXGBE_VF_GET_MACADDRS           0x0C /* get all configured MAC addrs */
+#define IXGBE_VF_SET_MCAST_PROMISC      0x0D /* enable multicast promiscuous */
+#define IXGBE_VF_GET_MTU                0x0E /* get bounds on MTU */
+#define IXGBE_VF_SET_MTU                0x0F /* set a specific MTU */
 
+/* mailbox API, version 2.0 PF requests */
+#define IXGBE_PF_TRANSPARENT_VLAN       0x0101 /* enable transparent vlan */
+
 #define IXGBE_VF_MBX_INIT_TIMEOUT       2000 /* number of retries on mailbox */
 #define IXGBE_VF_MBX_INIT_DELAY         500  /* microseconds between retries */
 
 s32 ixgbe_read_mbx(struct ixgbe_hw *, u32 *, u16, u16);
 s32 ixgbe_write_mbx(struct ixgbe_hw *, u32 *, u16, u16);