Re: [PATCH net-next V1 00/10] net/mlx4: Add flow-steering support
From: David Miller <davem@davemloft.net>
Date: 2012-07-07 23:24:04
From: Or Gerlitz <redacted> Date: Thu, 5 Jul 2012 17:03:40 +0300
This patch series from Hadar adds code to manage L2/L3/L4 network flow steering rules, a feature which is supported by the ConnectX-3 device. The series is built as follows: The first two patches deal with SRIOV resource tracker, whose mechanism is changed to use red-black tree instead of radix tree. The reason for this change is that the coming steering patches use flow IDs which are 64 bits in size, where radix tree keys can't be 64bit on 32bit architecture, while RB tree can do that. Patch #3 is little re-design of the Ethernet driver multicast attachments flow to be more efficient and robust. The fourth patch does a re-org of the checks that deal with the current "older" steering modes such that we can easily add soon the new steering mode and the code remains easy to manage. Patch #5 adds the firmware commands for the new steering mode, which is called "device managed flow steeering". Patch 6 is the main patch of this series. It adds support for device-managed flow steering all across the place. We had to have this patch also to touch the mlx4 IB driver, since the steering mode is global to the HCA -- so when being enabled, multicast attachment calls done by the IB driver into the mlx4 core driver, are now routed to the flow steering firmware commands whose API is a bit different, something that the IB driver had to be aware to. Following that, the 7th patch adds resource tracking for device-managed flow steering rules. The 8th patch adds promiscuous mode support under device-managed flow steering, next, the 9th patch adds implementation for the ethtool APIs for attaching L2/L3/L4 based flow steering rules, and the last patch adds support for drop action through ethtool.
All applied, thanks.