Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next] net: phy: realtek: add support for RTL8211
From: David Miller @ 2018-06-30 11:47 UTC (permalink / raw)
  To: hkallweit1; +Cc: andrew, f.fainelli, nic_swsd, netdev
In-Reply-To: <4ba9b12d-d7a2-6cfa-7ca5-fc4414c0b1e6@gmail.com>

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Thu, 28 Jun 2018 20:46:45 +0200

> In preparation of adding phylib support to the r8169 driver we need
> PHY drivers for all chip-internal PHY types. Fortunately almost all
> of them are either supported by the Realtek PHY driver already or work
> with the genphy driver.
> Still missing is support for the PHY of RTL8169s, it requires a quirk
> to properly support 100Mbit-fixed mode. The quirk was copied from
> r8169 driver which copied it from the vendor driver.
> Based on the PHYID the internal PHY seems to be a RTL8211.
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCH] net: usb: Mark expected switch fall-throughs
From: David Miller @ 2018-06-30 11:47 UTC (permalink / raw)
  To: gustavo; +Cc: linux-usb, netdev, linux-kernel
In-Reply-To: <20180628185048.GA26623@embeddedor.com>

From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
Date: Thu, 28 Jun 2018 13:50:48 -0500

> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
> where we are expecting to fall through.
> 
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>

Applied.

^ permalink raw reply

* Re: [net-next 1/1] tipc: eliminate buffer cloning in function tipc_msg_extract()
From: David Miller @ 2018-06-30 11:48 UTC (permalink / raw)
  To: jon.maloy
  Cc: netdev, mohan.krishna.ghanta.krishnamurthy, tung.q.nguyen,
	hoang.h.le, canh.d.luu, ying.xue, tipc-discussion
In-Reply-To: <1530217504-16466-1-git-send-email-jon.maloy@ericsson.com>

From: Jon Maloy <jon.maloy@ericsson.com>
Date: Thu, 28 Jun 2018 22:25:04 +0200

> From: Tung Nguyen <tung.q.nguyen@dektech.com.au>
> 
> The function tipc_msg_extract() is using skb_clone() to clone inner
> messages from a message bundle buffer. Although this method is safe,
> it has an undesired effect that each buffer clone inherits the
> true-size of the bundling buffer. As a result, the buffer clone
> almost always ends up with being copied anyway by the message
> validation function. This makes the cloning into a sub-optimization.
> 
> In this commit we take the consequence of this realization, and copy
> each inner message to a separately allocated buffer up front in the
> extraction function.
> 
> As a bonus we can now eliminate the two cases where we had to copy
> re-routed packets that may potentially go out on the wire again.
> 
> Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>

Applied, thanks for following up on this issue.

^ permalink raw reply

* Re: [net-next 1/1] tipc: optimize function tipc_node_timeout()
From: David Miller @ 2018-06-30 11:52 UTC (permalink / raw)
  To: jon.maloy
  Cc: netdev, mohan.krishna.ghanta.krishnamurthy, tung.q.nguyen,
	hoang.h.le, canh.d.luu, ying.xue, tipc-discussion
In-Reply-To: <1530218365-16566-1-git-send-email-jon.maloy@ericsson.com>

From: Jon Maloy <jon.maloy@ericsson.com>
Date: Thu, 28 Jun 2018 22:39:25 +0200

> From: Tung Nguyen <tung.q.nguyen@dektech.com.au>
> 
> In single-link usage, the function tipc_node_timeout() still iterates
> over the whole link array to handle each link. Given that the maximum
> number of bearers are 3, there are 2 redundant iterations with lock
> grab/release. Since this function is executing very frequently it makes
> sense to optimize it.
> 
> This commit adds conditional checking to exit from the loop if the
> known number of configured links has already been accessed.
> 
> Acked-by: Ying Xue <ying.xue@windriver.com>
> Signed-off-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>

Applied.

^ permalink raw reply

* Re: [PATCH net] net/ipv6: Fix updates to prefix route
From: David Miller @ 2018-06-30 11:54 UTC (permalink / raw)
  To: dsahern; +Cc: netdev, sowmini.varadhan, dsahern
In-Reply-To: <20180628203655.14293-1-dsahern@kernel.org>

From: dsahern@kernel.org
Date: Thu, 28 Jun 2018 13:36:55 -0700

> From: David Ahern <dsahern@gmail.com>
> 
> Sowmini reported that a recent commit broke prefix routes for linklocal
> addresses. The newly added modify_prefix_route is attempting to add a
> new prefix route when the ifp priority does not match the route metric
> however the check needs to account for the default priority. In addition,
> the route add fails because the route already exists, and then the delete
> removes the one that exists. Flip the order to do the delete first.
> 
> Fixes: 8308f3ff1753 ("net/ipv6: Add support for specifying metric of connected routes")
> Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
> Tested-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
> Signed-off-by: David Ahern <dsahern@gmail.com>

Applied, thanks David.

^ permalink raw reply

* Re: [PATCH] r8169: remove TBI 1000BaseX support
From: David Miller @ 2018-06-30 11:54 UTC (permalink / raw)
  To: hkallweit1; +Cc: nic_swsd, netdev
In-Reply-To: <e68152e2-4187-ad39-39e4-dadad5a1f6cd@gmail.com>

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Fri, 29 Jun 2018 08:07:04 +0200

> The very first version of RTL8169 from 2002 (and only this one) has
> support for a TBI 1000BaseX fiber interface. The TBI support in the
> driver makes switching to phylib tricky, so best would be to get
> rid of it. I found no report from anybody using a device with RTL8169
> and fiber interface, also the vendor driver doesn't support this mode
> (any longer).
> So remove TBI support and bail out with a message if a card with
> activated TBI is detected. If there really should be any user of it
> out there, we could add a stripped-down version of the driver
> supporting chip version 01 and TBI only (and maybe move it to
> staging).
> 
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

Ok, I guess this is reasonable.

Applied, but it will be a mini-disaster if someone is actually making
use of this fiber support for whatever reason.

^ permalink raw reply

* Re: [PATCH 1/2] cdc_ncm: Hook into usbnet_change_mtu respecting usbnet,driver_info
From: Bjørn Mork @ 2018-06-30 12:01 UTC (permalink / raw)
  To: Miguel Rodríguez Pérez; +Cc: linux-usb, netdev
In-Reply-To: <f7e03920-e32d-e49c-9c9e-d7a4473828ee@det.uvigo.gal>

Miguel Rodríguez Pérez <miguel@det.uvigo.gal> writes:

> Change the way cdc_ncm_change_mtu hooks into the netdev_ops
> structure so that changes into usbnet driver_info operations
> can be respected. Without this, is was not possible to hook
> into usbnet_set_rx_mode.

Please export usbnet_set_rx_mode instead, so that cdc_ncm_netdev_ops
can be kept const.


Bjørn

^ permalink raw reply

* Re: [PATCH net-next 05/10] net: hns3: using modulo for cyclic counters in hclge_cmd_send
From: David Miller @ 2018-06-30 12:03 UTC (permalink / raw)
  To: lipeng321; +Cc: netdev, linux-kernel, linuxarm, yisen.zhuang, salil.mehta
In-Reply-To: <1530271385-49668-6-git-send-email-lipeng321@huawei.com>

From: Peng Li <lipeng321@huawei.com>
Date: Fri, 29 Jun 2018 19:23:00 +0800

> @@ -228,8 +228,7 @@ int hclge_cmd_send(struct hclge_hw *hw, struct hclge_desc *desc, int num)
>  		desc_to_use = &hw->cmq.csq.desc[hw->cmq.csq.next_to_use];
>  		*desc_to_use = desc[handle];
>  		(hw->cmq.csq.next_to_use)++;
> -		if (hw->cmq.csq.next_to_use == hw->cmq.csq.desc_num)
> -			hw->cmq.csq.next_to_use = 0;
> +		hw->cmq.csq.next_to_use %= hw->cmq.csq.desc_num;
>  		handle++;

I would advise against this.

The "%" modulus operation takes many cpu cycles, and the current code
is thus much faster.

^ permalink raw reply

* Re: [net-next 1/1] tipc: Auto removal of peer down node instance
From: David Miller @ 2018-06-30 12:05 UTC (permalink / raw)
  To: mohan.krishna.ghanta.krishnamurthy
  Cc: tipc-discussion, jon.maloy, maloy, ying.xue, netdev
In-Reply-To: <1530271421-17726-1-git-send-email-mohan.krishna.ghanta.krishnamurthy@ericsson.com>

From: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com>
Date: Fri, 29 Jun 2018 13:23:41 +0200

> A peer node is considered down if there are no
> active links (or) lost contact to the node. In current implementation,
> a peer node instance is deleted either if
> 
> a) TIPC module is removed (or)
> b) Application can use a netlink/iproute2 interface to delete a
> specific down node.
> 
> Thus, a down node instance lives in the system forever, unless the
> application explicitly removes it.
> 
> We fix this by deleting the nodes which are down for
> a specified amount of time (5 minutes).
> Existing node supervision timer is used to achieve this.
> 
> Acked-by: Ying Xue <ying.xue@windriver.com>
> Acked-by: Jon Maloy <jon.maloy@ericsson.com>
> Signed-off-by: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com>

Applied.

^ permalink raw reply

* Re: [net-next 1/1] tipc: extend sock diag for group communication
From: David Miller @ 2018-06-30 12:06 UTC (permalink / raw)
  To: mohan.krishna.ghanta.krishnamurthy
  Cc: tipc-discussion, jon.maloy, maloy, ying.xue, netdev
In-Reply-To: <1530271578-17800-1-git-send-email-mohan.krishna.ghanta.krishnamurthy@ericsson.com>

From: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com>
Date: Fri, 29 Jun 2018 13:26:18 +0200

> This commit extends the existing TIPC socket diagnostics framework
> for information related to TIPC group communication.
> 
> Acked-by: Ying Xue <ying.xue@windriver.com>
> Acked-by: Jon Maloy <jon.maloy@ericsson.com>
> Signed-off-by: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com>

Applied.

^ permalink raw reply

* Re: pull-request: mac80211-next 2018-06-29
From: David Miller @ 2018-06-30 12:17 UTC (permalink / raw)
  To: johannes-cdvu00un1VgdHxzADdlk8Q
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20180629115906.2045-1-johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>

From: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
Date: Fri, 29 Jun 2018 13:59:05 +0200

> Here's the next round of -next updates. This includes the promised
> HE stuff but it's not all that big in the end, most of it is just
> additions to the protocol header file :-)

:-)

> Please pull and let me know if there's any problem.

There was a small merge conflict in net/mac80211/scan.c, I arranged
it such that the kcalloc() conversion was preserved.

Please send me any necessary fixups if I didn't do it properly.

Thanks.

^ permalink raw reply

* Re: [PATCH 2/2] cdc_ncm: Admit multicast traffic
From: Bjørn Mork @ 2018-06-30 12:17 UTC (permalink / raw)
  To: Miguel Rodríguez Pérez; +Cc: linux-usb, netdev
In-Reply-To: <ac0097e4-0c3a-1a06-12f4-8cb7fcf07eb1@det.uvigo.gal>

Miguel Rodríguez Pérez <miguel@det.uvigo.gal> writes:

> +static void cdc_ncm_update_filter(struct usbnet *dev)
> +{
> +       struct cdc_ncm_ctx *ctx = (struct cdc_ncm_ctx *)dev->data[0];
> +	u8 iface_no = ctx->control->cur_altsetting->desc.bInterfaceNumber;
> +	struct net_device *net = dev->net;

Why not change usbnet_cdc_update_filter to get the interface number from
dev->intf instead? Then you can export it and reuse it here instead of
creating a copy.  And it will also work for any other usbnet minidriver.

I.e. change this:

static void usbnet_cdc_update_filter(struct usbnet *dev)
{
	struct cdc_state	*info = (void *) &dev->data;
	struct usb_interface	*intf = info->control;

into:

static void usbnet_cdc_update_filter(struct usbnet *dev)
{
	struct usb_interface	*intf = dev->intf;


or simply use dev->intf to deref directly into an interface number, like
you do in your version.  The local 'intf' variable doesn't do much
good here.



> +
> +	u16 cdc_filter = USB_CDC_PACKET_TYPE_DIRECTED
> +			| USB_CDC_PACKET_TYPE_BROADCAST;
> +
> +	/* filtering on the device is an optional feature and not worth
> +	 * the hassle so we just roughly care about snooping and if any
> +	 * multicast is requested, we take every multicast
> +	 */
> +	if (net->flags & IFF_PROMISC)
> +		cdc_filter |= USB_CDC_PACKET_TYPE_PROMISCUOUS;
> +	if (!netdev_mc_empty(net) || (net->flags & IFF_ALLMULTI))
> +		cdc_filter |= USB_CDC_PACKET_TYPE_ALL_MULTICAST;
> +
> +	usbnet_write_cmd(dev,

This is a nice change. It should be probably done in
usbnet_cdc_update_filter in any case.  Unless there is some reason it
doesn't alreay use usbnet_write_cmd?

> +			USB_CDC_SET_ETHERNET_PACKET_FILTER,
> +			USB_TYPE_CLASS | USB_DIR_OUT | USB_RECIP_INTERFACE,
> +			cdc_filter,
> +			iface_no,
> +			NULL,
> +			0);
> +}
> +
>  static const struct ethtool_ops cdc_ncm_ethtool_ops = {
>  	.get_link          = usbnet_get_link,
>  	.nway_reset        = usbnet_nway_reset,
> @@ -1652,6 +1679,7 @@ static const struct driver_info cdc_ncm_info = {
>  	.status = cdc_ncm_status,
>  	.rx_fixup = cdc_ncm_rx_fixup,
>  	.tx_fixup = cdc_ncm_tx_fixup,
> +	.set_rx_mode = cdc_ncm_update_filter,
>  };
>
>  /* Same as cdc_ncm_info, but with FLAG_WWAN */


As the comment indicates:  There are more 'struct driver_info' variants
here.  Please add .set_rx_mode to all of them, unless you have a reason
not to?


Bjørn

^ permalink raw reply

* Re: [PATCH net-next v2 1/1] tc-testing: initial version of tunnel_key unit tests
From: David Miller @ 2018-06-30 12:17 UTC (permalink / raw)
  To: kleib; +Cc: netdev, jhs, xiyou.wangcong, jiri, lucasb
In-Reply-To: <1530283651-1728-1-git-send-email-kleib@mojatatu.com>

From: Keara Leibovitz <kleib@mojatatu.com>
Date: Fri, 29 Jun 2018 10:47:31 -0400

> Create unittests for the tc tunnel_key action.
> 
> v2:
> For the tests expecting failures, added non-zero exit codes in the
> teardowns. This prevents those tests from failing if the act_tunnel_key
> module is unloaded.
> 
> Signed-off-by: Keara Leibovitz <kleib@mojatatu.com>

Applied.

^ permalink raw reply

* Re: [PATCH net v3] net: phy: DP83TC811: Fix disabling interrupts
From: David Miller @ 2018-06-30 12:18 UTC (permalink / raw)
  To: dmurphy; +Cc: andrew, f.fainelli, netdev, linux-kernel
In-Reply-To: <20180629152831.23259-1-dmurphy@ti.com>

From: Dan Murphy <dmurphy@ti.com>
Date: Fri, 29 Jun 2018 10:28:31 -0500

> Fix a bug where INT_STAT1 was written twice and
> INT_STAT2 was ignored when disabling interrupts.
> 
> Fixes: b753a9faaf9a ("net: phy: DP83TC811: Introduce support for the DP83TC811 phy")
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Signed-off-by: Dan Murphy <dmurphy@ti.com>

Applied.

^ permalink raw reply

* Re: [PATCH net] sfc: correctly initialise filter rwsem for farch
From: David Miller @ 2018-06-30 12:18 UTC (permalink / raw)
  To: bkenward; +Cc: netdev, linux-net-drivers
In-Reply-To: <59b166e9-ace0-1926-dc53-e9d8c91f5547@solarflare.com>

From: Bert Kenward <bkenward@solarflare.com>
Date: Fri, 29 Jun 2018 16:29:28 +0100

> Fixes: fc7a6c287ff3 ("sfc: use a semaphore to lock farch filters too")
> Suggested-by: Joseph Korty <joe.korty@concurrent-rt.com>
> Signed-off-by: Bert Kenward <bkenward@solarflare.com>

Applied and queued up for -stable.

^ permalink raw reply

* Re: [PATCH net] alx: take rtnl before calling __alx_open from resume
From: David Miller @ 2018-06-30 12:18 UTC (permalink / raw)
  To: sd; +Cc: netdev, tobias.regnery
In-Reply-To: <39bd16f9cc1df96df0fcd49e65de4fefc8b0c067.1530285973.git.sd@queasysnail.net>

From: Sabrina Dubroca <sd@queasysnail.net>
Date: Fri, 29 Jun 2018 17:51:26 +0200

> The __alx_open function can be called from ndo_open, which is called
> under RTNL, or from alx_resume, which isn't. Since commit d768319cd427,
> we're calling the netif_set_real_num_{tx,rx}_queues functions, which
> need to be called under RTNL.
> 
> This is similar to commit 0c2cc02e571a ("igb: Move the calls to set the
> Tx and Rx queues into igb_open").
> 
> Fixes: d768319cd427 ("alx: enable multiple tx queues")
> Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>

Applied and queued up for -stable.

^ permalink raw reply

* Re: [PATCH net 0/5] s390/qeth: fixes 2018-06-29
From: David Miller @ 2018-06-30 12:20 UTC (permalink / raw)
  To: jwi; +Cc: netdev, linux-s390, schwidefsky, heiko.carstens, raspl, ubraun
In-Reply-To: <20180629174554.53718-1-jwi@linux.ibm.com>

From: Julian Wiedmann <jwi@linux.ibm.com>
Date: Fri, 29 Jun 2018 19:45:49 +0200

> please apply a few qeth fixes for -net and your 4.17 stable queue.
> 
> Patches 1-3 fix several issues wrt to MAC address management that were
> introduced during the 4.17 cycle.
> Patch 4 tackles a long-standing issue with busy multi-connection workloads
> on devices in af_iucv mode.
> Patch 5 makes sure to re-enable all active HW offloads, after a card was
> previously set offline and thus lost its HW context.

Series applied and queued up for -stable.

^ permalink raw reply

* Re: [PATCH 0/2 ] cdc_ncm: Handle multicast Ethernet traffic
From: Bjørn Mork @ 2018-06-30 12:22 UTC (permalink / raw)
  To: Miguel Rodríguez Pérez; +Cc: linux-usb, netdev
In-Reply-To: <69bbee1a-9a88-eabe-554f-fbc59e7fde79@det.uvigo.gal>

Miguel Rodríguez Pérez <miguel@det.uvigo.gal> writes:

> Sending again, as the previous try had the wrong subjects. Sorry about that.

No problem really, but please use version numbers so it's easy to see
which set is most current.

And you didn't address Olivers comment.  Why not?


Bjørn

^ permalink raw reply

* Re: [PATCH] atm: zatm: Fix potential Spectre v1
From: David Miller @ 2018-06-30 12:25 UTC (permalink / raw)
  To: gustavo; +Cc: 3chas3, linux-atm-general, netdev, linux-kernel
In-Reply-To: <20180629182807.GA26287@embeddedor.com>

From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
Date: Fri, 29 Jun 2018 13:28:07 -0500

> pool can be indirectly controlled by user-space, hence leading to
> a potential exploitation of the Spectre variant 1 vulnerability.
> 
> This issue was detected with the help of Smatch:
> 
> drivers/atm/zatm.c:1491 zatm_ioctl() warn: potential spectre issue
> 'zatm_dev->pool_info' (local cap)
> 
> Fix this by sanitizing pool before using it to index
> zatm_dev->pool_info
> 
> Notice that given that speculation windows are large, the policy is
> to kill the speculation on the first load and not worry if it can be
> completed with a dependent load/store [1].
> 
> [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
> 
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next] strparser: Call skb_unclone conditionally
From: David Miller @ 2018-06-30 12:25 UTC (permalink / raw)
  To: vakul.garg; +Cc: netdev, tom, borisp, ebiggers, davejwatson, doronrk
In-Reply-To: <20180629191555.19874-1-vakul.garg@nxp.com>

From: Vakul Garg <vakul.garg@nxp.com>
Date: Sat, 30 Jun 2018 00:45:55 +0530

> Calling skb_unclone() is expensive as it triggers a memcpy operation.
> Instead of calling skb_unclone() unconditionally, call it only when skb
> has a shared frag_list. This improves tls rx throughout significantly.
> 
> Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
> Suggested-by: Boris Pismenny <borisp@mellanox.com>

Applied.

^ permalink raw reply

* Re: [Patch net] net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
From: David Miller @ 2018-06-30 12:27 UTC (permalink / raw)
  To: xiyou.wangcong; +Cc: netdev, edumazet
In-Reply-To: <20180629204248.28919-1-xiyou.wangcong@gmail.com>

From: Cong Wang <xiyou.wangcong@gmail.com>
Date: Fri, 29 Jun 2018 13:42:48 -0700

> As noticed by Eric, we need to switch to the helper
> dev_change_tx_queue_len() for SIOCSIFTXQLEN call path too,
> otheriwse still miss dev_qdisc_change_tx_queue_len().
> 
> Fixes: 6a643ddb5624 ("net: introduce helper dev_change_tx_queue_len()")
> Reported-by: Eric Dumazet <edumazet@google.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCH net] hv_netvsc: split sub-channel setup into async and sync
From: David Miller @ 2018-06-30 12:29 UTC (permalink / raw)
  To: haiyangz, haiyangz; +Cc: olaf, sthemmin, netdev, linux-kernel, devel, vkuznets
In-Reply-To: <20180629210716.6798-1-haiyangz@linuxonhyperv.com>

From: Haiyang Zhang <haiyangz@linuxonhyperv.com>
Date: Fri, 29 Jun 2018 14:07:16 -0700

> From: Stephen Hemminger <sthemmin@microsoft.com>
> 
> When doing device hotplug the sub channel must be async to avoid
> deadlock issues because device is discovered in softirq context.
> 
> When doing changes to MTU and number of channels, the setup
> must be synchronous to avoid races such as when MTU and device
> settings are done in a single ip command.
> 
> Reported-by: Thomas Walker <Thomas.Walker@twosigma.com>
> Fixes: 8195b1396ec8 ("hv_netvsc: fix deadlock on hotplug")
> Fixes: 732e49850c5e ("netvsc: fix race on sub channel creation")
> Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>

Applied and queued up for -stable.

^ permalink raw reply

* Re: [PATCH net-next 0/9] nfp: flower updates and netconsole
From: David Miller @ 2018-06-30 12:32 UTC (permalink / raw)
  To: jakub.kicinski; +Cc: oss-drivers, netdev
In-Reply-To: <20180630000442.27353-1-jakub.kicinski@netronome.com>

From: Jakub Kicinski <jakub.kicinski@netronome.com>
Date: Fri, 29 Jun 2018 17:04:33 -0700

> This set contains assorted updates to driver base and flower.
> First patch is a follow up to a fix to calculating counters which
> went into net.  For ethtool counters we should also make sure
> they are visible even after ring reconfiguration.  Next patch
> is a safety measure in case we are running on a machine with a
> broken BIOS we should fail the probe when risk of incorrect
> operation is too high.  The next two patches add netpoll support
> and make use of napi_consume_skb().  Last we populate bus info
> on all representors.
> 
> Pieter adds support for offload of the checksum action in flower.
> 
> John follows up to another fix he's done in net, we set TTL
> values on tunnels to stack's default, now Johns does a full
> route lookup to get a more precise information, he populates
> ToS field as well.  Last but not least he follows up on Jiri's
> request to enable LAG offload in case the team driver is used
> and then hash function is unknown.

Series applied, thanks.

^ permalink raw reply

* Re: [PATCH net-next 4/5] net/sched: flower: Dump the ethertype encapsulated in vlan
From: kbuild test robot @ 2018-06-30 12:54 UTC (permalink / raw)
  To: Jianbo Liu
  Cc: kbuild-all, netdev, davem, jiri, Jianbo Liu, Jamal Hadi Salim,
	Cong Wang
In-Reply-To: <20180630095317.5691-5-jianbol@mellanox.com>

Hi Jianbo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Jianbo-Liu/net-flow_dissector-Save-vlan-ethertype-from-headers/20180630-180158
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:544:15: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   net/sched/cls_flower.c:545:16: sparse: cast to restricted __be32
   include/linux/slab.h:631:13: sparse: undefined identifier '__builtin_mul_overflow'
   include/linux/slab.h:631:13: sparse: not a function <noident>
>> net/sched/cls_flower.c:1317:70: sparse: incorrect type in argument 3 (different base types) @@    expected unsigned short [unsigned] [usertype] value @@    got  short [unsigned] [usertype] value @@
   net/sched/cls_flower.c:1317:70:    expected unsigned short [unsigned] [usertype] value
   net/sched/cls_flower.c:1317:70:    got restricted __be16 [usertype] n_proto
   include/linux/slab.h:631:13: sparse: call with no type!

vim +1317 net/sched/cls_flower.c

  1264	
  1265	static int fl_dump(struct net *net, struct tcf_proto *tp, void *fh,
  1266			   struct sk_buff *skb, struct tcmsg *t)
  1267	{
  1268		struct cls_fl_filter *f = fh;
  1269		struct nlattr *nest;
  1270		struct fl_flow_key *key, *mask;
  1271	
  1272		if (!f)
  1273			return skb->len;
  1274	
  1275		t->tcm_handle = f->handle;
  1276	
  1277		nest = nla_nest_start(skb, TCA_OPTIONS);
  1278		if (!nest)
  1279			goto nla_put_failure;
  1280	
  1281		if (f->res.classid &&
  1282		    nla_put_u32(skb, TCA_FLOWER_CLASSID, f->res.classid))
  1283			goto nla_put_failure;
  1284	
  1285		key = &f->key;
  1286		mask = &f->mask->key;
  1287	
  1288		if (mask->indev_ifindex) {
  1289			struct net_device *dev;
  1290	
  1291			dev = __dev_get_by_index(net, key->indev_ifindex);
  1292			if (dev && nla_put_string(skb, TCA_FLOWER_INDEV, dev->name))
  1293				goto nla_put_failure;
  1294		}
  1295	
  1296		if (!tc_skip_hw(f->flags))
  1297			fl_hw_update_stats(tp, f);
  1298	
  1299		if (fl_dump_key_val(skb, key->eth.dst, TCA_FLOWER_KEY_ETH_DST,
  1300				    mask->eth.dst, TCA_FLOWER_KEY_ETH_DST_MASK,
  1301				    sizeof(key->eth.dst)) ||
  1302		    fl_dump_key_val(skb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC,
  1303				    mask->eth.src, TCA_FLOWER_KEY_ETH_SRC_MASK,
  1304				    sizeof(key->eth.src)) ||
  1305		    fl_dump_key_val(skb, &key->basic.n_proto, TCA_FLOWER_KEY_ETH_TYPE,
  1306				    &mask->basic.n_proto, TCA_FLOWER_UNSPEC,
  1307				    sizeof(key->basic.n_proto)))
  1308			goto nla_put_failure;
  1309	
  1310		if (fl_dump_key_mpls(skb, &key->mpls, &mask->mpls))
  1311			goto nla_put_failure;
  1312	
  1313		if (fl_dump_key_vlan(skb, &key->vlan, &mask->vlan))
  1314			goto nla_put_failure;
  1315	
  1316		if (mask->vlan.vlan_tpid &&
> 1317		    nla_put_u16(skb, TCA_FLOWER_KEY_VLAN_ETH_TYPE, key->basic.n_proto))
  1318			goto nla_put_failure;
  1319	
  1320		if ((key->basic.n_proto == htons(ETH_P_IP) ||
  1321		     key->basic.n_proto == htons(ETH_P_IPV6)) &&
  1322		    (fl_dump_key_val(skb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO,
  1323				    &mask->basic.ip_proto, TCA_FLOWER_UNSPEC,
  1324				    sizeof(key->basic.ip_proto)) ||
  1325		    fl_dump_key_ip(skb, &key->ip, &mask->ip)))
  1326			goto nla_put_failure;
  1327	
  1328		if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS &&
  1329		    (fl_dump_key_val(skb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC,
  1330				     &mask->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC_MASK,
  1331				     sizeof(key->ipv4.src)) ||
  1332		     fl_dump_key_val(skb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST,
  1333				     &mask->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST_MASK,
  1334				     sizeof(key->ipv4.dst))))
  1335			goto nla_put_failure;
  1336		else if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS &&
  1337			 (fl_dump_key_val(skb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC,
  1338					  &mask->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC_MASK,
  1339					  sizeof(key->ipv6.src)) ||
  1340			  fl_dump_key_val(skb, &key->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST,
  1341					  &mask->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST_MASK,
  1342					  sizeof(key->ipv6.dst))))
  1343			goto nla_put_failure;
  1344	
  1345		if (key->basic.ip_proto == IPPROTO_TCP &&
  1346		    (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
  1347				     &mask->tp.src, TCA_FLOWER_KEY_TCP_SRC_MASK,
  1348				     sizeof(key->tp.src)) ||
  1349		     fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
  1350				     &mask->tp.dst, TCA_FLOWER_KEY_TCP_DST_MASK,
  1351				     sizeof(key->tp.dst)) ||
  1352		     fl_dump_key_val(skb, &key->tcp.flags, TCA_FLOWER_KEY_TCP_FLAGS,
  1353				     &mask->tcp.flags, TCA_FLOWER_KEY_TCP_FLAGS_MASK,
  1354				     sizeof(key->tcp.flags))))
  1355			goto nla_put_failure;
  1356		else if (key->basic.ip_proto == IPPROTO_UDP &&
  1357			 (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
  1358					  &mask->tp.src, TCA_FLOWER_KEY_UDP_SRC_MASK,
  1359					  sizeof(key->tp.src)) ||
  1360			  fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
  1361					  &mask->tp.dst, TCA_FLOWER_KEY_UDP_DST_MASK,
  1362					  sizeof(key->tp.dst))))
  1363			goto nla_put_failure;
  1364		else if (key->basic.ip_proto == IPPROTO_SCTP &&
  1365			 (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
  1366					  &mask->tp.src, TCA_FLOWER_KEY_SCTP_SRC_MASK,
  1367					  sizeof(key->tp.src)) ||
  1368			  fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
  1369					  &mask->tp.dst, TCA_FLOWER_KEY_SCTP_DST_MASK,
  1370					  sizeof(key->tp.dst))))
  1371			goto nla_put_failure;
  1372		else if (key->basic.n_proto == htons(ETH_P_IP) &&
  1373			 key->basic.ip_proto == IPPROTO_ICMP &&
  1374			 (fl_dump_key_val(skb, &key->icmp.type,
  1375					  TCA_FLOWER_KEY_ICMPV4_TYPE, &mask->icmp.type,
  1376					  TCA_FLOWER_KEY_ICMPV4_TYPE_MASK,
  1377					  sizeof(key->icmp.type)) ||
  1378			  fl_dump_key_val(skb, &key->icmp.code,
  1379					  TCA_FLOWER_KEY_ICMPV4_CODE, &mask->icmp.code,
  1380					  TCA_FLOWER_KEY_ICMPV4_CODE_MASK,
  1381					  sizeof(key->icmp.code))))
  1382			goto nla_put_failure;
  1383		else if (key->basic.n_proto == htons(ETH_P_IPV6) &&
  1384			 key->basic.ip_proto == IPPROTO_ICMPV6 &&
  1385			 (fl_dump_key_val(skb, &key->icmp.type,
  1386					  TCA_FLOWER_KEY_ICMPV6_TYPE, &mask->icmp.type,
  1387					  TCA_FLOWER_KEY_ICMPV6_TYPE_MASK,
  1388					  sizeof(key->icmp.type)) ||
  1389			  fl_dump_key_val(skb, &key->icmp.code,
  1390					  TCA_FLOWER_KEY_ICMPV6_CODE, &mask->icmp.code,
  1391					  TCA_FLOWER_KEY_ICMPV6_CODE_MASK,
  1392					  sizeof(key->icmp.code))))
  1393			goto nla_put_failure;
  1394		else if ((key->basic.n_proto == htons(ETH_P_ARP) ||
  1395			  key->basic.n_proto == htons(ETH_P_RARP)) &&
  1396			 (fl_dump_key_val(skb, &key->arp.sip,
  1397					  TCA_FLOWER_KEY_ARP_SIP, &mask->arp.sip,
  1398					  TCA_FLOWER_KEY_ARP_SIP_MASK,
  1399					  sizeof(key->arp.sip)) ||
  1400			  fl_dump_key_val(skb, &key->arp.tip,
  1401					  TCA_FLOWER_KEY_ARP_TIP, &mask->arp.tip,
  1402					  TCA_FLOWER_KEY_ARP_TIP_MASK,
  1403					  sizeof(key->arp.tip)) ||
  1404			  fl_dump_key_val(skb, &key->arp.op,
  1405					  TCA_FLOWER_KEY_ARP_OP, &mask->arp.op,
  1406					  TCA_FLOWER_KEY_ARP_OP_MASK,
  1407					  sizeof(key->arp.op)) ||
  1408			  fl_dump_key_val(skb, key->arp.sha, TCA_FLOWER_KEY_ARP_SHA,
  1409					  mask->arp.sha, TCA_FLOWER_KEY_ARP_SHA_MASK,
  1410					  sizeof(key->arp.sha)) ||
  1411			  fl_dump_key_val(skb, key->arp.tha, TCA_FLOWER_KEY_ARP_THA,
  1412					  mask->arp.tha, TCA_FLOWER_KEY_ARP_THA_MASK,
  1413					  sizeof(key->arp.tha))))
  1414			goto nla_put_failure;
  1415	
  1416		if (key->enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS &&
  1417		    (fl_dump_key_val(skb, &key->enc_ipv4.src,
  1418				    TCA_FLOWER_KEY_ENC_IPV4_SRC, &mask->enc_ipv4.src,
  1419				    TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK,
  1420				    sizeof(key->enc_ipv4.src)) ||
  1421		     fl_dump_key_val(skb, &key->enc_ipv4.dst,
  1422				     TCA_FLOWER_KEY_ENC_IPV4_DST, &mask->enc_ipv4.dst,
  1423				     TCA_FLOWER_KEY_ENC_IPV4_DST_MASK,
  1424				     sizeof(key->enc_ipv4.dst))))
  1425			goto nla_put_failure;
  1426		else if (key->enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS &&
  1427			 (fl_dump_key_val(skb, &key->enc_ipv6.src,
  1428				    TCA_FLOWER_KEY_ENC_IPV6_SRC, &mask->enc_ipv6.src,
  1429				    TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK,
  1430				    sizeof(key->enc_ipv6.src)) ||
  1431			 fl_dump_key_val(skb, &key->enc_ipv6.dst,
  1432					 TCA_FLOWER_KEY_ENC_IPV6_DST,
  1433					 &mask->enc_ipv6.dst,
  1434					 TCA_FLOWER_KEY_ENC_IPV6_DST_MASK,
  1435				    sizeof(key->enc_ipv6.dst))))
  1436			goto nla_put_failure;
  1437	
  1438		if (fl_dump_key_val(skb, &key->enc_key_id, TCA_FLOWER_KEY_ENC_KEY_ID,
  1439				    &mask->enc_key_id, TCA_FLOWER_UNSPEC,
  1440				    sizeof(key->enc_key_id)) ||
  1441		    fl_dump_key_val(skb, &key->enc_tp.src,
  1442				    TCA_FLOWER_KEY_ENC_UDP_SRC_PORT,
  1443				    &mask->enc_tp.src,
  1444				    TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK,
  1445				    sizeof(key->enc_tp.src)) ||
  1446		    fl_dump_key_val(skb, &key->enc_tp.dst,
  1447				    TCA_FLOWER_KEY_ENC_UDP_DST_PORT,
  1448				    &mask->enc_tp.dst,
  1449				    TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK,
  1450				    sizeof(key->enc_tp.dst)))
  1451			goto nla_put_failure;
  1452	
  1453		if (fl_dump_key_flags(skb, key->control.flags, mask->control.flags))
  1454			goto nla_put_failure;
  1455	
  1456		if (f->flags && nla_put_u32(skb, TCA_FLOWER_FLAGS, f->flags))
  1457			goto nla_put_failure;
  1458	
  1459		if (tcf_exts_dump(skb, &f->exts))
  1460			goto nla_put_failure;
  1461	
  1462		nla_nest_end(skb, nest);
  1463	
  1464		if (tcf_exts_dump_stats(skb, &f->exts) < 0)
  1465			goto nla_put_failure;
  1466	
  1467		return skb->len;
  1468	
  1469	nla_put_failure:
  1470		nla_nest_cancel(skb, nest);
  1471		return -1;
  1472	}
  1473	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply

* Re: [PATCH net-next 00/13] mlxsw: Add resource scale tests
From: David Miller @ 2018-06-30 13:06 UTC (permalink / raw)
  To: petrm; +Cc: netdev, linux-kselftest, jiri, idosch, shuah
In-Reply-To: <cover.1530319109.git.petrm@mellanox.com>

From: Petr Machata <petrm@mellanox.com>
Date: Sat, 30 Jun 2018 02:44:23 +0200

> There are a number of tests that check features of the Linux networking
> stack. By running them on suitable interfaces, one can exercise the
> mlxsw offloading code. However none of these tests attempts to push
> mlxsw to the limits supported by the ASIC.
> 
> As an additional wrinkle, the "limits supported by the ASIC" themselves
> may not be a set of fixed numbers, but rather depend on a profile that
> determines how the ASIC resources are allocated for different purposes.
> 
> This patchset introduces several tests that verify capability of mlxsw
> to offload amounts of routes, flower rules, and mirroring sessions that
> match predicted ASIC capacity, at different configuration profiles.
> Additionally they verify that amounts exceeding the predicted capacity
> can *not* be offloaded.
 ...

Good stuff, series applied, thanks!

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox