- Jun 04, 2015
-
-
Alexei Starovoitov authored
Allow eBPF programs attached to classifier/actions to call bpf_clone_redirect(skb, ifindex, flags) helper which will mirror or redirect the packet by dynamic ifindex selection from within the program to a target device either at ingress or at egress. Can be used for various scenarios, for example, to load balance skbs into veths, split parts of the traffic to local taps, etc. Signed-off-by:
Alexei Starovoitov <ast@plumgrid.com> Acked-by:
Daniel Borkmann <daniel@iogearbox.net> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Carol Soto authored
fix typo in mlx4_set_vf_mac Acked-by:
Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by:
Carol L Soto <clsoto@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Carol Soto authored
If mlx4_enable_sriov is called by adapter without this feature MLX4_DEV_CAP_FLAG2_SYS_EQS then during this path the function alloc icm is called twice without freeing the structures from the first time. Acked-by:
Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by:
Carol L Soto <clsoto@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Carol L Soto authored
If user loads mlx4_core with num_vfs greater than supported then variable dev->dev_vfs is freed 2 times after unloading the driver. Acked-by:
Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by:
Carol L Soto <clsoto@linux.vnet.ibm.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David Malcolm authored
This code in drivers/net/ethernet/dec/tulip/uli526x.c function "uli526x_timer": 1086 } else 1087 if ((tmp_cr12 & 0x3) && db->link_failed) { [...snip...] 1109 } 1110 else if(!(tmp_cr12 & 0x3) && db->link_failed) 1111 { [...snip...] 1117 } 1118 db->init=0; is misleadingly indented: the db->init=0 is indented as if part of the else clause at line 1086, but it is independent of it (no braces before the "if" at line 1087). This patch fixes the indentation to reflect the actual meaning of the code, though is it actually meant to be part of the "else" clause? (I'm a compiler developer, not a kernel person). It also adds spaces around the assignment, to placate checkpatch.pl. Seen via an experimental new gcc warning I'm working on for gcc 6, -Wmisleading-indentation, using gcc r223098 adding -Werror=misleading-indentation to KBUILD_CFLAGS in Makefile. The experimental GCC emits this warning (as an error), rightly IMHO: drivers/net/ethernet/dec/tulip/uli526x.c: In function ‘uli526x_timer’: drivers/net/ethernet/dec/tulip/uli526x.c:1118:3: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation] db->init=0; ^ drivers/net/ethernet/dec/tulip/uli526x.c:1086:4: note: ...this ‘else’ clause, but it is not } else ^ Hope this is helpful Dave Signed-off-by:
David Malcolm <dmalcolm@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dan Murphy authored
Add support for the TI dp83867 Gigabit ethernet phy device. The DP83867 is a robust, low power, fully featured Physical Layer transceiver with integrated PMD sublayers to support 10BASE-T, 100BASE-TX and 1000BASE-T Ethernet protocols. Signed-off-by:
Dan Murphy <dmurphy@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Antonio Murdaca authored
use the time_after_eq macro for jiffies comparison operation Signed-off-by:
Antonio Murdaca <antonio.murdaca@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Or Gerlitz authored
When CONFIG_RFS_ACCEL or SMP aren't set, we fail to build, fix it. Also, avoid build warning as of unused function on that setup. Fixes: c66fa19c ('net/mlx4: Add EQ pool') Reported-by:
Michael Ellerman <mpe@ellerman.id.au> Signed-off-by:
Matan Barak <matanb@mellanox.com> Signed-off-by:
Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jun 03, 2015
-
-
David S. Miller authored
Shradha Shah says: ==================== sfc: ndo_get_phys_port_id, vadaptor stats and PF unload when Vf's assigned to guest This is the third and last instalment of SRIOV for EF10 patches. This patch set includes implementation of ndo_get_phys_port_id and changes to the MAC statistics code in order to support vadaptor statistics. It also includes code to deal with PF unload when Vf's are still assigned to the guest. The first couple of patches create sysfs files for physical port and link control flags which are particularly useful when we have enabled a large number of VF's. These patches have been tested with and without CONFIG_SFC_SRIOV. The creation and content of the sysfs files has been tested. The statistics are tested using ethtool for monitoring. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
If any VF is assigned as the PF is unloaded, do not attempt to remove its vport or the vswitch. These will be removed if the driver binds to the PF again, as an entity reset occurs during probe. A 'force' flag is added to efx_ef10_pci_sriov_disable() to distinguish between disabling SR-IOV and driver unload. SR-IOV cannot be disabled if VFs are assigned to guests. If the PF driver is unloaded while VFs are assigned, the driver may try to bind to the VF again at a later point if the driver has been reloaded and the VF returns to the same domain as the PF. In this case, the PF will not have a VF data structure, so the VF can check this and drop out of probe early. In this case, efx->vf_count will be zero but VFs will be present. The user is advised to remove the VF and re-create it. The check at the beginning of efx_ef10_pci_sriov_disable() that efx->vf_count is non-zero is removed to allow SR-IOV to be disabled in this case. Also, if the PF driver is unloaded, it will disable SR-IOV to remove these unknown VFs. By not disabling bus-mastering if VFs are still assigned, the VF will continue to pass traffic after the PF has been removed. When using the max_vfs module parameter, if VFs are already present do not try to initialise any more. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
When the driver unloads, force the unbind and removal of any VFs in the host with the PF. The PF cannot remove vports and vswitches if they are still being used by a VF driver, and when unloading the sfc driver the removal order is not guaranteed, so the instruction from the PF to the VF to unbind enforces a suitable ordering so that vswitches and vports can be removed. As a result of this, manually unbinding the driver from a single PF will result in all of its VFs in the host also being removed. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
The ifenslave command to set up a bond runs in an atomic context, and it queries the stats on the devices that are being enslaved. A VF needs to make an MCDI call to update its stats, which is not allowed in atomic context. The releasing of the stats_lock is moved to the beginning of the VF stats update function so that in_interrupt() can be used; it must be taken again before returning from this function. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
The raw_mask array is not initialised, so it needs to be explicitly set to zero in the 'else' branch. If the EVB capability is not present, a port cannot have multiple functions so the per-port MAC stats are correct and should match the corresponding vadaptor stats, so this redundancy can be removed from the ethtool stats output. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
MC_CMD_MAC_STATS can be called on a function before a vadaptor has been created, as the kernel can call into this through ndo_get_stats/ndo_get_stats64. If MC_CMD_MAC_STATS is called before the DMA queues have been setup, so that a vadaptor has not been created yet, firmware will return ENOENT. This is expected, so suppress the MCDI error message in this case. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
The netdevice statistics (in /proc/net/dev) are per-function stats so they must use the vadaptor stats. Change the use of MAC stats to vadaptor stats, and remove any statistics that can only be measured per-port. All stats that are removed will be shown as zeroes when these statistics are displayed. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
Firmware does not support a periodic DMA of vadaptor-stats on VFs, so only update the stats buffer when stats are requested (when running "ethtool -S" or an ip/ifconfig command that reports stats). Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
All interfaces will display vadaptor statistics, so set all the relevant bits in the stats bitmask. Only functions with the LINKCTRL flag will see other stats, including (per-port) MAC stats. The vadaptor stats are from rx_unicast to tx_overflow. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
The port-id must be known so that the RMON level can be set for the collection of vadapter stats. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Pieczko authored
The MAC stats are per-port and will only be displayed on the PF with control of the link (one per physical port). Vadapter stats will also be displayed for this PF, so distinguish the MAC stats by adding a prefix of "port_". Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Shradha Shah authored
Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Shradha Shah authored
On every adapter there will be one primary PF per adaptor and one link control PF per port. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Shradha Shah authored
This change is a stylistic change and does not affect functionality. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Shradha Shah authored
In the case where we have multiple functions (PFs and VFs), this sysfs entry is useful to identify the physical port corresponding to the function we are interested in. Signed-off-by:
Shradha Shah <sshah@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Aleksey Makarov says: ==================== net: thunderx: fix problems reported by static check tools These are fixes for the problems that were reported by static check tools. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
GFP_KERNEL should be used in the thread context Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes a coccinelle warning: coccinelle warnings: (new ones prefixed by >>) >> drivers/net/ethernet/cavium/thunder/nicvf_queues.c:360:1-11: alloc >> with no test, possible model on line 367 vim +360 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 354 err = nicvf_alloc_q_desc_mem(nic, &sq->dmem, q_len, SND_QUEUE_DESC_SIZE, 355 NICVF_SQ_BASE_ALIGN_BYTES); 356 if (err) 357 return err; 358 359 sq->desc = sq->dmem.base; > 360 sq->skbuff = kcalloc(q_len, sizeof(u64), GFP_ATOMIC); 361 sq->head = 0; 362 sq->tail = 0; 363 atomic_set(&sq->free_cnt, q_len - 1); 364 sq->thresh = SND_QUEUE_THRESH; 365 366 /* Preallocate memory for TSO segment's header */ > 367 sq->tso_hdrs = dma_alloc_coherent(&nic->pdev->dev, 368 q_len * TSO_HEADER_SIZE, 369 &sq->tso_hdrs_phys, GFP_KERNEL); 370 if (!sq->tso_hdrs) Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
No need to cast void* to u8*: pointer arithmetics works same way for both. Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes a copypaste bug that was discovered by a static analysis tool: The patch 4863dea3 : "net: Adding support for Cavium ThunderX network controller" from May 26, 2015, leads to the following static checker warning: drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c:517 nicvf_set_rxfh() warn: we tested 'hkey' before and it was 'false' drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 506 /* We do not allow change in unsupported parameters */ 507 if (hkey || ^^^^ We return here. 508 (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)) 509 return -EOPNOTSUPP; 510 511 rss->enable = true; 512 if (indir) { 513 for (idx = 0; idx < rss->rss_size; idx++) 514 rss->ind_tbl[idx] = indir[idx]; 515 } 516 517 if (hkey) { ^^^^ So this is dead code. 518 memcpy(rss->key, hkey, RSS_HASH_KEY_SIZE * sizeof(u64)); 519 nicvf_set_rss_key(nic); 520 } 521 522 nicvf_config_rss(nic); 523 return 0; 524 } regards, dan carpenter Reported-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes sparse messages like this: drivers/net/ethernet/cavium/thunder/nicvf_main.c:1141:26: sparse: symbol 'nicvf_get_stats64' was not declared. Should it be static? Also remove unused declarations Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
They were left from development stage Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes sparse message: drivers/net/ethernet/cavium/thunder/nicvf_main.c:385:40: sparse: cast to restricted __le64 Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes sparse message: drivers/net/ethernet/cavium/thunder/nicvf_main.c:153:25: sparse: cast to restricted __le64 Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Aleksey Makarov authored
This fixes sparse messages like this: drivers/net/ethernet/cavium/thunder/thunder_bgx.c:897:24: sparse: constant 0x300000000000 is so big it is long Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Aleksey Makarov <aleksey.makarov@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Robert Richter authored
There are duplicate NODE_ID macro definitions. Move all of them to nic.h for usage in nic and bgx driver and introduce nic_get_node_id() helper function. This patch also fixes 64bit mask which should have been ULL by reworking the node calculation. Signed-off-by:
Robert Richter <rrichter@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jun 02, 2015
-
-
git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller authored
Conflicts: drivers/net/phy/amd-xgbe-phy.c drivers/net/wireless/iwlwifi/Kconfig include/net/mac80211.h iwlwifi/Kconfig and mac80211.h were both trivial overlapping changes. The drivers/net/phy/amd-xgbe-phy.c file got removed in 'net-next' and the bug fix that happened on the 'net' side is already integrated into the rest of the amd-xgbe driver. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Hariprasad Shenai says: ==================== cxgb4/cxgb4vf: Adds support for Chelsio T6 adapter This patch series adds the following: Adds NIC driver support for T6 adapter Adds vNIC driver support for T6 adapter This patch series has been created against net-next tree and includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. Thanks V2: Fixed compilation issue, when CHELSIO_T4_FCOE is set ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Hariprasad Shenai authored
Adds vnic driver register related changes for T6 adapter Signed-off-by:
Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Hariprasad Shenai authored
Adds NIC driver related changes for T6 adapter. Register related changes, MC related changes, VF related changes, doorbell related changes, debugfs changes, etc Signed-off-by:
Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Hariprasad Shenai authored
Adds new macro is_t6 and adds the register address range for T6 adapter Signed-off-by:
Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-