#
0497ddaa |
| 03-Mar-2016 |
Yaacov Hazan <yaacovh@mellanox.com> |
mlx5: add special flows for broadcast and IPv6 multicast
Until now, broadcast frames were handled like unicast. Moving the related flow to the special flows table frees up the related unicast MAC en
mlx5: add special flows for broadcast and IPv6 multicast
Until now, broadcast frames were handled like unicast. Moving the related flow to the special flows table frees up the related unicast MAC entry.
The same method is used to handle IPv6 multicast frames.
Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
083c2dd3 |
| 03-Mar-2016 |
Yaacov Hazan <yaacovh@mellanox.com> |
mlx5: refactor special flows handling
Merge redundant code by adding a static initialization table to manage promiscuous and allmulticast (special) flows.
New function priv_rehash_flows() implement
mlx5: refactor special flows handling
Merge redundant code by adding a static initialization table to manage promiscuous and allmulticast (special) flows.
New function priv_rehash_flows() implements the logic to enable/disable relevant flows in one place from any context.
Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
198a3c33 |
| 30-Oct-2015 |
Nelio Laranjeiro <nelio.laranjeiro@6wind.com> |
mlx5: handle link status interrupts
Add interrupts handler for port status notification.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazargu
mlx5: handle link status interrupts
Add interrupts handler for port status notification.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
5b45c208 |
| 30-Oct-2015 |
Nelio Laranjeiro <nelio.laranjeiro@6wind.com> |
mlx5: disable useless flows in promiscuous mode
Only a single flow per hash RX queue is needed in promiscuous mode. Disable others to free up hardware resources.
Signed-off-by: Nelio Laranjeiro <ne
mlx5: disable useless flows in promiscuous mode
Only a single flow per hash RX queue is needed in promiscuous mode. Disable others to free up hardware resources.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com>
show more ...
|
#
ecc1c29d |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: refactor Rx code for the new verbs RSS API
The new Verbs RSS API is lower-level than the previous one and much more flexible but requires RX queues to use Work Queues (WQs) internally instead
mlx5: refactor Rx code for the new verbs RSS API
The new Verbs RSS API is lower-level than the previous one and much more flexible but requires RX queues to use Work Queues (WQs) internally instead of Queue Pairs (QPs), which are grouped in an indirection table used by a new kind of hash RX QPs.
Hash RX QPs and the indirection table together replace the parent RSS QP while WQs are mostly similar to child QPs.
RSS hash key is not configurable yet.
Summary of changes:
- Individual DPDK RX queues do not store flow properties anymore, this info is now part of the hash RX queues. - All functions affecting the parent queue when RSS is enabled or the basic queues otherwise are modified to affect hash RX queues instead. - Hash RX queues are also used when a single DPDK RX queue is configured (no RSS) to remove that special case. - Hash RX queues and indirection table are created/destroyed when device is started/stopped in addition to create/destroy flows. - Contrary to QPs, WQs are moved to the "ready" state before posting RX buffers, otherwise they are ignored. - Resource domain information is added to WQs for better performance. - CQs are not resized anymore when switching between non-SG and SG modes as it does not work correctly with WQs. Use the largest possible size instead, since CQ size does not have to be the same as the number of elements in the RX queue. This also applies to the maximum number of outstanding WRs in a WQ (max_recv_wr).
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Olga Shern <olgas@mellanox.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Or Ami <ora@mellanox.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com>
show more ...
|
#
1bdbe1af |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: support promiscuous and allmulticast Rx modes
These modes require special non-MAC flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.la
mlx5: support promiscuous and allmulticast Rx modes
These modes require special non-MAC flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com>
show more ...
|
#
e60fbd5b |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: add device configure/start/stop
This commit adds the remaining missing callbacks to make mlx5 usable. Like mlx4, device start and stop are implemented on top of MAC RX flows.
Signed-off-by: A
mlx5: add device configure/start/stop
This commit adds the remaining missing callbacks to make mlx5 usable. Like mlx4, device start and stop are implemented on top of MAC RX flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Francesco Santoro <francesco.santoro@6wind.com> Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
show more ...
|