<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/net/ncsi/internal.h, branch jd/unified-crypt-queue</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/net/ncsi/internal.h?h=jd%2Funified-crypt-queue</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/net/ncsi/internal.h?h=jd%2Funified-crypt-queue'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2020-01-10T02:36:22Z</updated>
<entry>
<title>net/ncsi: Support for multi host mellanox card</title>
<updated>2020-01-10T02:36:22Z</updated>
<author>
<name>Vijay Khemka</name>
<email>vijaykhemka@fb.com</email>
</author>
<published>2020-01-08T23:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=5e0fcc16e5c563fd8f16738efec974f81e0a5ea0'/>
<id>urn:sha1:5e0fcc16e5c563fd8f16738efec974f81e0a5ea0</id>
<content type='text'>
Multi host Mellanox cards require MAC affinity to be set
before receiving any config commands. All config commands
should also have unicast address for source address in
command header.

Adding GMA and SMAF(Set Mac Affinity) for Mellanox card
and call these in channel probe state machine if it is
defined in device tree.

Signed-off-by: Vijay Khemka &lt;vijaykhemka@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Disable global multicast filter</title>
<updated>2019-09-20T01:04:40Z</updated>
<author>
<name>Vijay Khemka</name>
<email>vijaykhemka@fb.com</email>
</author>
<published>2019-09-12T19:04:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=cf0eba334268563152e4a8bc9ab865d0037a7948'/>
<id>urn:sha1:cf0eba334268563152e4a8bc9ab865d0037a7948</id>
<content type='text'>
Disabling multicast filtering from NCSI if it is supported. As it
should not filter any multicast packets. In current code, multicast
filter is enabled and with an exception of optional field supported
by device are disabled filtering.

Mainly I see if goal is to disable filtering for IPV6 packets then let
it disabled for every other types as well. As we are seeing issues with
LLDP not working with this enabled filtering. And there are other issues
with IPV6.

By Disabling this multicast completely, it is working for both IPV6 as
well as LLDP.

Signed-off-by: Vijay Khemka &lt;vijaykhemka@fb.com&gt;
Acked-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
<updated>2019-05-30T18:26:32Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-27T06:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2874c5fd284268364ece81a7bd936f3c8168e567'/>
<id>urn:sha1:2874c5fd284268364ece81a7bd936f3c8168e567</id>
<content type='text'>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Add NCSI Mellanox OEM command</title>
<updated>2018-11-28T00:37:20Z</updated>
<author>
<name>Vijay Khemka</name>
<email>vijaykhemka@fb.com</email>
</author>
<published>2018-11-26T21:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=16e8c4ca21a238cdf0355475bf15bd72e92feb8f'/>
<id>urn:sha1:16e8c4ca21a238cdf0355475bf15bd72e92feb8f</id>
<content type='text'>
This patch adds OEM Mellanox commands and response handling. It also
defines OEM Get MAC Address handler to get and configure the device.

ncsi_oem_gma_handler_mlx: This handler send NCSI mellanox command for
getting mac address.
ncsi_rsp_handler_oem_mlx: This handles response received for all
mellanox OEM commands.
ncsi_rsp_handler_oem_mlx_gma: This handles get mac address response and
set it to device.

Signed-off-by: Vijay Khemka &lt;vijaykhemka@fb.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Configure multi-package, multi-channel modes with failover</title>
<updated>2018-11-18T05:09:49Z</updated>
<author>
<name>Samuel Mendoza-Jonas</name>
<email>sam@mendozajonas.com</email>
</author>
<published>2018-11-16T04:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8d951a75d022d94a05f5fa74217670a981e8302d'/>
<id>urn:sha1:8d951a75d022d94a05f5fa74217670a981e8302d</id>
<content type='text'>
This patch extends the ncsi-netlink interface with two new commands and
three new attributes to configure multiple packages and/or channels at
once, and configure specific failover modes.

NCSI_CMD_SET_PACKAGE mask and NCSI_CMD_SET_CHANNEL_MASK set a whitelist
of packages or channels allowed to be configured with the
NCSI_ATTR_PACKAGE_MASK and NCSI_ATTR_CHANNEL_MASK attributes
respectively. If one of these whitelists is set only packages or
channels matching the whitelist are considered for the channel queue in
ncsi_choose_active_channel().

These commands may also use the NCSI_ATTR_MULTI_FLAG to signal that
multiple packages or channels may be configured simultaneously. NCSI
hardware arbitration (HWA) must be available in order to enable
multi-package mode. Multi-channel mode is always available.

If the NCSI_ATTR_CHANNEL_ID attribute is present in the
NCSI_CMD_SET_CHANNEL_MASK command the it sets the preferred channel as
with the NCSI_CMD_SET_INTERFACE command. The combination of preferred
channel and channel whitelist defines a primary channel and the allowed
failover channels.
If the NCSI_ATTR_MULTI_FLAG attribute is also present then the preferred
channel is configured for Tx/Rx and the other channels are enabled only
for Rx.

Signed-off-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Reset channel state in ncsi_start_dev()</title>
<updated>2018-11-18T05:09:49Z</updated>
<author>
<name>Samuel Mendoza-Jonas</name>
<email>sam@mendozajonas.com</email>
</author>
<published>2018-11-16T04:51:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2878a2cfe57a5db21844801cf502fe535a3134b2'/>
<id>urn:sha1:2878a2cfe57a5db21844801cf502fe535a3134b2</id>
<content type='text'>
When the NCSI driver is stopped with ncsi_stop_dev() the channel
monitors are stopped and the state set to "inactive". However the
channels are still configured and active from the perspective of the
network controller. We should suspend each active channel but in the
context of ncsi_stop_dev() the transmit queue has been or is about to be
stopped so we won't have time to do so.

Instead when ncsi_start_dev() is called if the NCSI topology has already
been probed then call ncsi_reset_dev() to suspend any channels that were
previously active. This resets the network controller to a known state,
provides an up to date view of channel link state, and makes sure that
mode flags such as NCSI_MODE_TX_ENABLE are properly reset.

In addition to ncsi_start_dev() use ncsi_reset_dev() in ncsi-netlink.c
to update the channel configuration more cleanly.

Signed-off-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Probe single packages to avoid conflict</title>
<updated>2018-11-18T05:09:49Z</updated>
<author>
<name>Samuel Mendoza-Jonas</name>
<email>sam@mendozajonas.com</email>
</author>
<published>2018-11-16T04:51:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=8e13f70be05ee49985dfc3c766868bc85ed43b8a'/>
<id>urn:sha1:8e13f70be05ee49985dfc3c766868bc85ed43b8a</id>
<content type='text'>
Currently the NCSI driver sends a select-package command to all possible
packages simultaneously to discover what packages are available. However
at this stage in the probe process the driver does not know if
hardware arbitration is available: if it isn't then this process could
cause collisions on the RMII bus when packages try to respond.

Update the probe loop to probe each package one by one, and once
complete check if HWA is universally supported.

Signed-off-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Add NCSI Broadcom OEM command</title>
<updated>2018-10-18T05:14:54Z</updated>
<author>
<name>Vijay Khemka</name>
<email>vijaykhemka@fb.com</email>
</author>
<published>2018-10-16T19:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=cb10c7c0dfd9e6fd3d69ced98b05cbd198c48cf6'/>
<id>urn:sha1:cb10c7c0dfd9e6fd3d69ced98b05cbd198c48cf6</id>
<content type='text'>
This patch adds OEM Broadcom commands and response handling. It also
defines OEM Get MAC Address handler to get and configure the device.

ncsi_oem_gma_handler_bcm: This handler send NCSI broadcom command for
getting mac address.
ncsi_rsp_handler_oem_bcm: This handles response received for all
broadcom OEM commands.
ncsi_rsp_handler_oem_bcm_gma: This handles get mac address response and
set it to device.

Signed-off-by: Vijay Khemka &lt;vijaykhemka@fb.com&gt;
Reviewed-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Extend NC-SI Netlink interface to allow user space to send NC-SI command</title>
<updated>2018-10-16T05:00:59Z</updated>
<author>
<name>Justin.Lee1@Dell.com</name>
<email>Justin.Lee1@Dell.com</email>
</author>
<published>2018-10-11T18:07:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=9771b8ccdfa6dcb1ac5128ca7fe8649f3092d392'/>
<id>urn:sha1:9771b8ccdfa6dcb1ac5128ca7fe8649f3092d392</id>
<content type='text'>
The new command (NCSI_CMD_SEND_CMD) is added to allow user space application
to send NC-SI command to the network card.
Also, add a new attribute (NCSI_ATTR_DATA) for transferring request and response.

The work flow is as below.

Request:
User space application
	-&gt; Netlink interface (msg)
	-&gt; new Netlink handler - ncsi_send_cmd_nl()
	-&gt; ncsi_xmit_cmd()

Response:
Response received - ncsi_rcv_rsp()
	-&gt; internal response handler - ncsi_rsp_handler_xxx()
	-&gt; ncsi_rsp_handler_netlink()
	-&gt; ncsi_send_netlink_rsp ()
	-&gt; Netlink interface (msg)
	-&gt; user space application

Command timeout - ncsi_request_timeout()
	-&gt; ncsi_send_netlink_timeout ()
	-&gt; Netlink interface (msg with zero data length)
	-&gt; user space application

Error:
Error detected
	-&gt; ncsi_send_netlink_err ()
	-&gt; Netlink interface (err msg)
	-&gt; user space application

Signed-off-by: Justin Lee &lt;justin.lee1@dell.com&gt;
Reviewed-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Add NCSI OEM command support</title>
<updated>2018-10-05T21:54:47Z</updated>
<author>
<name>Vijay Khemka</name>
<email>vijaykhemka@fb.com</email>
</author>
<published>2018-10-05T17:46:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=fb4ee67529ff3e4c5874768477887c2df5714c96'/>
<id>urn:sha1:fb4ee67529ff3e4c5874768477887c2df5714c96</id>
<content type='text'>
This patch adds OEM commands and response handling. It also defines OEM
command and response structure as per NCSI specification along with its
handlers.

ncsi_cmd_handler_oem: This is a generic command request handler for OEM
commands
ncsi_rsp_handler_oem: This is a generic response handler for OEM commands

Signed-off-by: Vijay Khemka &lt;vijaykhemka@fb.com&gt;
Reviewed-by: Justin Lee &lt;justin.lee1@dell.com&gt;
Reviewed-by: Samuel Mendoza-Jonas &lt;sam@mendozajonas.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
