34 lines
1.3 KiB
C
34 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/* Copyright (c) 2026 Hisilicon Limited. */
|
|
|
|
#ifndef __HCLGE_FD_H
|
|
#define __HCLGE_FD_H
|
|
|
|
struct hnae3_handle;
|
|
struct hclge_dev;
|
|
|
|
int hclge_init_fd_config(struct hclge_dev *hdev);
|
|
int hclge_add_fd_entry(struct hnae3_handle *handle, struct ethtool_rxnfc *cmd);
|
|
int hclge_del_fd_entry(struct hnae3_handle *handle, struct ethtool_rxnfc *cmd);
|
|
void hclge_del_all_fd_entries(struct hclge_dev *hdev);
|
|
int hclge_restore_fd_entries(struct hnae3_handle *handle);
|
|
int hclge_get_fd_rule_cnt(struct hnae3_handle *handle,
|
|
struct ethtool_rxnfc *cmd);
|
|
int hclge_get_fd_rule_info(struct hnae3_handle *handle,
|
|
struct ethtool_rxnfc *cmd);
|
|
int hclge_get_all_rules(struct hnae3_handle *handle,
|
|
struct ethtool_rxnfc *cmd, u32 *rule_locs);
|
|
void hclge_enable_fd(struct hnae3_handle *handle, bool enable);
|
|
int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 queue_id,
|
|
u16 flow_id, struct flow_keys *fkeys);
|
|
int hclge_add_cls_flower(struct hnae3_handle *handle,
|
|
struct flow_cls_offload *cls_flower);
|
|
int hclge_del_cls_flower(struct hnae3_handle *handle,
|
|
struct flow_cls_offload *cls_flower);
|
|
bool hclge_is_cls_flower_active(struct hnae3_handle *handle);
|
|
int hclge_clear_arfs_rules(struct hclge_dev *hdev);
|
|
void hclge_sync_fd_table(struct hclge_dev *hdev);
|
|
void hclge_rfs_filter_expire(struct hclge_dev *hdev);
|
|
|
|
#endif
|