summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-29net/failsafe: replace sub-device pointer with port idRaslan Darawsheh
In multiprocess context, the pointer to sub-device is shared between processes. Previously, it was a pointer to per process eth_dev so it's needed to replace this dependency. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2019-03-29net/failsafe: change back-reference from sub-deviceRaslan Darawsheh
In multiprocess context, the sub-device structure is shared between processes. The reference to the failsafe device was a per process pointer. It's changed to port id which is the same for all processes. Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2019-03-29net/failsafe: replace local device with shared dataRaslan Darawsheh
In multiprocess context, the private structure is shared between processes. The back reference from private to generic data was using a pointer to a per process eth_dev. It's now changed to a reference of the shared data. Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2019-03-29net/mlx5: add missing return value checkAli Alnubani
This patch fixes the build failure with message: drivers/net/mlx5/mlx5_ethdev.c: In function ‘mlx5_sysfs_switch_info’: drivers/net/mlx5/mlx5_ethdev.c:1381:3: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result] fscanf(file, "%s", port_name); ^ Which reproduces on Ubuntu 16.04 LTS with gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609. Fixes: b2f3a3810125 ("net/mlx5: support new representor naming format") Signed-off-by: Ali Alnubani <alialnu@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Dekel Peled <dekelp@mellanox.com>
2019-03-29net/bnxt: fix Rx VLAN offload flagsStephen Hemminger
The bnxt driver is not correctly setting the receive VLAN offload flags. When VLAN is offloaded the driver must set the PKT_RX_VLAN_STRIPPED flag. Actually, several drivers have the same bug, only most of the Intel drivers look right. Any driver that sets vlan_tci is probably stripping the tag, and should be setting RX_VLAN_STRIPPED. To quote rte_mbuf.h: /** * The RX packet is a 802.1q VLAN packet, and the tci has been * saved in in mbuf->vlan_tci. * If the flag PKT_RX_VLAN_STRIPPED is also present, the VLAN * header has been stripped from mbuf data, else it is still * present. */ Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-03-29net/i40e: log when provided RSS key is not validWei Zhao
A log message is required when provided RSS key is not valid so that driver will use the default RSS key. Fixes: ecad87d22383 ("net/i40e: move RSS to flow API") Cc: stable@dpdk.org Signed-off-by: Wei Zhao <wei.zhao1@intel.com> Tested-by: Yuan Peng <yuan.peng@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-03-29net/ice: enable RSS when device initQiming Yang
This patch enabled RSS for UPD/TCP/SCTP+IPV4/IPV6 packets. Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-03-29net/ice: add safe modeQiming Yang
If E810 download package failed, driver need to go to safe mode. In the safe mode, some advanced features will not be supported. Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-03-29net/ice: load OS default packageQiming Yang
This patch enables package downloading to the device. The package is to be in the /lib/firmware/intel/ice/ddp directory and named ice.pkg. The package is shared by the kernel driver and the DPDK PMD. There is no per device package be supported so far, all the devices can only download the same package. This limitation will be removed in the future. Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
2019-03-29ethdev: fix a typoRami Rosen
This patch fixes a trivial typo in rte_ethdev.h. retieve=>retrieve Fixes: 80a1deb4c77a ("ethdev: add API to retrieve queue information") Cc: stable@dpdk.org Signed-off-by: Rami Rosen <ramirose@gmail.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-03-29app/testpmd: display/clear forwarding stats on demandDavid Marchand
Add a new "show/clear fwd stats all" command to display fwd and port statistics on the fly. To be able to do so, the (testpmd only) rte_port structure can't be used to maintain any statistics. Moved the stats dump parts from stop_packet_forwarding() and merge with fwd_port_stats_display() into fwd_stats_display(). fwd engine statistics are then aggregated into a local per port array. Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-03-29app/testpmd: remove useless casts on statisticsDavid Marchand
Caught by code review while investigating the fwd stats display code. Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-03-29app/testpmd: extend forwarding statistics to 64 bitsDavid Marchand
fwd engine statistics are stored as unsigned int (32bits) and can wrap quite quickly. Example: sending 7mpps for 614s gives us 4298000000 packets => 0x1002e4680 larger than 32bits. testpmd reports forwarding stats as: RX-packets: 3500381 TX-packets: 3500010 TX-dropped: 371 While the port and accumulated stats are reported as 64bits: RX-packets: 4298467677 RX-dropped: 0 RX-total: 4298467677 TX-packets: 4298467306 TX-dropped: 371 TX-total: 4298467677 Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-03-29app/testpmd: add missing newline when showing statisticsDavid Marchand
Having the standard stats and the rx burst stats on the same line gives a really long line and is not consistent with the rest. Before: iofwd engine RX-packets: 121811360 TX-packets: 121811392 TX-dropped: 0 RX-bursts : 3806605 [100% of 32 pkts] TX-bursts : 3806606 [100% of 32 pkts] csum engine RX-packets: 5467488 TX-packets: 5467520 TX-dropped: 0 RX- bad IP checksum: 0 Rx- bad L4 checksum: 0 Rx- bad outer L4 checksum: 0 RX-bursts : 170859 [100% of 32 pkts] TX-bursts : 170860 [100% of 32 pkts] After: iofwd engine RX-packets: 259770560 TX-packets: 259770592 TX-dropped: 0 RX-bursts : 8117830 [100% of 32 pkts] TX-bursts : 8117831 [100% of 32 pkts] csum engine RX-packets: 7834016 TX-packets: 7834048 TX-dropped: 0 RX- bad IP checksum: 0 Rx- bad L4 checksum: 0 Rx- bad outer L4 checksum: 0 RX-bursts : 244813 [100% of 32 pkts] TX-bursts : 244814 [100% of 32 pkts] Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-03-29net/vdev_netvsc: fix device castStephen Hemminger
The return value from bus->find_device is a rte_device which is not safe to cast to a rte_vdev_device structure. It doesn't really matter since only being checked for NULL but static checkers might find a bug here. Fixes: 56252de779a6 ("net/vdev_netvsc: add automatic probing") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.com>
2019-03-29net/ice/base: rework on bit opsQi Zhang
Move all bit ops related functions from ice_osdep.h into ice_bitops.h. Also remove the limitation that bitmap can only be 64 bits in ice_set_bit and ice_clear_bit. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: revert workaround for resource allocationQi Zhang
Revert the workaround for allocating TCAM and FV entries to align with latest firmware. Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: increase protocol offset sizeQi Zhang
OS package's format is changed, field vector's protocol offset size is changed from 8 bit to 16 bit. So base code also need to align to this, or PMD will not be able to load OS package correctly. Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: fix minor issuesQi Zhang
1. clean flow entry's action structure after remove it. 2. initialized priority when add a new flow entry 3. remove RSS configuration before deleting the flow profile. Fixes: aa1cd410fa64 ("net/ice/base: add flow module") Fixes: 51d04e4933e3 ("net/ice/base: add flexible pipeline module") Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: fix duplicate resource allocationsQi Zhang
This patch ensure that TCAM allocations made by a newly added VSIG that has the same characteristic list of an existing VSIG are removed. Fixes: 51d04e4933e3 ("net/ice/base: add flexible pipeline module") Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: change profile priority for RSS replyQi Zhang
1. Add call to replay RSS configurations 2. Add RSS configurations to end of list and not the head to avoid inversion on replay. Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: support FDIRQi Zhang
Add flow director related support base code. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: support DCBQi Zhang
Add module to support DCB related features. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: change profile id reference countingQi Zhang
Improved the profile reference counting, by moving it from being based on how many TCAM entries using the profile to how many profile map entries are using the profile. Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add function to check FW recovery modeQi Zhang
Code added to check the FW recovery mode. This function will be used by the drivers during init to check whether the FW is in recovery mode or not. If FW is in recovery mode then the drivers need to run in a recovery mode where it can allow only limited operations. Link should be down, allow only certain AQ commands etc. Signed-off-by: Victor Raj <victor.raj@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: return config error without queue to disableQi Zhang
If there is no queue to disable, return appropriate configuration error earlier without acquiring the lock. Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: fix unreachable code usageQi Zhang
Klocwork points out some code is unreachable in ice_get_itr_intrl_gran and ice_ptg_find_ptype. The patch removed the unreachable code and resolved the static analysis reported issues. Fixes: 51d04e4933e3 ("net/ice/base: add flexible pipeline module") Fixes: 453d087ccaff ("net/ice/base: add common functions") Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: update copyright timeQi Zhang
Update copyright time to 2019. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: fix minor issuesQi Zhang
1. Fix some problems with filling the HW tables. 2. Fix a logic error in ice_rem_prof_from_list. Fixes: 51d04e4933e3 ("net/ice/base: add flexible pipeline module") Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: remove local VSIG allocationsQi Zhang
If allocating a VSI to a VSIG fails the local allocations made for VSIG profiles and change-lists will not be removed. Adding calls to free these entries on error in VSIG management calls. Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: do not write TCAM entries backQi Zhang
Profile TCAM entry removal is handled by the firmware when freeing the resource, so the driver does not need to write these default entries back with an update Package action. This patch removes writing of the TCAM entry using Update Package command when removing it, since the entry has already been freed by firmware. Signed-off-by: Dan Nowlin <dan.nowlin@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add RSS key related macro and structuresQi Zhang
Add define for 52 byte RSS hash key size, and add struct ice_aqc_get_set_rss_keys comments regarding setting 40 bytes and 52 byte hash key. Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: enhance get link status commandQi Zhang
Extend the functionality of the admin queue command by including additional status and ID bits to improve link topology configuration. Signed-off-by: Matthew Vick <matthew.vick@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: ensure only valid bits are setQi Zhang
In the ice_aq_set_phy_cfg AQ command, the 16.4 bit is reserved. This patch will make sure that this bit will never be set to 1. Signed-off-by: Chinh T Cao <chinh.t.cao@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: enable VSI queue contextQi Zhang
The patch added to retrieve the queue context and update the queue handle for lan queues. Signed-off-by: Victor Raj <victor.raj@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: clean codeQi Zhang
Change below function as static and also relocated code line to align with kernel driver. ice_aq_move_sched_elems ice_sched_get_agg_node ice_sched_set_node_bw_lmt ice_sched_cfg_node_bw_alloc ice_sched_add_agg_cfg ice_sched_rm_agg_cfg ice_sched_move_vsi_to_agg ice_sched_del_rl_profile ice_sched_rm_unused_rl_prof Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: update macrosQi Zhang
Update macros for metadata and package flags. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: fix minor issuesQi Zhang
1. ICE_SW_LKUP_LAST need to be handled correctly in ice_aq_alloc_free_vsi_list and ice_update_vsi_list_rule 2. ICE_SW_LKUP_ETHERTYPE_MAC need to be handled correctly in ice_update_vsi_lkup_fltr 3. free package segment pointer during ice_deinit_hw Fixes: c7dd15931183 ("net/ice/base: add virtual switch code") Fixes: 453d087ccaff ("net/ice/base: add common functions") Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add helper functions for flow managementQi Zhang
1. ice_rem_all_sw_rules_info - remove all switch rules. 2. ice_reply_all_fltr - replay all filters stored in book keeping list. These APIs will be used when switch rule feature is enabled. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add MAC filter with marker and counterQi Zhang
1. ice_add_mac_with_sw_marker - add filter with software marker. 2. ice_add_mac_with_counter - add filter with counter enabled. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add functions to get VSI promiscuous modeQi Zhang
1. ice_get_vsi_promisc - get promiscuous mode of give VSI. 2. ice_get_vsi_vlan_promisc - get VLAN promiscuous mode of given VSI. PMD may use these APIs to check the real HW status, but not rely on a software flag when something abnormal. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add functions for resource counterQi Zhang
1. ice_alloc_res_cntr - allocate resource counter 2. ice_free_res_cntr - free resource counter 3. ice_alloc_vlan_res_counter - allocate vlan resource counter 4. ice_free_vlan_res_counter - free vlan resource counter These APIs will be used when try to count the number of a flow be hit. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add functions to get allocated resourcesQi Zhang
1. ice_aq_get_res_alloc - get allocated resources. 2. ice_aq_get_res_descs - get allocated resource descriptors. These APIs may help to PMD to enable some debug utilities to dump the resource allocation status. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add functions for ethertype filterQi Zhang
Add API ice_remove_eth_mac and ice_add_eth_mac to support adding / removing ethertype (or MAC) based filter rules. PMD driver can use these APIs to enable related rte_flow rule. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add VSI queue context frameworkQi Zhang
Added code to allocate VSI queue contexts to save the queue specific information like bandwidth etc. Signed-off-by: Victor Raj <victor.raj@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add more APIs in switch moduleQi Zhang
Add below APIs in switch module 1. ice_aq_get_vsi_params - get VSI context info 2. ice_aq_add_update_mir_rule - add/update mirror rule 3. ice_aq_delete_mir_rule - delete mirror rule 4. ice_aq_set_storm_ctrl - set storm control configuration 5. ice_aq_get_storm_ctrl - get storm control configuration PMD can use these APIs to enable mirror rule and storm control related features. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: declare functions as externalQi Zhang
Remove static of below functions and declare them as external APIs. ice_aq_add_vsi ice_aq_free_vsi ice_aq_update_vsi ice_aq_add_lan_txq ice_init_pkg So far the purpose is just to sync with kernel driver. They are reserved for future use. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: remove unnecessary codeQi Zhang
Remove unnecessary macro and data structure. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: allow package copy to be used after resetsQi Zhang
For components that make a copy of an external pipeline package file (i.e. the Linux and FreeBSD drivers), save the size of the package file along with the copy so that both can be used when calling ice_init_pkg() after a CORER/GLOBR reset. Also, do not free the copy of the package file in ice_init_pkg() since it is needed afterward for subsequent resets. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2019-03-29net/ice/base: add helper macrosQi Zhang
1. Add macro ice_for_each_traffic_class to loop for each traffic class. 2. Add macro MIN_T to wrap min with type conversion. Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>