6f2a064bef
Fetch available filter resources from firmware and allocate table for book-keeping and managing filters in hardware. Also define the hardware filter specification (ch_filter_specification) used to describe each filter rule. Signed-off-by: Shagun Agrawal <shaguna@chelsio.com> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
28 lines
614 B
C
28 lines
614 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 Chelsio Communications.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef _CXGBE_OFLD_H_
|
|
#define _CXGBE_OFLD_H_
|
|
|
|
#include <rte_bitmap.h>
|
|
|
|
#include "cxgbe_filter.h"
|
|
|
|
/*
|
|
* Holds the size, base address, free list start, etc of filter TID.
|
|
* The tables themselves are allocated dynamically.
|
|
*/
|
|
struct tid_info {
|
|
void **tid_tab;
|
|
unsigned int ntids;
|
|
struct filter_entry *ftid_tab; /* Normal filters */
|
|
struct rte_bitmap *ftid_bmap;
|
|
uint8_t *ftid_bmap_array;
|
|
unsigned int nftids;
|
|
unsigned int ftid_base;
|
|
rte_spinlock_t ftid_lock;
|
|
};
|
|
#endif /* _CXGBE_OFLD_H_ */
|