01 Nov, 2018
2 commits
-
Replace the elaborate private structure global linked-list used in
ntb_netdev_probe() and ntb_netdev_remove() by stashing our private
data in the NTB transport client device.Signed-off-by: Aaron Sierra
Reviewed-by: Logan Gunthorpe
Signed-off-by: Jon Mason -
The tx_time should be in usecs (according to the comment above the
variable), but the setting of the timer during the rearming is done in
msecs. Change it to match the expected units.Fixes: e74bfeedad08 ("NTB: Add flow control to the ntb_netdev")
Suggested-by: Gerd W. Haeussler
Signed-off-by: Jon Mason
Acked-by: Dave Jiang
23 Jun, 2018
1 commit
-
random_ether_addr is a #define for eth_random_addr which is
generally preferred in kernel code by ~3:1Convert the uses of random_ether_addr to enable removing the #define
Miscellanea:
o Convert &vfmac[0] to equivalent vfmac and avoid unnecessary line wrap
Signed-off-by: Joe Perches
Acked-by: Jeff Kirsher
Signed-off-by: David S. Miller
01 Nov, 2017
1 commit
-
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.Cc: Jon Mason
Cc: Dave Jiang
Cc: Allen Hubbe
Cc: linux-ntb@googlegroups.com
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook
Signed-off-by: David S. Miller
06 Jul, 2017
1 commit
-
At present, ntb_netdev devices end up under /sys/devices/virtual/net
completely unconnected to the ntb trees below them. This patch sets the
parent of the net_device (using SET_NETDEV_DEV) to the client_dev
device. This results in a better connected sysfs path for the network
device:/sys/devices/pci0000:00/0000:00:03.0/0000:03:00.1/0000:03:00.1/ntb_netdev0/net/eth2
Signed-off-by: Logan Gunthorpe
Acked-by: Allen Hubbe
Signed-off-by: Jon Mason
14 Mar, 2017
1 commit
-
The ethtool api {get|set}_settings is deprecated.
We move this driver to new api {get|set}_link_ksettings.As I don't have the hardware, I'd be very pleased if
someone may test this patch.Signed-off-by: Philippe Reynes
Signed-off-by: David S. Miller
21 Oct, 2016
1 commit
-
geneve:
- Merge __geneve_change_mtu back into geneve_change_mtu, set max_mtu
- This one isn't quite as straight-forward as others, could use some
closer inspection and testingmacvlan:
- set min/max_mtutun:
- set min/max_mtu, remove tun_net_change_mtuvxlan:
- Merge __vxlan_change_mtu back into vxlan_change_mtu
- Set max_mtu to IP_MAX_MTU and retain dynamic MTU range checks in
change_mtu function
- This one is also not as straight-forward and could use closer inspection
and testing from vxlan folksbridge:
- set max_mtu of IP_MAX_MTU and retain dynamic MTU range checks in
change_mtu functionopenvswitch:
- set min/max_mtu, remove internal_dev_change_mtu
- note: max_mtu wasn't checked previously, it's been set to 65535, which
is the largest possible size supportedsch_teql:
- set min/max_mtu (note: max_mtu previously unchecked, used max of 65535)macsec:
- min_mtu = 0, max_mtu = 65535macvlan:
- min_mtu = 0, max_mtu = 65535ntb_netdev:
- min_mtu = 0, max_mtu = 65535veth:
- min_mtu = 68, max_mtu = 655358021q:
- min_mtu = 0, max_mtu = 65535CC: netdev@vger.kernel.org
CC: Nicolas Dichtel
CC: Hannes Frederic Sowa
CC: Tom Herbert
CC: Daniel Borkmann
CC: Alexander Duyck
CC: Paolo Abeni
CC: Jiri Benc
CC: WANG Cong
CC: Roopa Prabhu
CC: Pravin B Shelar
CC: Sabrina Dubroca
CC: Patrick McHardy
CC: Stephen Hemminger
CC: Pravin Shelar
CC: Maxim Krasnyansky
Signed-off-by: Jarod Wilson
Signed-off-by: David S. Miller
08 Sep, 2015
1 commit
-
Right now if we push the NTB really hard, we start dropping packets due
to not able to process the packets fast enough. We need to st:qop the
upper layer from flooding us when that happens.A timer is necessary in order to restart the queue once the resource has
been processed on the receive side. Due to the way NTB is setup, the
resources on the tx side are tied to the processing of the rx side and
there's no async way to know when the rx side has released those
resources.Signed-off-by: Dave Jiang
Signed-off-by: Jon Mason
10 Aug, 2015
2 commits
-
ntb_netdev is allowing the link to come up even when -ENOMEM is returned
from ntb_transport_rx_enqueue. Fix to cover all possible errors.Signed-off-by: Dave Jiang
Signed-off-by: Jon Mason -
It was possible for a synchronous update of the RX index in the error
case to get ahead of the asynchronous RX index update in the normal
case. Change the RX processing to preserve an RX completion order.There were two error cases. First, if a buffer is not present to
receive data, there would be no queue entry to preserve the RX
completion order. Instead of dropping the RX frame, leave the RX frame
in the ring. Schedule RX processing when RX entries are enqueued, in
case there are RX frames waiting in the ring to be received.Second, if a buffer is too small to receive data, drop the frame in the
ring, mark the RX entry as done, and indicate the error in the RX entry
length. Check for a negative length in the receive callback in
ntb_netdev, and count occurrences as rx_length_errors.Signed-off-by: Allen Hubbe
Signed-off-by: Jon Mason
05 Jul, 2015
1 commit
-
Change ntb_hw_intel to use the new NTB hardware abstraction layer.
Split ntb_transport into its own driver. Change it to use the new NTB
hardware abstraction layer.Signed-off-by: Allen Hubbe
Signed-off-by: Jon Mason
02 Jul, 2015
1 commit
-
This patch only moves files to their new locations, before applying the
next two patches adding the NTB Abstraction layer. Splitting this patch
from the next is intended make distinct which code is changed only due
to moving the files, versus which are substantial code changes in adding
the NTB Abstraction layer.Signed-off-by: Allen Hubbe
Signed-off-by: Jon Mason
07 Jun, 2014
1 commit
-
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller
14 May, 2014
1 commit
-
net: get rid of SET_ETHTOOL_OPS
Dave Miller mentioned he'd like to see SET_ETHTOOL_OPS gone.
This does that.Mostly done via coccinelle script:
@@
struct ethtool_ops *ops;
struct net_device *dev;
@@
- SET_ETHTOOL_OPS(dev, ops);
+ dev->ethtool_ops = ops;Compile tested only, but I'd seriously wonder if this broke anything.
Suggested-by: Dave Miller
Signed-off-by: Wilfried Klaebe
Acked-by: Felipe Balbi
Signed-off-by: David S. Miller
08 Apr, 2014
4 commits
-
Some white space and 80 char overruns corrected.
Signed-off-by: Jon Mason
-
Provide a better event interface between the client and transport
Signed-off-by: Jon Mason
-
In ntb_netdev_open, when ntb_transport_rx_enqueue fails the skb that was
attempting to be enqueued is not freed. Free this skb on the
ntb_transport_rx_enqueue error.Signed-off-by: Jon Mason
-
If list_for_each_entry exits without finding the ntb_device, the dev
pointer will not be NULL. Thus the check will never be true and the
code will not exit when it should. Correct this by adding a bool to
determine when the device is found, otherwise exit in good fashion.Signed-off-by: Jon Mason
16 May, 2013
1 commit
-
The ntb_netdev device is not removed from the global list of devices
upon device removal. If the device is re-added, the removal code would
find the first instance and try to remove an already removed device.Signed-off-by: Jon Mason
21 Jan, 2013
5 commits
-
Update NTB netdev version to 0.7
Signed-off-by: Jon Mason
Signed-off-by: Greg Kroah-Hartman -
Improve driver logging to be more helpful
Signed-off-by: Jon Mason
Signed-off-by: Greg Kroah-Hartman -
There is a race between disabling and enabling the tx queue, resulting
in tx timeouts. Since all the tx timeout does is re-enable the tx
queue, simple remove the start/stop of the queue and the tx timeout
routine.Signed-off-by: Jon Mason
Signed-off-by: Greg Kroah-Hartman -
If ntb_netdev is unable to pass a new skb to the ntb transport for
future rx packets, it should free the newly alloc'ed skb in the error
case. Found by Kernel memory leak detector.Signed-off-by: Jon Mason
Signed-off-by: Greg Kroah-Hartman -
Remove init/exit from probe/remove routines to correct warnings of
"Section mismatch".Signed-off-by: Jon Mason
Signed-off-by: Greg Kroah-Hartman
18 Jan, 2013
2 commits
-
These are now gone from the kernel, so remove them from the newly-added
drivers before they start to cause build errors for people.Cc: Jon Mason
Signed-off-by: Greg Kroah-Hartman -
A virtual ethernet device that uses the NTB transport API to
send/receive data.Signed-off-by: Jon Mason
Reviewed-by: Nicholas Bellinger
Acked-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman