<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/net/ncsi, branch dev-4.6</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2016-07-12T09:55:13+00:00</updated>
<entry>
<title>net/ncsi: start the timer before sending the request</title>
<updated>2016-07-12T09:55:13+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2016-07-12T09:52:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d8821ff2210531de929338d813923d7f34456dc4'/>
<id>urn:sha1:d8821ff2210531de929338d813923d7f34456dc4</id>
<content type='text'>
Currently, the timer is armed after the request is sent. This is racy
with ncsi_rcv_rsp() which discards a response to a NCSI request
received before the timer was enabled.

Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: LSC AEN handler improvement</title>
<updated>2016-06-03T20:51:49+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=8bcbc761079f5eba5b7b53ef48850ae5cf479925'/>
<id>urn:sha1:8bcbc761079f5eba5b7b53ef48850ae5cf479925</id>
<content type='text'>
This improves the LSC (Link Status Change) AEN handler:

   * The first channel with up link is choosen as active channel.
   * The first channel is choosen as active channel if none of channels
     is link up.
   * The active channel is always configured when its link becomes up
     or it's just picked as new active channel.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Improvement for ncsi_dev_suspend()</title>
<updated>2016-06-03T20:51:48+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b1171eaeff850ba9b970c0736c4a3ee1158122dd'/>
<id>urn:sha1:b1171eaeff850ba9b970c0736c4a3ee1158122dd</id>
<content type='text'>
The function is used to deconfigure current active channel so that
we can pick another available channel as active. At end of it, the
all available packages and channels are purged. It's not correct.
Also, the new active channel should be finalized before configuring
it using ncsi_dev_config().

This improves the function from above two aspects.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Enable AEN on active channel</title>
<updated>2016-06-03T20:51:48+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=ca5c065f5b774fd05075025298bf806cb82d5e83'/>
<id>urn:sha1:ca5c065f5b774fd05075025298bf806cb82d5e83</id>
<content type='text'>
NCSI AEN packets are transmitted by far end to notify the network
status change. We had the wrong assumption that the functionality
is enabled in far end by default.

This transmits a AEN enablement packet when configuring the active
channel.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Remove ncsi_stop_dev()</title>
<updated>2016-06-03T20:51:47+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0198bab47b28e0f4e5d20be4b024a24083bf8cd7'/>
<id>urn:sha1:0198bab47b28e0f4e5d20be4b024a24083bf8cd7</id>
<content type='text'>
This drops API ncsi_stop_dev() as it does nothing.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Add NCSI_DEV_PRIV_FLAG_POPULATED</title>
<updated>2016-06-03T20:51:47+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=dcb4aa5fde77d81b4d7adec71f08d0c8d3d2ff97'/>
<id>urn:sha1:dcb4aa5fde77d81b4d7adec71f08d0c8d3d2ff97</id>
<content type='text'>
This adds another flag (NCSI_DEV_PRIV_FLAG_POPULATED) to ncsi priv
struct. When it's set, the all available packages and channels
associated with the interface have been enumerated. The flag is
going to be used by next patch. No functional changes introduced.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Enumerate NCSI channels in advance</title>
<updated>2016-06-03T20:51:46+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5fe79306771c7bb9886323670d441345dd5bbfda'/>
<id>urn:sha1:5fe79306771c7bb9886323670d441345dd5bbfda</id>
<content type='text'>
All NCSI packages and channels are enumerated when user brings up
the interface. The enumeration is heavy task and consumes lots of
time. We can just do it for once when considering the fact: NCSI
physical topology won't change.

This enumerates NCSI packages and channels when user activates the
interface for the first time, meaing the procedure won't be revisited
when user reactivates the interface. The time consumed by it will
be saved and the response time is improved. In order for it, we
replace ncsi_dev_config() with ncsi_dev_probe() that is triggered
on first call to ncsi_start_dev(). Similarly, the NCSI packages and
channels are not released in ncsi_stop_dev() which is triggered when
the interface is closed. It means the release is postponed until the
interface is unregistered.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Netlink support</title>
<updated>2016-06-03T20:51:45+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-10-06T02:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=86ee11e46b071a8b47b44e31f475edac6b29c55e'/>
<id>urn:sha1:86ee11e46b071a8b47b44e31f475edac6b29c55e</id>
<content type='text'>
This adds netlink support so that userland can retrieve the NCSI
topology on the specified interface. Also, more netlink commands
are introduced to retrieve information from the active channel
or configure the active channel with provided options.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Manage NCSI device</title>
<updated>2016-06-03T20:51:45+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-10-06T02:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=89afe7d19971024be888032b0642f5856ad2d6a2'/>
<id>urn:sha1:89afe7d19971024be888032b0642f5856ad2d6a2</id>
<content type='text'>
There are multiple packages and channels connecting to NCSI enabled
interface. The available packages and channels are probed with NCSI
packets when NCSI device is started. Among the available packages
and channels, only one channel should be selected to be active to
provide service. When the active channel enters to failure state,
we need choose another channel as active one to do failover.

This implements the state machine to support above tasks. Also, the
public interfaces are exposed for NIC driver to manage NCSI device.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Packet handler</title>
<updated>2016-06-03T20:51:44+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-10-06T02:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7f53158a47e7fb6afa6f7d7717be944c27ae223b'/>
<id>urn:sha1:7f53158a47e7fb6afa6f7d7717be944c27ae223b</id>
<content type='text'>
NCSI packet encapsulated in ethernet frame is recognized by the
ethernet protocol field (0x88F8). According to NCSI spec, the
destination MAC field should be 0xFF's, but the source MAC field
could be arbitrary one since channel field in NCSI header indicates
the source of the packet.

There are 3 types of packets depending on the type field in the NCSI
packet header: command, response, Asynchronous Event Notification
(AEN). The command packets are sent from NCSI enabled interace to
the NCSI package or channel for purpose of information retrival or
configuration. The response packets, as responses to the received
command packets, originate from NCSI package or channel and terminate
at NCSI enabled interface. AEN packets are sent from NCSI channel
for asynchronous events that might indicate failure detected on
the active channel.

This implements the functions to handle NCSI packets.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
