xref: /dpdk/drivers/net/netvsc/hn_rndis.h (revision 45c83603087e95ee82aecd79aa8e9ff1ae4dec69)
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_mtu(struct hn_data *hv, uint32_t *mtu);
14 int	hn_rndis_get_linkstatus(struct hn_data *hv);
15 int	hn_rndis_get_linkspeed(struct hn_data *hv);
16 int	hn_rndis_set_rxfilter(struct hn_data *hv, uint32_t filter);
17 void	hn_rndis_rx_ctrl(struct hn_data *hv, const void *data,
18 			 int dlen);
19 int	hn_rndis_get_offload(struct hn_data *hv,
20 			     struct rte_eth_dev_info *dev_info);
21 int	hn_rndis_conf_offload(struct hn_data *hv,
22 			      uint64_t tx_offloads,
23 			      uint64_t rx_offloads);
24 int	hn_rndis_query_rsscaps(struct hn_data *hv,
25 			       unsigned int *rxr_cnt0);
26 int	hn_rndis_query_rss(struct hn_data *hv,
27 			   struct rte_eth_rss_conf *rss_conf);
28 int	hn_rndis_conf_rss(struct hn_data *hv, uint32_t flags);
29 uint32_t hn_rndis_get_ptypes(struct hn_data *hv);
30 
31 #ifdef RTE_LIBRTE_NETVSC_DEBUG_DUMP
32 void hn_rndis_dump(const void *buf);
33 #else
34 #define hn_rndis_dump(buf)
35 #endif
36