                          ============================
                           R E L E A S E    N O T E S
                          ============================

		QLogic qedentv VMware ESX Driver for FastLinQ QL45xxx and QL41xxx controllers

                 Copyright (c) 2007-2015 QLogic Corporation
                           All rights reserved

ESXi 6.0 : Version 3.9.18.0 (April 19, 2018)
ESXi 6.5 : Version 3.9.18.0 (April 19, 2018)
ESXi 6.7 : Version 3.9.18.0 (April 19, 2018)
Internal FW 8.33.14.0
Fixes:
1. Cont00100758 - NoVM_DeviceStateChange test fails.

   Change: Don't return error if uplink device is already registered.

   Relevance: Device state change related tests.


ESXi 6.0 : Version 3.9.17.1 (Apr 12, 2018)
ESXi 6.5 : Version 3.9.17.1 (Apr 12, 2018)
ESXi 6.7 : Version 3.9.17.1 (Apr 12, 2018)
Internal FW 8.33.14.0
Fixes:
-------------------
1. Cont00100758 - NoVM_DeviceStateChange test fails.

   Change: Free up roce related data structures while unregistering the logical device.

   Relevance: Device state change related tests.

ESXi 6.0 : Version 3.9.17.0 (Apr 10, 2018)
ESXi 6.5 : Version 3.9.17.0 (Apr 10, 2018)
ESXi 6.7 : Version 3.9.17.0 (Apr 10, 2018)
Internal FW 8.33.14.0
Fixes:
-------------------

1. Cont00100064/Cont00099730: PSOD seen during fast reboot.

   Change: Don't set PCI device state to D3Hot during remove.
           This is known to be causing issues during subsequent
           scan.

   Relevance: Fast reboot.

2. Cont00100568: PSOD observed intermittently after rebooting the server.

   Change: Don't set coalescing parameters if the queue was not started/ready.

   Relevance: All.

3. Cont00100932 - IOVP TC Random Pkt Inject is failing due to vlan priority issue

   Change: VLAN tag was set incorrectly in the BDs. Fix it.

   Relevance: Packets with non-zero VLAN priority.

4. Cont00100531: ESX6.7 qedentv_ecore_nic_load Error in ecore_hw_init.

   Change: Driver ran out of filters that resulted a negative value and
           got assigned to an unsigned variable q_data->maxFilters. Thus,
           driver tried to allocate significantly large amount of memory
           which led to out of memory error on 0th PF. As a side effect
           of this failure, rest of the PF ran it to hw_init failures.
           The fix is to set filter count from available filters and guard
           against invalid multi_rx_filters value.

   Relevance: All.

5. Cont00100763: ESXi 6.7 NPAR: Rules counts exceeded as filters limit reached.

   Change: Reduce the filter per netq to 2 for NPAR. When device max filters limit
           reached, suppress the apply filter failure error and returns VMK_OK.

   Relevance: NPAR, SRIOV over NPAR.


ESXi 6.0 : Version 3.9.13.0 (Mar 16, 2018)
ESXi 6.5 : Version 3.9.13.0 (Mar 16, 2018)
ESXi 6.7 : Version 3.9.13.0 (Mar 16, 2018)
Internal FW 8.33.13.0
Fixes:
-------------------

1. Cont00099722: E4 multiRSS SRIOV over NPAR(16PF's) VFs are getting disabled on
                 first four PFs.

   Change: Disable multi-rss for SRIOV over NPAR configuration and fix vport id 
           and rss engine id supplied to VFs.

   Relevance: SR-IOV over NPAR.


ESXi 6.0 : Version 3.9.12.0 (Mar 08, 2018)
ESXi 6.5 : Version 3.9.12.0 (Mar 08, 2018)
ESXi 6.7 : Version 3.9.12.0 (Mar 08, 2018)
Internal FW 8.33.12.0
Fixes:
-------------------
1. Cont00098528: System crashed with PSOD after long run of 
   load unload script with Mix traffic (VLAN and Non VLan )

   Change: Added check to verify driver state before entertaining
   VI Plugin callbacks.

   Relevance: Driver callback execution by VI Plugin. 

2. Cont00100074: Modifying max BW is not reflected in any tools.

   Change: Implement OSAL_BW_UPDATE.

   Relevance: BW update.

Enhancements:
-------------
1. Add module parameter for npar_tx_switching.

ESXi 6.0 : Version 3.9.11.0 (Feb 20, 2018)
ESXi 6.5 : Version 3.9.11.0 (Feb 20, 2018)
ESXi 6.7 : Version 3.9.11.0 (Feb 20, 2018)
Internal FW 8.33.11.0
Fixes:
-------------------
1. Cont00098919: MultiRSS Got PSOD after running vmk traffic (6vmk on one PF).

   Change: Driver ran out of CIDs because of hardcoded value QEDENTV_MAX_NUM_RXQ_100G
           in driver. Use recommended method to get available CIDs.

   Relevance: All.

2. Cont00099758: ESXCLI link up fail.

   Change: When autoneg is not advertised for 40/100G, in esxcli link up callback speed params comes
           with fix speed and we don't support changing speed on these devices and return error which
           caused this. Fix it.

   Relevance: Esxcli link/up down on 40/100G.

Enhancements:
-------------
1. Revert back the string num_queues_per_rss_eng to max_rss.
2. Added esxcli mgmt compilation fixes occurred with ESXi6.7.
3. Increase default value of multi_rx_filters to 4 only when multi-RSS
   is enabled otherwise set to 2 by default.
4. Allow setting DRSS to max 8 when multi-RSS is disabled.
5. Add support to retrieve actual advertised/supported link modes instead of hardcoded.

ESXi 6.0 : Version 3.0.9.8 (Jan 18, 2018)
ESXi 6.5 : Version 3.0.9.8 (Jan 18, 2018)
ESXi 6.7 : Version 3.0.9.8 (Jan 18, 2018)
Internal FW 8.33.8.0
Fixes:
-------------------
1. Cont00098919 - NPAR: getting PSOD after running uplink reset.

   Change: qedentv_get_cable_type/qedentv_get_suported_ctypes operations
           may get invoked during reset. Add a check to return if reset
           underway.

   Relevance: Uplink reset.

Enhancements:
-------------
1. Request: Add Multi-RSS feature support (ESXi 6.7 onwards).
2. Request: Increase multi_rx_filters to 4 by default.

ESXi 5.5 : Version 1.0.9.6 (Jan 09, 2018)
ESXi 6.0 : Version 2.0.9.6 (Jan 09, 2018)
ESXi 6.5 : Version 3.0.9.6 (Jan 09, 2018)
Internal FW 8.33.8.0
Fixes:
-------------------
1. Cont00097937: Incorrect netqueue allocation for NPAR mode.

   Change: MFW sets prototype for NPAR Functions as ECORE_PCI_ETH_RDMA now and not 
	   ECORE_PCI_ETH_ROCE.Because of which we were getting zero count for total_func, 
           and hence driver was assuming it is SF mode and calculating queues according to SF mode.
	   Now Considering ECORE_PCI_ETH_RDMA to count NPAR functions.

   Relevance: NPAR.

2. Cont00097255: win2k12 crashed while disabling VF

   Change: Update VF's Bulletin Board when setting Forced MAC from PF.
 
   Relevance: SRIOV

Enhancements:
-------------
 1. Request:   Ecore has removed API for obsolete DRV_MSG_CODE_SET_SECURE_MODE command,
               hence removed from qedentv src code.


ESXi 5.5 : Version 1.0.9.4 (Dec 15, 2017)
ESXi 6.0 : Version 2.0.9.4 (Dec 15, 2017)
ESXi 6.5 : Version 3.0.9.4 (Dec 15, 2017)
Internal FW 8.33.7.0
Fixes:
--------------------
1. Cont00097291: Enabled NPAR on 2(10G and 25G) AH Cards caused PSOD.

   Change: Increase the heap max size to 512 Mb from 256 Mb because it
           was running out of heap.

   Relevance: Multiple adapters with NPAR config in a system.

2. Cont00094145: PSOD seen while trying to take GrcDump using qediag.

   Change: Added support to mask parities using qediag. Also added support
           to halt and resume MCP using qediag. And also, in case attentions
           occur do not flood the logs, just warn once that attentions has
           occurred.

3. Cont00097367: Server crashed while unload of qedentv driver with multiple
                 adapters with NPAR+SRIOV

   Change: Added error handling in debugfs code when debugfs handler
           registration is unsuccessful.

4. Cont00097291: Enabled NPAR on 2(10G and 25G) AH Cards caused PSOD.

   Change: Increase the heap max size to 512 Mb from 256 Mb because it 
           was running out of heap.

   Relevance: Multiple adapters with NPAR config in a system.

5. Cont00094145: PSOD seen while trying to take GrcDump using qediag.

   Change: Added support to mask parities using qediag. Also added support
           to halt and resume MCP using qediag. And also, in case attentions 
           occur do not flood the logs, just warn once that attentions has 
           occurred. 

6. Cont00097367: Server crashed while unload of qedentv driver with multiple 
                 adapters with NPAR+SRIOV 

   Change: Added error handling in debugfs code when debugfs handler
	   registration is unsuccessful.         
Enhancements:
------------
1. Fix error handling found during DDV test.
2. Retrieve VF numbers using newly added VMKAPI vmk_DeviceGetParamMaxVfs from 6.7 onwards.
3. Fix build failing due to recent changes in code.
4. Added 100G NPAR changes.
5. Revert vmk_DeviceGetParamMaxVfs changes.
6. Fix error handling found during DDV test.
7. Retrieve VF numbers using newly added VMKAPI vmk_DeviceGetParamMaxVfs from 6.7 onwards.
8. Fix build failing due to recent changes in code.
9. Added 100G NPAR changes.
10. Revert vmk_DeviceGetParamMaxVfs changes. 

ESXi 5.5 : Version 1.0.8.6 (Oct 06, 2017)
ESXi 6.0 : Version 2.0.8.6 (Oct 06, 2017)
ESXi 6.5 : Version 3.0.8.6 (Oct 06, 2017)
Internal FW 8.30.16.0
Fixes:
--------------------
1. Cont00096284: After VF Driver load/unload Ping stops 
                 and VF interface MAC changes to 00:00:00.
   
   Change: Prevent PF to Force NULL MAC for VF when vmkernel
           fails to send SET MAC Callback after VF driver unload.
   
   Relevance: SRIOV

2. Cont00091847: Error occurs trying to get VF stats. 

   Change: Implemented VMK_NETPTOP_VF_GET_QUEUE_STATS this vmkernel callback operation. 

   Relevance: SRIOV

3. Cont00096580: BB NIC driver description update.

   Change: Update the speed string to display generic string.

   Relevance: BB devices only.

4. Cont00097217: AHS logs for displayed wrong LSO maximum offload size.

   Change: Supply correct size.

   Relevance: OEM specific.

ESXi 5.5 : Version 1.0.8.5 (SEP 15, 2017)
ESXi 6.0 : Version 2.0.8.5 (SEP	15, 2017)
ESXi 6.5 : Version 3.0.8.5 (sep 15, 2017)
Internal FW 8.30.16.0

Enhancements:
------------
1. Add 20G support.

Fixes:
--------------------
1. Case00045934: Low interrupt rate compared with 6.5 GA driver.

   Change: After CL304240 in ecore, coalescing values configued to HW 
	   is doubled which introduced performance regression. Configure
	   Rx 12 and Tx 24 same as earlier.

   Relevance: All.

2. Cont00095992: Setting RSS value to 4 - reduces the rx queue count in NPAR mode.

   Change: For first four NPAR interfaces, by default driver will set queues to 6 
           even if RSS is not set to default value.   

   Relevance: NPAR.

ESXi 5.5 : Version 1.0.8.4 (SEP 01, 2017)
ESXi 6.0 : Version 2.0.8.4 (SEP 01, 2017)
ESXi 6.5 : Version 3.0.8.4 (SEP 01, 2017)
Internal FW 8.30.15.0

Enhancements:
------------
1. Add support for enhanced periodic statistics.

ESXi 5.5 : Version 1.0.8.3 (AUG 25, 2017)
ESXi 6.0 : Version 2.0.8.3 (AUG 25, 2017)
ESXi 6.5 : Version 3.0.8.3 (AUG 25, 2017)
Internal FW 8.30.13.0

Enhancements:
------------
1. Add support for asynch Handler for GRCDump Collection.

ESXi 5.5 : Version 1.0.8.1 (Aug 02, 2017)
ESXi 6.0 : Version 2.0.8.1 (Aug 02, 2017)
ESXi 6.5 : Version 3.0.8.1 (Aug 02, 2017)
Internal FW 8.30.11.0

1. Update driver version as ecore/fw has been updated.

ESXi 5.5 : Version 1.0.8.0 (Jul 14, 2017)
ESXi 6.0 : Version 2.0.8.0 (Jul 14, 2017)
ESXi 6.5 : Version 3.0.8.0 (Jul 14, 2017)
Internal FW 8.30.10.0

Enhancements:
------------
1. Added compilation fixes due to ecore change CL#324211.
2. Added compilation fixes due to ecore change CL#324458 & CL#324583.
3. Added support for default queue RSS(support includes NPAR and 100G.)
4. Reduce the work being done in reboot handler.
5. Mark link down to udev->link_info.state as same is used to determine
   link state in qedentv_scan.
6. 'pf_num' can exceed MAX_NUM_PFS, if we detach/atta continuously. Once exceeded,
   driver can get grabage value. Fix this by checking for MAX_NUM_PFS boundary and
   as soon as it exceeds, set to its default value.
7. Added Uplink Supported modes for AH. 
8. According to HSI spec, set ETH_TX_DATA_1ST_BD_PKT_LEN bit only for non lso packets.  
9. Clear __QEDENTV_SET_RING_PARAMS as it can lead to PSOD in specific test like pciDev
   remove/quiesce using vsish after ring params change.
10. Use PTT provided by ecore instead of main_ptt.
11. Avoid recursive PSOD while collecting debug data.
12. Perform LINK RESET only during driver unload and uplink reset.
13. Don't allow admin changing speed using esxcli for 40G devices.
14. Don't set txq coalesce if not allocated.
15. Don't acquire/release osal_mutex when in panic state to avoid recursive PSOD.
16. Added compilation fixes due to CL#327994.
17. Refactor qedentv_linkstatus_set function according to vmkernel requirements.
    Currently,qedentv_linkstatus_set doesn't clear __QEDENTV_ESXCLI_LINK_DOWN bit
    which will lead that when set link speed after NIC down/up operations via 
    esxcli twice, the second time, qedentv_activate_dev will be called though
    current NIC is already up.
18. Add workaround to finish in-flight helper work before disassociating uplink.
19. Specify geneve offload constrains and vxlan offload flags added in ESXi 6.6.
20. Add support to collect full set of debug data as part of zdump.
21. Currently, pkt parse could fail because stress option, so if driver only
    assert ret value was VMK_NOT_SUPPORT, it will trigger PSOD on BETA build if this
    failure was induced by stess option from ESXi 6.6 onwards.
22. Fixed compilation errors and some function issues due to ecore changes.
23. Add support to log warning when adapter temperature reaches threshold high.
24. Add support to get SmartAN capability/state API.
25. Add support to use doorbell overflow recovery mechanism.
26. Set mfw_timeout_val to infinite.
27. Restrict features for 1G port in 2x10G+2x1G Arrowhead adapters.
28. Disable the workaround for Cont00084548 from driver because it is not required after
    adding ecore_recovery_prolog.
29. Add driver version dependency check for storage and rdma drivers.
30. Add support for SRIOV 100G.
31. Add support for all SFP related operations under management interface.
32. Add support to collect record handlers (limited support).

Fixes:
--------------------
1. Problem: Cont00090749: AH A2:10BaseT:ESXi6.5:"[qedentv_uplink_pause_get:2135(vmnic5)]
        Inside qedentv_uplink_pause_get" message getting flooded in vmkernel logs.

   Change: Change log level from info to verbose for some prints in driver,
                so that it won.t flood vmkernel logs.

   Relevance: Log Level.

2. Problem: Rank lock violation seen on BETA build.

   Change: Ecore is modified to acquire link_lock prior to calling OSAL_LINK_UPDATE
           where we again try to acquire another lock os same Rank. Use UNRANKED 
           lock in ecore.

   Relevance: All.

3. Problem: Cont00091610 : When Configuring module parameters for Default queue RSS feature, 
	it is only applying on First 2 claimed ports while loading driver.
 
   Change: In SF mode as well as MF mode, only NIC functions 0 & 1 will get configured 
		with 'rss_on_defq' module parameter setting.

   Relevance: RSS on default queue support.

4. Problem: Cont00091800 - Physical NIC was down after a firmware reset from vsish while
            running vxlan traffic and system was rebooted it crashed with PSOD.

   Change: Issue link reset prior to sending UNLOAD REQ in unload flow.

   Relevance: Unload flow.

5. Problem: Cont00091838 : AH A2:RSS On Default Queue: RSS Hidden Queues for 
	default Queue not getting created when "num_defq_rss_count" set to 1.

   Change: Changed the range of  "num_defq_rss_count" from 2 to 8, so with minimum value:2 
	at least we will get 1 hidden RSS queue + one leading default queue.

   Relevance: RSS on default queue support.

6. Problem: Cont00091711: AH A2:RSS On Default Queue: PSOD is seen while running RSS 
		traffic with disruptive operations.

   Change: As per VMware(case#43723), not calling 'vmk_PktRssHashSet()' this API for default rss queue. 

   Relevance: RSS on default queue support.

7. Problem : Cont00092393 - ESXi 6.5 E4 [IOVP] : DefaultQ_RSS failing due to unsupported module parameter.

   Change: Implemented module parameter named 'DRSS' to support DefaultQ_RSS this IOVP test case. 

   Relevance: RSS on default queue support.

8. Cont00091440: [Vxlan]: IPV6 Jumbo traffic fails intermittently.

   Change: Program VNI filter on default queue while creating netqueue and remove
           the same for filter delete. VNI filter is must for multicast.

   Relevance: Tunneling.

9. Cont00090637: VF devices not working for ESXi SRIOV

   Change: Check for VF FLR in progress before issuing set MAC/PVLAN
           to adapter or VF bulletin board.

   Relevance: SRIOV

10.Cont00091787: NVM commands fail in secure mode.

   change: Added support to perform nvm read/write operations in secure mode.

   Relevance: qediag

11.Cont00092467: PSOD during nic up down with AH adapter.

   Change: Let esxcli down flow complete so as to keep the state machine correct.

   Relevance: esxcli down-up in loop.

12.Cont00092190: Add QL41xxx 10/25 GbE to the description string. 

   Change: Remove incorrect speeds from the description string.

   Relevance: lspci, esxcfg-nics output.

13.Cont00092811: Discrepancies with respect to Driver Version.

   Change: Add support to send driver version to MFW.

   Relevance: OEM specific.

14.Case00043937: core_spq_overflow_assert during detach/attach test.

   Change: PF_UNPDATE (issued after attach) received after PF_STOP (during detach)
           because of race. Implement OSAL_DPC_SYNC with 100 ms followed by IntrSync
           to make sure there won't be any in-flight interrupt from MFW after this.

   Relevance: Aggressive device detach/attach operations in a loop.

15.Cont00093589: The system got PSOD when tried to access the host from Vi_Plugin. 

   Change:Driver tried to access stats array beyond qedentv_statistics_t array size 
	  which caused crash. Driver will now access the queue statistics upto size 
	  of array i.e. QEDENTV_MAX_NO_QUEUES.

   Relevance: 100G stats.

16.Case00044154: LINT1/NMI during vsish pci dev Remove/Scan on specific server.

   Change: Work around the problem by not setting power state to D3_hot in inbox driver.

   Relevance: vsish pci dev Remove/Scan test.

17.Cont00094107: FW Assertion during uplink reset along with traffic in a loop.

   Change: Don't alloc rxq with attr when reset underway.

   Relevance: Uplink reset along with traffic in a loop.

18.Cont00094154: AH A2 Getting wrong speed description for 1G ports.
   
   Change: Added 1G speed to description string.

   Relevance: lspci, esxcfg-nics output.

19. Cont00094330: System crashes with PSOD as E4 Driver qedentv tries to claim a card that
                 it doesn't support in NPAR EP mode.

   Change: Removed unsupported vendor id & device id from driver file.

   Relevance: none. 

20. Cont00094121: AH A2 SRIOV over NPAR(EP mode enable): getting zero MAC address for
                VF when assigned 9VF's to VM.

   Change: In qedentv_set_vf_mac() callback driver was not saving MAC in bulletin when flr is
           underway. Now made change to set VF MAC in bulletin and return from callback.

   Relevance: SRIOV.

21.Case00044967: PSOD seen with VMK_ASSERT(sw_tx_data->out_pkt).

   Change: When setting tx_ring_size to 128(MIN), sw_tx_ring may be overflowed when
	   freeing tx pkts. That is because in current ecore_chain_get_elem_left,
	   p_chain->capacity can be a minimun of 256, which is bigger than 128. So
	   it is able to run out of sw_tx_ring when freeing tx pkts, i.e. when free
	   sw_tx_data(entry of sw_tx_ring) twice, then driver will hit PSOD in
	   the second time. Implement AVAIL_TXBD.

   Relevance: Data path when tx ring size < 256. 

22. Cont00094385: Vmware qediag fails to load ext_phy fw.

   Change: When qediag tried to load ext_phy fw it failed, as there was no API
           available to handle this request in vmware driver. Added new API to
           handle this request.

    Relevance: Qediag

23. Cont00094565: Less umber of net queues calculated for the first four function 
                   of the 2nd adapter in NPAR EP mode. 

    Change: Using absolute PF ID instead of relative PF ID/pf_num while checking 
            for first four PFs during queue assigment.

    Relevance: NPAR.

24. Cont00094565: VF of exteneded PF's are not coming UP in VM.

    Change: It was because of insufficient vports avalaible. Now calculting PF queues 
            based on total VFs enabled on that PF. 

    Relevance: SRIOV+NPAR.

25. Cont00094762: (4x10Gb):NPAR: PSOD seen during vsish reset on WOL enabled system.

    Change: Don't attempt WOL get/set ops when reset underway.

    Relevance: Uplink reset with WOL enabled.

26. Cont00094340: Adapter shoud show correct link speed/cable type for 1G ports.

   Change: Using ecore API ecore_mcp_get_media_type() to get correct
           cable type for all type of ports.

   Relevance: All.

27. Cont00094341: Stats show non-zero value for 'Late collisions' even if Link is down.

   Change: Collision parameter is provided only for BB by ecore stats, but in driver we
          were using same collision value for both AH & BB. Made it zero for AH.

   Relevance: stats.

28. Cont00090278: QCC/QCS Apps:  Need method to read SFP data from host based application.

  Change: Added management callback for SFP read operation.

  Relevance: mgmt interface.

29. Problem: Recursive PSOD while collecting netdump on AH devices.
 
    Change: Don't configure grcDump -crash option on all the PFs sharing same
           engine which is being used for netdump.
 
    Relevance: Netdump.

30. Cont00095219: VlanGuesttagging IOVP test fails on esxi6.0U2.

    Change: Vport configuration 'remove_inner_vlan' was not getting updated for 
            all queue's vports because we were checking for rxqueue state instead
            of vport state. The fix is to replace the rxq state check with vport
            state check.

    Relevance: Traffic with VlanGuesttagging.
 
ESXi 5.5 : Version 1.0.6.4 (Jan 12, 2017)
ESXi 6.0 : Version 2.0.6.4 (Jan 12, 2017)
ESXi 6.5 : Version 3.0.6.4 (Jan 12, 2017)
Internal FW 8.18.9.0

Fixes:
--------------------
1. Problem: Cont00089518: VXLAN RSS Test case failed in 100 G IOVP Workbench.

   Change: VXLAN/GENEVE udp port was not getting updated by ecore in PF START ramrod.
           Set the flag 'b_update_port' for both VXLAN and GENEVE.

   Relevance: Tunneling.

ESXi 5.5 : Version 1.0.6.3 (Dec 30, 2016)
ESXi 6.0 : Version 2.0.6.3 (Dec 30, 2016)
ESXi 6.5 : Version 3.0.6.3 (Dec 30, 2016)
Internal FW 8.18.9.0
1. Add Driver Load Time Timestamp to MFW Crashdump.
2. Added compilation fixes due ecore changes(CL320180).
3. Integrate restructured ecore APIs for tunneling.
4. Enhancement w.r.t. Engine reset for proper hands on 
   from previous driver unload condition.
5. Added compilation fixes due to ecore changes(CL322061).
6. Remove vmk_ModuleRegister and vmk_ModuleUnregister as these APIs are deprecated ESXi 6.6 onwards.
7. Added compilation fixes due to ecore changes for rx/tx coalesce(CL322750).
8. Add link configuration support for QL41xxx devices.
9. Add support for handling OEM specific TLVs.

Fixes:
--------------------
1. Problem: DCPN00042857: Panic on Error !! type - 5(another hardware error, type 5).

   Change: The change to fix DCPN00042443 caused this bug. Clear is_rss_leading flag
           queue is of Rx type & RSS.

   Relevance: All.

2. Problem: Cont00089901: Traffic halts on execution of "esxcli network nic
	    register dump" command.

   Change: Reset to default GRC params correctly after configuring DBG_GRC_PARAM_CRASH option
           after allocation of FW dump buffer.

   Relevance: Non-crash Grcdump.

3. Problem: Cont00090539 - After change of RSS parameter in driver, loading of driver fails

   Change: If autoneg is supported, 'max_num_fp_msix' was not not initialized and was set
           to zero. Add to change to initialize properly.

   Relevance: 10G devices.

ESXi 5.5 : Version 1.0.6.2 (Nov 23, 2016)
ESXi 6.0 : Version 2.0.6.2 (Nov 23, 2016)
ESXi 6.5 : Version 3.0.6.2 (Nov 23, 2016)
Internal FW 8.18.4.0

1. Fix debugfs compilation errors and define OSAL_STRTOUL.

ESXi 5.5 : Version 1.0.6.1 (Nov 21, 2016)
ESXi 6.0 : Version 2.0.6.1 (Nov 21, 2016)
ESXi 6.5 : Version 3.0.6.1 (Nov 21, 2016)
Internal FW 8.18.3.0
1. Problem: Cont00089634: Getting 50G speed in lspci for 10G device.

   Change: Changed device description to be more generic.

   Relevance: DID 0x8070 

2. Problem: Cont00089125: User configured queues are not taking
                          effect in driver.

   Change: Limit number of queues based on MAX supported.

   Relevance: Netqueues.

3. Problem: PSOD with heavy traffic along with driver load/unload.

   Change: Since qedentv_rx_int() returns 0 when queue is in quiescent state,
	   while(1) loop in netpoll handler will keep processing the packets
	   unless hw_comp_cons == sw_comp_cons. In this case while qedentv_unload()
	   thread is waiting in qedentv_drain_txq (there is a vmk_WorldSleep(2000);),
	   netpoll thread gets scheduled on same CPU and keep processing the
	   packets till hw_comp_cons =! sw_comp_cons and it seems netpoll handler
	   doesn’t yield the CPU which causes heartbeat NMI. The fix is to return
	  ‘rx_pkts’ instead of 0 which would cause ‘if (work_done >= budget)’ TRUE
	   and break the while(1) loop. This in turn would cause CPU yielding and
	   qedentv_unload gets scheduled and move ahead to stop the queue, netpoll etc.

   Relevance: All.

4. Problem: Cont00089620: Unable to get vmnic register dump from OS.

   Change: Command not supported on ESX5.5 because of OS contraints on buffer size.

   Relevance: All.

5. Problem: Cont00089057: Incorrect queue allocation to some
                          of the PF functions in NPAR mode.
   Change: Fixed resource adjustment for NPAR with SRIOV enabled.

   Relevance: NPAR + SRIOV

6. Problem: Cont00087983 : Update max_vfs description.

   Change: Updated max_vfs description to reflect that max no. of VFs
           supported may vary for each adapter model.

   Relevance: SRIOV

7. Problem: DCPN00042358: IommuPageFaultDoOne:162:DMAR Fault IOMMU Unit #1: R/W=W, Device
            0000:04:00.1 Faulting addr = 0x15635f000 Fault Reason = 0x5 -> PTE
            not set to allow Write.

   Change: Mark hidden RSS queues as BUSY while allocation, otherwise while freeing txq,
           qedentv_is_last_queue_to_free will always return 1 for hidden rss queue and
           driver will free hidden queues while adapter will still try to update SB, which
           can lead to IOMMU fault specially when load balancer request TxQ free prior to RX.

   Relevance: RSS traffic along with load/unload.

8. Problem: DCPN00042443:[OSAL_HW_ERROR_OCCURRED:952(vmnic5)]HW error occured [error type 5].

   Change: Clearing 'is_rss_leading' unconditionally can cause driver to stop only leading
           queue instead of stopping leading + hidden queues in unload path. Therefore,
           clear this flag only when 'is_last' is set to 1.

   Relevance: RSS traffic along with load/unload.
 
Enhancements:
------------
1. Add support for OS controlled WoL (Magic packet).
2. Add support for 10GBase-T external PHY firmware upgrade.
3. Add psod_on_error support controlled with module param.

ESXi 5.5 : Version 1.0.5.2 (Sept 21, 2016)
ESXi 6.0 : Version 2.0.5.2 (Sept 21, 2016)
ESXi 6.5 : Version 3.0.5.2 (Sept 21, 2016)
Internal FW 8.14.7.0
Fixes:
--------------------
1. Problem: Cont00088874: PSOD while powering on VM after doing reset of PF. 

   Change: Avoid enabling and disabling VFs in vmkernel during PF reset.

   Relevance: SRIOV.

2. Problem: Cont00089059: Driver is not claiming Adapter & throwing error
            saying "device not supported by driver"  

   Change: Allow claiming QL41xxx based devices.

   Relevance: QL41xxx support.


ESXi 5.5 : Version 1.0.5.1 (Sep 09, 2016)
ESXi 6.0 : Version 2.0.5.1 (Sep 09, 2016)
ESXi 6.5 : Version 3.0.5.1 (Sep 09, 2016)
Internal FW 8.14.6.0
1. Change: Remove vmk_PktHeaderEncapFind() from regular path as it will cause
          packets drop.

2. Problem: Cont00087469 - Less number of NetQueues --> 100 G testing

   Change: In case of autoneg,set number of netqs as per highest possible speed.

   Relevance: Autoneg.

3. Merge fix for memory leak in txq drain path from inbox and add some debug logs.

4. Problem: Cont00086983 - NIC disappears after installing for iPXE.

   Change: Implemented PF FLR

   Relevance: iPXE

5. Problem: Cont00087983 : Update max_vfs description.

   Change: Updated max_vfs description to reflect that max no. of VFs
           supported may vary for each adapter model.
   
   Relevance: SRIOV

6. Problem: Cont00082113 :- E4 Samples 5:SRIOV: Changing MTU on base
                interface inside the VM makes GVlan interface fails to ping.

   Change: Clear requested gvlan bitmap, so that when VF requests for re-configure
           same gvlans at that time we will confirure them agian.

   Relevance: SRIOV GVLAN.

7. Integrate the inbox fix race of bit vector manipulation of fp state.

8. Problem: Cont00088665 : 1*100Gb:mfw 8.10.15.101: Getting stats info
                using esxcli commands fails.

  Change: Limited display of stats by allowing only first 11 rx/tx queues to be shown in o/p
        of esxcli qlogic command.

  Relevance: esxcli extension stats.

9. Problem: Cont00086754 - IOVP- Static MAC test failed.

   Change: Added module Parameter to allow VF MAC change.

   Relevance: SRIOV.

Enhancements:
------------
1. Add QL41xxx device IDs.

ESXi 5.5 : Version 1.0.4.8 (July 28, 2016)
ESXi 6.0 : Version 2.0.4.8 (July 28, 2016)
ESXi 6.5 : Version 3.0.4.8 (July 28, 2016)
Internal FW 8.14.0.0
Fixes:
------
1. Disable loopback packet polling in failure case and rename "loopback"
   test to "internal_loopback" in esxcli and management interface.

2. Reduce the threshold size to start & continue TPA when MTU > 1600.

3. Problem: Cont00087136: RX: Invalid checksum error in NPAR.

   Change: Got fixed in latest ecore/FW.

   Relevance: Tunneling.

4. Problem: Cont00086677 :  VxLAN traffic getting failed due to
          "RX: Invalid checksum".

   Change: Got fixed in latest ecore/FW.

   Relevance: Tunneling.

Enhancements:
------------
1. Add support for physical identification of port with LED blink.
2. Add support for GENEVE offloads (CKO, TSO, LRO, RSS) and GENEVE filtering.

ESXi 5.5 : Version 1.0.4.7 (July 04, 2016)
ESXi 6.0 : Version 2.0.4.7 (July 04, 2016)
ESXi 6.5 : Version 3.0.4.7 (July 04, 2016)
Internal FW 8.10.7.0
Enhancements:
-------------
1. Support for loopback test on esxcli & management interface.

Fixes:
------
   1. Use vmk_bool instead of defining it as int. It causes size mistmatch of
	       struct in driver and user (mgmt).

ESXi 5.5 : Version 1.0.4.6 (June 22, 2016)
ESXi 6.0 : Version 2.0.4.6 (June 22, 2016)
ESXi 6.5 : Version 3.0.4.6 (June 22, 2016)
Internal FW 8.10.7.0
Fixes:

1. Problem: Cont00084548: PSOD on executing "reset" vmnic from vsish.

   Change: Delay hardware initialization so as to allow MCP to initialize
	   fully before a load request can be sent.

   Relevance: Reset recovery.

2. Problem: Cont00086826: The NIC driver fails to claim, due to ILT overflow error, in NPAR mode.

   Change: Limit number of MRs, to avoid resource allocation in NPAR mode.

   Relevance: NIC driver load in NPAR mode.

3. Problem: Cont00086677: 2*25Gb - ESXi6.1: VxLAN traffic getting failed due to
          "RX: Invalid checksum".

   Change: Set tunn_flg (introduced in FW 8.10.4.0) for encapsulated pks.

   Relevance: Tunneling.

4. Problem: Cont00086805 - 2*25Gb: ESXi6.1: VxLAN filtering is broken (traffic
            is flowing through only default Queue instead of its corresponding)

   Change: Fixed in ecore by configuring PRS_REG_MSG_INFO correctly.

   Relevance: Rx classification.

5. Problem: Cont00087033 - (E4 4x10 NIC) interface is not listed in lspci.

   Change: Add the 10G device ID.

   Relevance: 10G configuration.

ESXi 5.5 : Version 1.0.4.5 (May 26, 2016)
ESXi 6.0 : Version 2.0.4.5 (May 26, 2016)
ESXi 6.5 : Version 3.0.4.5 (May 26, 2016)
Internal FW 8.10.5.0
Fixes:

1. Problem: Cont00085043: Ramrod stuck & F/W Assert during load/unload in INTx mode.

   Change: Counters are used to track the received interrupts, to avoid missing
           interrupts leading to ramrod stuck errors. The changes are also made
           to continue with stop queue operation, when any of the ramrod commands
           fail. This will avoid F/W assertion.

   Relevance: Any control or data path operations in INTx mode.
              For ex: Driver load/unload operations with/without traffic.


ESXi 5.5 : Version 1.0.4.4 (Apr 15, 2016)
ESXi 6.0 : Version 2.0.4.4 (Apr 15, 2016)
ESXi 6.5 : Version 3.0.4.4 (Apr 15, 2016)
Internal FW 8.10.4.0
Fixes:

1. Problem: Cont00085384 - E4 - 2*25 SRIOV over NPAR - ramrod stuck when linux VM
            with pvid set is powered off/on.

   Change: In case of when PVID is configured, if we do VM power off and power on,
           ecore sends ETH_RAMROD_RX_QUEUE_UPDATE ramrod without ETH_RAMROD_RX_QUEUE_START
           because ‘rxq_active’ flag is not cleared during FLR and ecore checks for the same.
           Clear this flag as part of FLR cleanup.

   Relevance: SRIOV along with PVID.

2. Problem: Cont00085908: E4 - 25*2 - scheduler capability not supported by driver.

   Change: Remove VMK_UPLINK_CAP_NO_SCHEDULER. With TX coalescing configuration implemented,
           driver no longer needs to claim it as it should be compatible with NetIOC now.

   Relevance: NetIOC.

3. Problem: Cont00085984: PSOD and Ramrod is Stuck Error with debugfs Read Operation.

   Change: Set grcdump configuration to not crash dump the firmware.

   Relevance: GrcDump.

4. Problem: Cont00086073 : 25x4 - Failed to create maximum VF’s 56 per port - Esxi6.0u2

   Change: Corrected no. of rx queues requested for VFs.

   Relevance: SRIOV.

5. Problem: Cont00086309 : PSOD in ecore_start_queue for NIC ESX 5.5

   Change: Fixed PSOD in sriov path.

   Relevance: SRIOV.

Enhancements:
------------
1. Merged below changes from inbox driver:
   a. Make irq_array_idx as unsigned.
   b. Use rv[hw_fn] to check the return value instead if rv because
      return values are stored in rv[hw_fn].
   c. Allocate contiguous memory from mempool. Currently driver allocates
      contiguous memory from heap and it also specifies NONBLOCKING allocation,
      which is not ideal. As when the heap is overly framgmented, vmk_HeapAlign
      will fail to trigger the assertation which leads to psod.
   d. Empty qedentv_coalesce_get() code for now as it may overrun the buffer but 
      should be fixed later.

ESXi 5.5 : Version 1.0.4.2 (Mar 17, 2016)
ESXi 6.0 : Version 2.0.4.2 (Mar 17, 2016)
Internal FW 8.10.3.0
Fixes:

1. Problem: a.Cont00084001 :- Getting incorrect speed in Linux VM 

   Change: Modified qedentv_inform_vf_link_state to update VF Speed
	   settings according to PF Speed.

   Relevance: SRIOV.   

2. Problem: Cont00085713 - E4 - 2*25 SRIOV over NPAR - incorrect mtu 
				value when VF is powered on.

   Change: Modified print statement where we are getting incorrect MTU value.

   Relevance: SRIOV.

3. Problem: Cont00085268 - PSOD -While running IOVP on ESXi6.0.

   Change: Initialize memory after allocation to avoid freeing unitialized pointer
           in error path.

   Relevance: IOVP.

ESXi 5.5 : Version 1.0.4.1 (Mar 03, 2016)
ESXi 6.0 : Version 2.0.4.1 (Mar 03, 2016)
Internal FW 8.10.1.0

1. Change the driver version 1.0.3.xx to 1.0.4.x to sync with other components.

ESXi 5.5 : Version 1.0.3.25 (Feb 29, 2016)
ESXi 6.0 : Version 2.0.3.25 (Feb 29, 2016)
Internal FW 8.8.0.0
Fixes:
-----
1. Problem: a.Cont00084103 :- 4x25G: guest os allowed to change MTU despite 
				policy set to disallow
            b.Cont00084946 :- (25x2 SRIOV) Getting Ramrod stuck while changing MTU on 
				guest VF (linux) when MTU change policy on guest is set to disallow.

  Change:  Modified the behavior for VMK_NETPTOP_VF_SET_MTU callback function.

  Relevance: SRIOV.

2. Problem: Cont00085131 - (25x2)Ramrod stuck while unloading driver after
            injecting fan failure error.

   Change: Don't disable bus master in qedentv_unload in case of fan failure.

   Relevance: Fan failure or over temp.

Enhancements:
------------
1. Merged below changes from inbox driver:
   a. Refactor logging format and support per device debug level set.
   b. Workaround for stale Rx PI value after RX queue start. 
   c. Add explicit memory barriers for bitvector operations as part
      of state refactoring of the driver. 
   d. Fix driver unload PSOD.

ESXi 5.5 : Version 1.0.3.24 (Feb 17, 2016)
ESXi 6.0 : Version 2.0.3.24 (Feb 17, 2016)
Internal FW 8.7.9.0
Fixes:
-----
1. Problem: Cont00084962: QL45212-DE Product description string shows QL45604 for ESXi6.0u2.
   
   Change: Change the description string to QL45xxx instead of QL45604.

   Relevance: Device description string.

2. Problem: Cont00084521: Getting Ramrod stuck while running traffic with
	    esxcli up/down.

   Change:  Don't disable bus master in qedentv_unload.

   Relevance: MTU change, esxcli up/down.

3. Problem: Cont00084619: PSOD -While running 40G IOVP on ESXi6.0.

   Change:  Avoid a double free during error path handling.

   Relevance: Error path handling.

4. Problem: Cont00084975 - E4 - 2*25 - change of ring size on PF causes
            tx-switching ping failure.

   Change: During qedentv_load/qedentv_unload, filters were not getting
           cleared/programmed properly. Fixed them.

   Relevance: Ring size parameters setting.

5. Problem: Cont00085004 - 2*25Gb:Ring Size:Able to set ring size more than
            the allowed Ring Size(4096) for Jumbo.

   Change: Keep ring size max limit same for both 1500 & jumbo mtu to avoid
           unnecessary complexities.

   Relevance: Ring size parameters setting.

Enhancements:
------------
1. Merged below changes from inbox driver.
  a. Added stats related to interrupt and netpoll.
  b. Fixed race condition between netpoll handler and Rx Q free.
  c. Changed Rx Q stop completion to slowpath.
  d. Correctly implement txq drain logic.

ESXi 5.5 : Version 1.0.3.23 (Feb 3, 2016)
ESXi 6.0 : Version 2.0.3.23 (Feb 3, 2016)
Internal FW 8.7.9.0
Fixes:
-----
1. Problem: Cont00084089: 4x25G: Ramrod stuck while reload of VF driver
	    when multiple VFs assigned to VM.

   Change:  Modified backchannel infrastructure to handle multiple incoming
	    requests from VFs simultaneously.

   Relevance: SRIOV.

2. Problem: Cont00084103: 4x25G: guest os allowed to change MTU despite 
		policy set to disallow.

  Change: Implemented VMK_NETPTOP_VF_SET_MTU callback operation in PF driver to
		check MTU set policy.

  Relevance: SRIOV.

Enhancements:
------------
1. Diagnostic test support in driver, esxcli / management interface.


ESXi 5.5 : Version 1.0.3.22 (Jan 28, 2016)
ESXi 6.0 : Version 2.0.3.22 (Jan 28, 2016)
Internal FW 8.7.6.0
Fixes:
-----
1. Problem: Ecore assert seen while running nictest.

   Change: Release PTT properly after acquiring it.

   Relevance: Nictest.

2. Problem: Cont00084318: 1 x 100G: link doesnt come up after changing MTU to 9000.
            Cont00084362: Link is not coming up after esxcli down followed by esxcli up in 1x100G.

   Change: Set/Get link status only  for first hardware engine.

   Relevance: 100G link status.

3. Problem: Cont00083927: E4:After Down, unable to up Ethernet Adapter (vmnic)

   Change: Add Support for esxcli link down/up and speed change on ESX5.5 U3 and beyond.

   Relevance: esxcli command for Link Down/UP on ESX5.5

Enhancement:
-----------
1. Merge inbox driver changes to main branch which mainly includes below:
  a. Using latest API definition in new 6.1 devkits.
  b. Avoid using vmk_UplinkQueueInvalidate callback, since there is a bug with it.
  c. Only register-unregister uplink device for hidden queue netpolls. 
  d. Remove code for unimplemented vmkernel callbacks and dead code.
2. Add support to handle fan failure or over temperature.
3. Add support for rx and tx coalescing to support netioc.
4. Add support for 25G Speed settings using esxcli command.

ESXi 5.5 : Version 1.0.3.21 (Jan 11, 2016)
ESXi 6.0 : Version 2.0.3.21 (Jan 11, 2016)
Internal FW 8.7.5.0
Fixes:
-----
1. Problem: Cont00083483: E4: NPAR over SRIOV esx fail to claim all 64 VF's in 8 VF per PF.

   Change: Calculating number of SBs per VF by considering free SBs.

   Relevance: SRIOV.	

2. Problem: VMware PR1544105: [qedentv]Failed at vmkdrivers/native/Proprietary/Network/qedentv/
		qedentv_drv.c:1622 -- VMK_ASSERT(0)

   Change: Fixed all the error paths for qedentv_dma_map().

   Relevance: Driver load, mtu change, reset recovery and data path.	

Enhancement:
-----------
1. VMware 1546979 : Add support for get/set ring param operations using esxcli.
2. Disable dynamic netq support if rx filter < 2 per netqueue.
3. Add support for enable/disable of vlan offload through vsish.
4. Done code reorganization to streamline file size and arrange code in different 
	files as per functionality.
5. Advertize 25G and 50G speeds as well. 
6. Add some build enhancements.
7. Disable WOL support.
8. Claim lockless TX support for 6.1 onwards. 
9. Add Rx and Tx netqueue stats to default queue stats.
10. Add qedentv_advertised_modes_ops to report advertised media types using esxcli
   from 6.1 onwards.
11. Reorganized tx and rx path code to have common functions for regular and netdump
   Tx and Rx.
12. Added code to check hardware constraints for tx path.

ESXi 5.5 : Version 1.0.3.20 (Nov 24, 2015)
ESXi 6.0 : Version 2.0.3.20 (Nov 24, 2015)
Internal FW 8.7.2.0
Fixes:
-----
1. Problem: Cont00083376 : Message level to be changed.

   Change: Changed message level to INFO properly.

   Relevance : Logging.

2. Problem: VMware 1543380 : [qedentv]Current Message Level is not correct on vmnic status.

   Change: Added support for VMK_UPLINK_CAP_MESSAGE_LEVEL for 6.0 onwards.

   Relevance : Debug level get and set.

3. Problem: VMware 1543380 : [qedentv]/net/pNics/vmnic5/stats output includes uncertain characters "~".

   Change: Removed "~" character from stats output.

   Relevance : Private stats print.

4. Problem: VMware 1552113 : [qedentv]link status can not be brought back after esxcli command opeartion.

   Change: Retry pkt allocation one more time.

   Relevance : esxcli vmnic up on beta build, forced packet alloc error.

5. Problem: Cont00083405 - E4 SRIOV - Vf base interface isn't pinging once gvlan is configured to that VF.

   Change: Add vlan0 to VF after configuring gvlan.

   Relevance : SRIOV GVLAN.

6. Problem: VMware 1552236 : [qedentv]Failed at qedentv_main.c:2479 -- VMK_ASSERT(mapped_len <= 0xffff)

   Change: Add TSOConstraints capability for vsphere 2016 release. For ESX 5.5/6.0, it still needs to handled.

   Relevance : Huge TSO packets (> 64K) on vsphere 2016.

ESXi 5.5 : Version 1.0.3.19 (xxx xx, 2015)
ESXi 6.0 : Version 2.0.3.19 (xxx xx, 2015)
Internal FW 8.7.1.0
Fixes:
-----
1. Problem: Cont00081749 E4 Samples 5:SRIOV-GVlan:ESXi5.5: "Ramrod is stuck" 
			is seen while trying to set Vlan id to All(4095) to Portgroup.

   Change: Fix is to check if ecore has shadow copy of gvlan which PF driver wants to configure, 
			if it has then skip or return from that function without configuring that gvlan as 
			ecore already configured/handled it before PF driver.

	Relevance: SRIOV.

Enhancement:
-----------
1. Implemented TX and RX Queue Based Stats
2. PF Bandwidth Get/Set and esxcli extension for PF Bandwidth and SRIOV get.

ESXi 5.5 : Version 1.0.3.17 (Nov 04, 2015)
ESXi 6.0 : Version 2.0.3.17 (Nov 04, 2015)
Internal FW 8.6.1.0
Fixes:
-----
1. Problem: Cont00083027: Small bytes message size vmknic Ipv6 traffic causes
Fatal Attention

   Change:  Pull extra frags in 18th fragment if packet contains more than 18
fragments.

   Relevance: TSO.

ESXi 5.5 : Version 1.0.3.16 (xxx xx, 2015)
ESXi 6.0 : Version 2.0.3.16 (xxx xx, 2015)
Internal FW 8.6.1.0
Fixes:
-----
1. Problem: Cont00083072 : E4-4*25-netq allocation to base functions with RSS disabled is incorrect


ESXi 5.5 : Version 1.0.3.15 (Oct 30, 2015)
ESXi 6.0 : Version 2.0.3.15 (Oct 30, 2015)
Internal FW 8.6.1.0

Enhancement:
-----------
1. Take FW version 8.6.1.0.

ESXi 5.5 : Version 1.0.3.14 (Oct 26, 2015)
ESXi 6.0 : Version 2.0.3.14 (Oct 26, 2015)
Internal FW 8.6.0.0

Enhancement:
-----------
1. Modified esxcli eeprom support for qedentv driver to provide an option to intentionally execute 
firmware reset recovery for offset >= 524288.

2. Add support for NCSI LAN statistics.

3. Modified Queue Assignment for 4Port 25G Adapters.

ESXi 5.5 : Version 1.0.3.13 (Oct 13, 2015)
ESXi 6.0 : Version 2.0.3.13 (Oct 13, 2015)
Internal FW 8.5.6.0
Fixes:
-----
1. Problem: Cont00082489 : E4-SRIOV over NPAR - Driver unload reload fails

   Change:  Enable bus master before device remove, if not already enabled.

   Relevance: esxcli down followed by driver unload.

2. Problem: Cont00082354 : LRO is not working for VxLAN traffic with latest 
			driver version 2.0.3.10.

   Change:  Correctly set frag mapped length of first frag of LRO packet.

   Relevance: LRO traffic.

Enhancement:
-----------
1. Implemented SRIOV Get Callback for Management Application

2. Change description string to FastLinQ.

ESXi 5.5 : Version 1.0.3.12 (Oct 06, 2015)
ESXi 6.0 : Version 2.0.3.12 (Oct 06, 2015)
Internal FW 8.5.6.0
Fixes:
-----
1. Problem: Cont00081893 : E4:Sample-5 : PSOD while running the changeMTU testcase.

   Change: 	Remove manual invocation of netpoll handler.

   Relevance: Change MTU along with traffic.

2. Problem: Cont00082356 : VxLAN traffic still flows through default queue even
			netqueue got created for specific VM.

   Change:	Program Outer MACs in LLH regardless of NPAR or Non-NPAR configuration
			as ecore has removed SF mode and MF mode is the default mode.

   Relevance: VxLAN traffic along with VxLAN filter enabled.

3. Problem: Cont00082036 : E4-PSOD-ESX6.0-2.0.3.10 

   Change:  On ESXi 6.0 netpoll routine is invoked while disabling the netpoll.
			If adpater has a NULL MAC, vmkernel doesn't allow to start the device.
			During driver unload netpoll routing is invoked which tries to access
			status block which was not allocated. Add check for NULL befire access.

   Relevance: ESXi 6.0 only with NULL MAC. 
			
ESXi 5.5 : Version 1.0.3.11 (Sep 29, 2015)
ESXi 6.0 : Version 2.0.3.11 (Sep 29, 2015)
Internal FW 8.5.6.0
Fixes:
------
1. Problem: Cont00081980: Fix for PSOD when h/w init fails in MSI mode.

   Change: Avoid NULL pointer reference during cleanup.

   Relevance: Load failure in MSI/INTx node.

ESXi 5.5 : Version 1.0.3.10 (Sep 07, 2015)
ESXi 6.0 : Version 2.0.3.10 (Sep 07, 2015)
Internal FW 8.5.5.0
Enhancement:
-----------
1. Changes to support new TPA HSI changes.
2. Reenabled dynamic netq support even with only 1 filter per netqueue.

Fixes:
------
1. Problem: CQ81829: Beta Build - Vswitch Mtu change caused PSOD.

   Change:  Process the packet only if netpoll state is active.	

2. Problem: CQ81743: Beta Build - PSOD on "Header Error doing TSO"

   Change:	Added function to vaildate the packet corruptness before processing.
 
ESXi 5.5 : Version 1.0.3.9 (Sep 07, 2015)
ESXi 6.0 : Version 2.0.3.9 (Sep 07, 2015)
Internal FW 8.5.5.0
Enhancement:
-----------
1. Add support for PF level granularity for VXLAN offload and
   VXLAN filter module parameters.
2. Add support for setting RSS hash and type for RSS packets only for ESXi 6.0.
3. Added support for esxcli Link speed change command on E4 QLE35xx adapter for 
   10G and 25G on ESX6.0.

ESXi 5.5 : Version 1.0.3.8 (Aug 19, 2015)
ESXi 6.0 : Version 2.0.3.8 (Aug 19, 2015)
Internal FW 8.5.3.0
Enhancement:
------
1. Added support to notify Speed modification not supported from
   esxcli command.

ESXi 5.5 : Version 1.0.3.7 (Aug 18, 2015)
ESXi 6.0 : Version 2.0.3.7 (Aug 18, 2015)
Internal FW 8.5.3.0
Fixes:
------
1. Problem: CQ76933 - Beta build - PSOD after reboot host.
			CQ77778 - Beta build - Driver unload clean failed PSOD.

   Change:	RSS_DYN is not supported on ESXi 5.5 GA, restricted to 6.0 and added 
			check to enable DYNAMIC netqueue feature only if max_rx_filters > 1.

   Relevance: Beta build.

Enhancement:
-----------
1. Enable LRO for VXLAN.

ESXi 5.5 : Version 1.0.3.6 (Aug 13, 2015)
ESXi 6.0 : Version 2.0.3.6 (Aug 13, 2015)
Internal FW 8.5.3.0
Fixes:
------

1. Problem: CQ81278 - E4 - Sample 5 - incorrect netq assignment to the Ethernet functions. 

   Change: Changed according to ecore API Changes

   Relevance: NPAR resource allocation

ESXi 5.5 : Version 1.0.3.5 (Aug 05, 2015)
ESXi 6.0 : Version 2.0.3.5 (Aug 05, 2015)
Internal FW 8.5.2.0
Fixes:
------

1. Problem: CQ80306 - E4 Sample 5: SRIOV: PVID: Changing PVID periodically makes inconsistent behavior in pinging.
            CQ80330 - E4 Sample 5: SRIOV: PVID: Windows: VFs (having no vlan id) fails to ping after removing PVID.

  Change : Add vlan0 to VFs when PVID is set to 0 by hypervisor.

  Relevance: SRIOV PVID.

2. Problem:    Cont00080600 - INTx mode causes PSOD, in NPAR mode.

   Change:     Fixed the interrupt ackowledgement code.

   Relevance:  INTx mode in NPAR configuration.

Enhancement:
-----------
1. Add support for auto firmware recovery (Phase 1 : Parity error and tx_timeout recovery).

ESXi 5.5 : Version 1.0.3.4 (Jul 23, 2015)
ESXi 6.0 : Version 2.0.3.4 (Jul 23, 2015)
Internal FW 8.5.1.0
Fixes:
------
1. Problem: Cont00079972 - E4 Samples 4: SRIOV: Windows VF: GVLAN VFs ping successfully eventhough 
										Default vlanid (None(0)) configured on Port Group.

  Change : Set 'untagged_only' flag given by ecore, to receive only untagged packets when no vlan is applied on Port group.

  Relevance: SRIOV GVLAN.

ESXi 5.5 : Version 1.0.3.3 (Jul 15, 2015)
ESXi 6.0 : Version 2.0.3.3 (Jul 15, 2015)
Internal FW 8.5.1.0
Fixes:
------
1. Problem: Cont00079993 - E4 - Sample 4 - firmware assertion when vswitch mtu is lower than VMs mtu settings

  Change: Don't allow higher than MTU packets to be sent to firmware.

  Relevance: MTU Change.

Enhancement:
-----------
1. Add support for VXLAN netqueue filter for NPAR 1.0.

ESXi 5.5 : Version 1.0.3.2 (June 29, 2015)
ESXi 6.0 : Version 2.0.3.2 (June 29, 2015)
Internal FW 8.4.2.0
Fixes:
------
1. Problem: Cont00080291 - E4 - Sample 5 - Unable to power on SRIOV VM ( linux )

  Change: Change number of msix vectors per VF from hardcoded value(2) to dynamicaly calculating value.

  Relevance: SRIOV.

2. Problem: E4 - Cont00079777 - Sample 4 : VXLAN-RSS queues not used when unidirectional traffic is started.

   Change: After upgrading storm FW from 8.3.8.0 to 8.4.2.0, it got fixed.

Enhancement:
-----------
1. MSI/INTx support for 40G.
2. Apply MAC+VLAN filter for Multi-Function Configurations on netqueues.
3. Add support for VXLAN.

ESXi 5.5 : Version 1.0.3.1 (June 12, 2015)
ESXi 6.0 : Version 2.0.3.1 (June 12, 2015)
Internal FW 8.3.8.0
Fixes:
------
1 Problem: Cont00079746-E4-100G:PSOD on Esxi6.0 while running Rx stress traffic and executing esxcli nic 
			up & down on the peer server

  Change: Free the packet in case we are getting error in handing off it to netpoll/stack.
			Also added additional error statistics.

  Relevance: UDP traffic and esxcli up/down operation.

Enhancement:
-----------
1.Added support for PVID.
2.Added spoof check support.
3.Reverted to using MAC only filter for Multi-Function Configurations to provide a temporary
  work around for issues observed with MAC+VLAN filter.

ESXi 5.5 : Version 1.0.2.7 (May 28, 2015)
ESXi 6.0 : Version 2.0.2.7 (May 28, 2015)
Internal FW 8.3.8.0
Fixes:
------
1 Problem: Cont00079255-E4 - PSOD on change_mtu while traffic is running

  Change: As per VMware, driver can only copy upto 4K length of private stats in vsish buffer.
			Added change to take care of this.

  Relevance: Driver private stats.

2 Problem Cont00079719 - Base VF interface is not pinging once GVLAN is confgiured on that.

  Change: Allow vlan0 to get configured and removed by PF driver as per VF requiest.

  Relevance: SRIOV.

3 Problem Cont00079803 - E4 - Sample 4: NPAR - Failed to configure ecore dump.

  Change: Invoke ecore_dbg_set_app_ver() with the value returned by ecore_dbg_get_fw_func_ver()

  Relevance: GRC dump collection on system crash.

ESXi 5.5 : Version 1.0.2.6 (May 19, 2015)
ESXi 6.0 : Version 2.0.2.6 (May 19, 2015)
Internal FW 8.3.8.0
Fixes:
------
1 Problem: Cont00079388-E4 Sample4 sriov- max_vfs fails to accept more than 8 parameters.
  
  Change: Increased limit for max_vfs module para for ESX6.0 to 16.	

  Relevance: SRIOV

Enhancements:
------------
    1) Added support for E4 10G, 25G and 100G Devices.
    2) Added support for MAC+VLAN filter in Multi Function Configuration
    3) Resource adjustment in Multi Function Configuration.
    4) Modify RSS and num_queues Driver Module parameters.


ESXi 5.5 : Version 1.0.2.4 (April 30, 2015)
ESXi 6.0 : Version 2.0.2.4 (April 30, 2015)
Internal FW 8.3.5.0
Fixes:
------
1. Problem:   Cont00079303 - E4-Sample 4 - debug messages turned on default

   Change:    Reverted to default log level.

   Relevance: System log file.

Enhancements:
------------
    1) Added support for 100G.


Version 1.0.2.2 (April 23, 2015)
Internal FW 8.3.5.0
Fixes:
------
1. Problem:   Cont00079263 - E4 Samples:QLE3552: SRIOV: VFs are not 
	      getting created in ESXi 6.0
   
   Change:    Added additional parameters to vmk_WorldProps structure 
	      due to change in ESX6.0 DDK

   Relevance: SRIOV

Enhancements:
------------
    1)Added suport for GVLAN for SRIOV.
    2)Added check for NULL before freeing the heap memory.

Version 1.0.2.1 (April 16, 2015)
Internal FW 8.3.5.0
Fixes:
------
1. Problem:	Cont00078411, Cont00078501, Cont00078594: PSOD when LRO flow
		is started.

   Change:	Update LRO and SGE settings in vport according to the sequence
		desired by firmware.

   Relevance:	LRO.	

2. Problem:	Cont00078527: FW assert seen in NPAR when VM and vmknic traffic
		are involved in  specific pattern.

   Change:	Update vport explicity for SGE settings while disabling LRO.	
   
   Relevance:	LRO.	

3. Problem:	Cont00078554: [E4-Brussels] Hit PSOD after configuring 
			      NPAR using nvm cfg command
   Change:	API Call to notify Link State change should not be done 
		in interrupt context on ESX6.0. Implemented Kernel Helper 
		queue to notify Link State.
   Relevance:   ESX6.0

4. Problem:     Cont00078558: E4 Sample III - 9K mtu on NPAR causes 
			      rx_alloc failures
   Change:      Adjust rx and tx queue size to 4K for Jumbo MTU
   Relevance:	Jumbo MTU

5. Problem:    Cont00078374: E4: ESX 6.0: PSOD during ipv6 netperf 
			     traffic + switch port toggle test
   Change:     Changes to Back Channel Spin lock and Unlock
   Relevance:  SRIOV

6. Problem: 	Cont00078681: Misleading event logs when Tx queue becomes full.
   Change:	Corrected event log.
   Relevance:	Tx fast path.


Enhancements:
------------
	1) Added Debug Structure for SRIOV Back Channel


Version 1.0.1.5 (March XX, 2015)
Internal FW 8.2.11.0
Fixes:
------
1. Problem:	Cont00078341 - E4: IPv6 ping from VF->PF fails in SRIOV configuration.

   Change:	Updated PF vport with multicast filter configured.

   Relevance:	SRIOV and NPAR tx-switching.

2. Problem:	Cont00077273: ecore_int_deassertion_aeu_bit:724, failed to
			      start VPORT, Unable to find empty Tx queue.
		Cont00077188: qedentv_multictx_set_rx_rule:866(vmnic4)]
			      Either ctx:0 is freed or firmware is resetting.
		Cont00077939: ecore_fw_assertion:377(0:3:0:0-0)]FW assertion!

   Change:	Avoid unnecessary TxQ start in Tx completion path. Also check
		correct netqueue state before returning from txq_has_work.
   Relevance:	Multiple Tx queues and TSO.

3. Problem:	Cont00077831: PSOD on NPAR system when peer link goes down.

   Change:	Set Rx netqueue state to DISABLED before freeing Rx resources.
		When Rx netqueue allocation fails set queue state to DISABLED.
	
   Relevance:	Multiple Rx queues.


Version 1.0.1.4 (Feb 27, 2015)
Internal FW 8.2.7.0
Enhancements:
------------
        1) Added support for RSS, dynamic RSS and dynamic netqueues.
        2) Added "esxcli qlogic" management interface extension.
           Including idlechk and grcdump.

Fixes:
------
1. Problem: 
	a) Cont00077440: E4 sample-2 MTU change PSOD : EtherswitchPortDispatch@<None>
	b) Cont00076551: E4 : PSOD PktList_SplitBySrcPort@vmkernel.
	c) Cont00075996 : E4 : MTU change - "vmnicX packets completion seems stuck, issuing 
		reset, vmxnet3 panic
	d) Cont00077435 : E4 Brussels adapter: PSOD during MTU change

   Change: Properly handle netqueues when MTU is changed or esxcli down/up is invoked.

   Relevance: MTU change and esxli down/up in loop, while traffic is running.

2. Problem: Cont00077934: E4 netqueues : tweaking required in num_queues logs message for 
	incorrect value

   Change: Print proper error message with error level set.

   Relevance: Changing number of netqueues using module param.

3. Problem: Cont00078047: ESX Driver fails to claim NPAR interfaces

   Change: Added Sub Device ID for NPAR i.e 0x1636

   Relevance: NPAR Only

4. Problem: Cont00077721: FW assertion and interface hang seen at 9K MTU

   Change: Avoid overlap between VF and PF netqueue vports	 

   Relevance: SRIOV 


Version 1.0.1.3 (Feb 26, 2015)
Internal FW 8.2.4.0
Fixes:
------
1.  Problem:  Cont00078032 - E4: Connectivity between VF-PF of same PF fails
                                        in SRIOV configuration.
        Change:   Enable tx-switching on PF when sriov is enabled.

        Relevance:      SRIOV.

Version 1.0.1.2 (Feb 12, 2015)
Internal FW 8.2.4.0
Enhancements:
------------
	1) Added support for NPAR tx-switching
Fixes:
------
1.	Problem:	Cont00077317: E4 NPAR PSOD : PCPU halt/panic,
			Net_AcceptRxList@vmkernel.
	Change:		Do not process packets in Rx path if Rx queue is stopped.

	Relevance:	Driver load.

2.	Problem:	Cont00077333: E4 : [qedentv_uplink_tx:136(vmnic2)]link down in
			uplink tx, vmk_PktSetEncapCsumVfd.

	Change:		Workaround : Verify pkt pointer before procesing packet in Tx
			path.

	Relevance:	Tx path.
	
3. SRIOV implemented.

Version 1.0.1.1 (Jan 21, 2015)
Internal FW 8.2.2.0
Enhancements:
------------
	1) Added HW_LRO support for IPv4 and IPv6.
	2) Added additional TSO statistics.
	3) Reduced no of filters per Rx queue to 1.

Version 1.0.1.0 (Jan 20, 2015)
Internal FW 8.1.11.0
Fixes:
------
1. Problem: Cont00077594: E4 MTU change PSOD : qedentv_apply_rx_filter

   Change: Add check to ensure the add filter operation is aborted when the device is in closed state.

   Relevance: MTU change in loop, while traffic is running.

2. Problem: Cont00077584: E4 MTU change PSOD : qedentv_multictx_remove_rx_rule.

   Change: A check is added to abort remove filter request when the device is closed.

   Relevance: MTU change in loop, while traffic is running.

Version 1.0.0.5 (Dec. XX, 2014)
Internal FW 8.1.7.0

Fixes:
------
 1. Problem:    Cont00077098 : E4 : queue restriction "< 4", no CID available for protocol 4

    Change:     Increased the no of total cids.

    Relevance:  Netqueue allocation.

Version 1.0.0.4 (Dec. 05, 2014)
Internal FW 8.1.5.0

Fixes:
------
 1. Problem:    Cont00076493 : Bad direction (None) 0 given for DMA elem unmap on 'qedentv'

    Change:     Fixed incorrect usage while unmapping packets at some places.

    Relevance:  Tx path.

 2. Problem:    Cont00075957: E4 : esxcli network stat are incorrect.

    Change:     Corrected the supported stats.

    Relevance:  esxcli network nic get operation.

 3. Problem:    Cont00076177: E4 : hw_vlan module parameter enable/disable support.

    Change:     Added support for "hw_vlan" module parameter.

    Relevance:  Hardware vlan enable/disable.

Enhancements:
        1) Added support for Tx/Rx netqueues in driver.

Version 1.0.0.3 (Oct. 31, 2014)
===============================
Internal FW 8.1.2.0

Fixes:
------
 1. Problem:    Cont00076219 : E4 : ESX 55 - PSOD - Net_AcceptRxList@vmkernel#nover

    Change:     Added netpoll sync before freeing the resources.

    Relevance:  esxcli up/down with traffic.

Enhancements:
	1) Changes in driver for ecore changes to support separate control for rx/tx enablement 
		for vport.


Version 1.0.0.2 (Oct. 27, 2014)
===============================
Internal FW 8.0.1.0

Fixes:
------
 1. Problem:    Cont00076230: E4 :  ALERT: [qedentv_request_irq:1040(vmnic4)]Failed to 
				register interrupt (Failure)

    Change:     Allow esxcli up even when it hasn't been made down previously using esxcli down.

    Relevance:  esxcli up operation.

Enhancements:
	1) Added changes to handle Tx HSI changes introduced in firmware version 8.0.1.0.


Version 1.0.0.1 (Oct. 7, 2014)
===============================
Internal FW 8.0.1.0

Fixes:
------
 1. Problem:    Cont00075956:E4 : VIB Installation results says "Reboot Required: false", but 
				to get the driver working reboot required.

    Change:     Made change : vib install : reboot required, vib removal : reboot not required.

    Relevance:  vib installation.


Version 1.0.0.0 (Sept. 25, 2014)
===============================
Internal FW 8.0.0.7

Fixes:
------
 1. Problem:    CQ75906 : E4 - Installing E4 driver changes the lspci description for NX-I/II cards

    Change:     Changed the vendor name back to Broadcom.

    Relevance:  vib installation.
