]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5: Ethernet Datapath files
authorAmir Vadai <amirv@mellanox.com>
Thu, 28 May 2015 19:28:46 +0000 (22:28 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 May 2015 01:24:20 +0000 (18:24 -0700)
commit29aa4f99c31ac5cdc4118c0f89b762d7c4babf3d
tree2d17b74bed756d1953f57d4f316b625fb62900e0
parent20ebbb25726be08fed4bede6cde8eaf8058671aa
net/mlx5: Ethernet Datapath files

en_[rt]x.c contains the data path related code specific to tx or rx.
en_txrx.c contains data path code which is common for both the rx and
tx, this is mainly napi related code.

Below are the objects that are being used by the hardware and the driver
in the data path:

Channel - one channel per IRQ. Every channel object contains:
  RQ  - describes the rx queue
  TIR - One TIR (Transport Interface Receive) object per flow type. TIR
        contains attributes for a type of rx flow (e.g IPv4, IPv6 etc).
        A flow is defined in the Flow Table.
        Currently TIR describes the RSS hash parameters if exists and LRO
        attributes.
  SQ  - describes the a tx queue. There is one SQ (Send Queue) per
        TC (traffic class).
  TIS - There is one TIS (Transport Interface Send) per TC.  It
        describes the TC and may later be extended to describe more
transport properties.

Both RQ and SQ inherit from the object WQ (work queue). This common code
to describe the layout of CQE's WQE's in memory is in the files wq.[cj]

For every channel there is one NAPI context that is used for RX and
for TX.

Driver is using netdev_alloc_skb() to allocate skb's.

Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/wq.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/wq.h [new file with mode: 0644]