On Mon, Jul 04, 2016 at 01:03:06AM +0300, Or Gerlitz wrote:
> On Sun, Jul 3, 2016 at 8:32 AM, Gavin Shan <gws...@linux.vnet.ibm.com> wrote:
> > This series rebases on David's linux-net git repo ("master" branch). It's
> > to support NCSI stack on net/farady/ftgmac100.c
> >
> > The following figure gives an example about how NCSI is deployed: The NCSI 
> > is
> > specified by DSP0222, which can be downloaded from the following link here
> > (http://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.0.0.pdf).
> >
> >    * The NC-SI (aka NCSI) is defined as the interface between a (Base) 
> > Management
> >      Controller (BMC) and one or multiple Network Controlers (NC) on host 
> > side.
> >      The interface is responsible for providing external network 
> > connectivity
> >      for BMC.
> >    * Each BMC can connect to multiple packages, up to 8. Each package can 
> > have
> >      multiple channels, up to 32. Every package and channel are identified 
> > by
> >      3-bits and 5-bits in NCSI packet. At one moment, one channel is active 
> > to
> >      provide service.
> >    * NCSI packet, encapsulated in ethernet frame, has 0x88F8 in the protocol
> >      field. The destination MAC address should be 0xFF's while the source 
> > MAC
> >      address can be arbitrary one.
> >    * NCSI packets are classified to command, response, AEN (Asynchronous 
> > Event
> >      Notification). Commands are sent from BMC to host for configuration and
> >      information retrival. Responses, corresponding to commands, are sent 
> > from
> >      host to BMC for confirmation and requested information. One command 
> > should
> >      have one and only one response. AEN is sent from host to BMC for 
> > notification
> >      (e.g. link down on active channel) so that BMC can take appropriate 
> > action.
> >
> >    +------------------+        
> > +----------------------------------------------+
> >    |                  |        |                     Host                   
> >   |
> >    |        BMC       |        |                                            
> >   |
> >    |                  |        | +-------------------+  
> > +-------------------+ |
> >    |    +---------+   |        | |     Package-A     |  |     Package-B     
> > | |
> >    |    |         |   |        | +---------+---------+  
> > +-------------------+ |
> >    |    |   NIC   |   |        | | Channel | Channel |  | Channel | Channel 
> > | |
> >    +----+----+----+---+        
> > +-+---------+---------+--+---------+---------+-+
> >              |                             |                      |
> >              |                             |                      |
> >              +-----------------------------+----------------------+
> >
> > The design for the patchset is highlighted as below:
> >
> >    * The NCSI interface is abstracted with "struct ncsi_dev". It's 
> > registered
> >      when net_device is created, started to work by calling ncsi_start_dev()
> >      when net_device is opened (ndo_open()). For the first time, NCSI 
> > packets
> >      are sent and received to/from the far end (host in above figure) to 
> > probe
> >      available NCSI packages and channels. After that, one channel is 
> > chosen as
> >      active one to provide service.
> >    * The NCSI stack is driven by workqueue and state machine internally.
> >    * AEN (Asychronous Event Notification) might be received from the far end
> >      (host). The currently active NCSI channel fails over to another 
> > available
> >      one if possible. Otherwise, the NCSI channel is out of service.
> >    * NCSI stack should be configurable through netlink or another mechanism,
> >      but it's not implemented in this patchset. It's something TBD.

Gavin,
what configurations do you have in mind?
For ncsi itself or to control the nic on the host?
This set of patches is for BMC side, right?
What needs to be done on the host?

> >    * The first NIC driver that is aware of NCSI: 
> > drivers/net/ethernet/faraday/ftgmac100.c
> 
> 
> FWIW, talking to a colleague, he made a comment that some of the text
> above is wrong:
> 
> AENs are sent from NIC to BMC. Not from Host to BMC.
> 
> The traffic between a BMC and a NIC is over RBT if it is formatted as
> NC-SI packets. This is not over network traffic....
> 
> Or.

Or,
since cx4 has ncsi as well, could you do a thorough review of this
to make sure that it fits mellanox nics as well?

Reply via email to