netvsc_device
struct netvsc_device __rcu *nvdev;
struct netvsc_device *net_device;
struct netvsc_device;
struct netvsc_device *netvsc_device_add(struct hv_device *device,
int netvsc_alloc_recv_comp_ring(struct netvsc_device *net_device, u32 q_idx);
struct netvsc_device *nvdev,
struct bpf_prog *netvsc_xdp_get(struct netvsc_device *nvdev);
struct netvsc_device *nvdev);
struct netvsc_device *nvdev,
int rndis_filter_open(struct netvsc_device *nvdev);
int rndis_filter_close(struct netvsc_device *nvdev);
struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
void rndis_filter_update(struct netvsc_device *nvdev);
struct netvsc_device *nvdev);
struct netvsc_device *nvdev,
struct netvsc_device *net_dev,
int rndis_filter_set_device_mac(struct netvsc_device *ndev,
container_of(w, struct netvsc_device, subchan_work);
struct netvsc_device *net_device,
struct netvsc_device *net_device
static struct netvsc_device *alloc_net_device(void)
struct netvsc_device *net_device;
net_device = kzalloc_obj(struct netvsc_device);
struct netvsc_device *nvdev,
static void recv_comp_slot_avail(const struct netvsc_device *nvdev,
struct netvsc_device *nvdev, u16 q_idx,
struct netvsc_device *net_device,
struct netvsc_device *nvdev
= container_of(head, struct netvsc_device, rcu);
struct netvsc_device *nvscdev,
struct netvsc_device *nvscdev,
struct netvsc_device *net_device,
struct netvsc_device *net_device = nvchan->net_device;
static void free_netvsc_device_rcu(struct netvsc_device *nvdev)
struct netvsc_device *netvsc_device_add(struct hv_device *device,
struct netvsc_device *net_device;
struct netvsc_device *net_device,
struct netvsc_device *net_device,
struct netvsc_device *net_device,
struct netvsc_device *net_device,
int netvsc_alloc_recv_comp_ring(struct netvsc_device *net_device, u32 q_idx)
struct netvsc_device *net_device,
struct netvsc_device *nv_dev = rtnl_dereference(net_device_ctx->nvdev);
struct netvsc_device *net_device,
struct netvsc_device *net_device,
struct netvsc_device *net_device
static inline void netvsc_free_send_slot(struct netvsc_device *net_device,
struct netvsc_device *net_device,
struct netvsc_device *net_device,
static u32 netvsc_get_next_send_section(struct netvsc_device *net_device)
static void netvsc_copy_to_send_buf(struct netvsc_device *net_device,
struct netvsc_device *nvdev =
struct bpf_prog *netvsc_xdp_get(struct netvsc_device *nvdev)
struct netvsc_device *nvdev)
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
struct netvsc_device *nvsc_dev;
struct netvsc_device *nvdev;
static void netvsc_tx_enable(struct netvsc_device *nvscdev,
struct netvsc_device *nvdev = rtnl_dereference(net_device_ctx->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndev_ctx->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
struct netvsc_device *nvdev = rcu_dereference_rtnl(ndev_ctx->nvdev);
struct netvsc_device *nvdev;
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
static int netvsc_wait_until_empty(struct netvsc_device *nvdev)
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
struct netvsc_device *ndev = rtnl_dereference(ndc->nvdev);
struct netvsc_device *ndev = rtnl_dereference(ndc->nvdev);
static void __netvsc_get_ringparam(struct netvsc_device *nvdev,
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
struct netvsc_device *nvdev = rtnl_dereference(ndevctx->nvdev);
static void netvsc_tx_disable(struct netvsc_device *nvscdev,
struct netvsc_device *net_device;
struct netvsc_device *nvdev = rtnl_dereference(net_device_ctx->nvdev);
struct netvsc_device *netvsc_dev;
struct netvsc_device *netvsc_dev;
struct netvsc_device *nvdev;
struct netvsc_device *nvdev;
struct netvsc_device *nvdev;
struct netvsc_device *net_device,
struct netvsc_device *nvdev;
struct netvsc_device *nvdev = rtnl_dereference(net_device_ctx->nvdev);
struct netvsc_device_info *netvsc_devinfo_get(struct netvsc_device *nvdev)
struct netvsc_device *nvdev)
struct netvsc_device *net_device)
void rndis_filter_update(struct netvsc_device *nvdev)
struct netvsc_device *nvdev)
static bool netvsc_device_idle(const struct netvsc_device *nvdev)
static void rndis_filter_halt_device(struct netvsc_device *nvdev,
struct netvsc_device *nvscdev;
struct netvsc_device *nvdev,
struct netvsc_device *nvdev)
struct netvsc_device *net_device)
struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
struct netvsc_device *net_device;
struct netvsc_device *net_dev)
int rndis_filter_open(struct netvsc_device *nvdev)
int rndis_filter_close(struct netvsc_device *nvdev)
struct netvsc_device *nvdev,
struct netvsc_device *nvdev,
struct netvsc_device *net_dev,
struct netvsc_device *nvdev,
rndis_query_hwcaps(struct rndis_device *dev, struct netvsc_device *net_device,
struct netvsc_device *net_device)
int rndis_filter_set_device_mac(struct netvsc_device *nvdev,
struct netvsc_device *nvdev,
struct netvsc_device *net_device)