diff options
author | Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> | 2020-06-30 16:11:28 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-01 04:34:34 +0300 |
commit | fd2261d8ed6f1375f18341e959d4bbcd94d748a3 (patch) | |
tree | 35e1845ff9bb91335fe7236ae194f7978ec7f7b6 /drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h | |
parent | 75603a3112664cb1f6b1508e2b489f16863bf153 (diff) | |
download | linux-fd2261d8ed6f1375f18341e959d4bbcd94d748a3.tar.xz |
cxgb4: add mirror action to TC-MATCHALL offload
Add mirror Virtual Interface (VI) support to receive all ingress
mirror traffic from the underlying device. The mirror VI is
created dynamically, if the TC-MATCHALL rule has a corresponding
mirror action. Also request MSI-X vectors needed for the mirror VI
Rxqs. If no vectors are available, then disable mirror VI support.
v3:
- Replace mirror VI refcount_t with normal u32 variable.
v2:
- Add mutex to protect all mirror VI data, instead of just
mirror Rxqs.
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h index ab6b5683dfd3..e264b6e606c4 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.h @@ -21,6 +21,7 @@ struct cxgb4_matchall_ingress_entry { enum cxgb4_matchall_state state; /* Current MATCHALL offload state */ u32 tid; /* Index to hardware filter entry */ struct ch_filter_specification fs; /* Filter entry */ + u16 viid_mirror; /* Identifier for allocated Mirror VI */ u64 bytes; /* # of bytes hitting the filter */ u64 packets; /* # of packets hitting the filter */ u64 last_used; /* Last updated jiffies time */ |