]>
git.ipfire.org Git - people/arne_f/kernel.git/blob - drivers/net/ethernet/cisco/enic/enic_clsf.h
1 /* SPDX-License-Identifier: GPL-2.0 */
8 #define ENIC_CLSF_EXPIRE_COUNT 128
10 int enic_addfltr_5t(struct enic
*enic
, struct flow_keys
*keys
, u16 rq
);
11 int enic_delfltr(struct enic
*enic
, u16 filter_id
);
12 void enic_rfs_flw_tbl_init(struct enic
*enic
);
13 void enic_rfs_flw_tbl_free(struct enic
*enic
);
14 struct enic_rfs_fltr_node
*htbl_fltr_search(struct enic
*enic
, u16 fltr_id
);
16 #ifdef CONFIG_RFS_ACCEL
17 int enic_rx_flow_steer(struct net_device
*dev
, const struct sk_buff
*skb
,
18 u16 rxq_index
, u32 flow_id
);
19 void enic_flow_may_expire(unsigned long data
);
21 static inline void enic_rfs_timer_start(struct enic
*enic
)
23 init_timer(&enic
->rfs_h
.rfs_may_expire
);
24 enic
->rfs_h
.rfs_may_expire
.function
= enic_flow_may_expire
;
25 enic
->rfs_h
.rfs_may_expire
.data
= (unsigned long)enic
;
26 mod_timer(&enic
->rfs_h
.rfs_may_expire
, jiffies
+ HZ
/4);
29 static inline void enic_rfs_timer_stop(struct enic
*enic
)
31 del_timer_sync(&enic
->rfs_h
.rfs_may_expire
);
34 static inline void enic_rfs_timer_start(struct enic
*enic
) {}
35 static inline void enic_rfs_timer_stop(struct enic
*enic
) {}
36 #endif /* CONFIG_RFS_ACCEL */
38 #endif /* _ENIC_CLSF_H_ */