net/netvsc: implement link state change callback
[dpdk.git] / drivers / net / netvsc / hn_rndis.h
1 /* SPDX-License-Identifier: BSD-3-Clause */
2
3 #include "rndis.h"
4
5 struct hn_data;
6
7 void hn_rndis_receive_response(struct hn_data *hv,
8                               const void *data, uint32_t len);
9 void    hn_rndis_link_status(struct rte_eth_dev *dev, const void *msg);
10 int     hn_rndis_attach(struct hn_data *hv);
11 void    hn_rndis_detach(struct hn_data *hv);
12 int     hn_rndis_get_eaddr(struct hn_data *hv, uint8_t *eaddr);
13 int     hn_rndis_get_linkstatus(struct hn_data *hv);
14 int     hn_rndis_get_linkspeed(struct hn_data *hv);
15 int     hn_rndis_set_rxfilter(struct hn_data *hv, uint32_t filter);
16 void    hn_rndis_rx_ctrl(struct hn_data *hv, const void *data,
17                          int dlen);
18 int     hn_rndis_get_offload(struct hn_data *hv,
19                              struct rte_eth_dev_info *dev_info);
20 int     hn_rndis_conf_offload(struct hn_data *hv,
21                               uint64_t tx_offloads,
22                               uint64_t rx_offloads);
23 int     hn_rndis_query_rsscaps(struct hn_data *hv,
24                                unsigned int *rxr_cnt0);
25 int     hn_rndis_conf_rss(struct hn_data *hv,
26                           const struct rte_eth_rss_conf *rss_conf);
27
28 #ifdef RTE_LIBRTE_NETVSC_DEBUG_DUMP
29 void hn_rndis_dump(const void *buf);
30 #else
31 #define hn_rndis_dump(buf)
32 #endif