#include <linux/if.h>
#include <linux/if_ether.h>
#include <linux/if_link.h>
#include <linux/netdevice.h>
#include <linux/in.h>
#include <linux/types.h>
#include <linux/skbuff.h>
#include <net/flow_dissector.h>
#include "enic_res.h"
#include "enic_clsf.h"
int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq)
{ … }
int enic_delfltr(struct enic *enic, u16 filter_id)
{ … }
void enic_rfs_flw_tbl_init(struct enic *enic)
{ … }
void enic_rfs_flw_tbl_free(struct enic *enic)
{ … }
struct enic_rfs_fltr_node *htbl_fltr_search(struct enic *enic, u16 fltr_id)
{ … }
#ifdef CONFIG_RFS_ACCEL
void enic_flow_may_expire(struct timer_list *t)
{ … }
static struct enic_rfs_fltr_node *htbl_key_search(struct hlist_head *h,
struct flow_keys *k)
{ … }
int enic_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb,
u16 rxq_index, u32 flow_id)
{ … }
#endif