Lines Matching refs:VirtIONet
117 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_get_subqueue()
143 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_get_config()
194 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_set_config()
218 static bool virtio_net_started(VirtIONet *n, uint8_t status) in virtio_net_started()
225 static void virtio_net_announce_notify(VirtIONet *net) in virtio_net_announce_notify()
236 VirtIONet *n = opaque; in virtio_net_announce_timer()
245 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_announce()
263 static void virtio_net_vhost_status(VirtIONet *n, uint8_t status) in virtio_net_vhost_status()
353 static void virtio_net_vnet_endian_status(VirtIONet *n, uint8_t status) in virtio_net_vnet_endian_status()
387 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_set_status()
445 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_set_link_status()
462 VirtIONet *n = qemu_get_nic_opaque(nc); in rxfilter_notify()
474 static intList *get_vlan_table(VirtIONet *n) in get_vlan_table()
493 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_query_rxfilter()
556 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_queue_reset()
580 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_queue_enable()
605 static void peer_test_vnet_hdr(VirtIONet *n) in peer_test_vnet_hdr()
615 static int peer_has_vnet_hdr(VirtIONet *n) in peer_has_vnet_hdr()
620 static int peer_has_ufo(VirtIONet *n) in peer_has_ufo()
630 static int peer_has_uso(VirtIONet *n) in peer_has_uso()
639 static void virtio_net_set_mrg_rx_bufs(VirtIONet *n, int mergeable_rx_bufs, in virtio_net_set_mrg_rx_bufs()
670 static int virtio_net_max_tx_queue_size(VirtIONet *n) in virtio_net_max_tx_queue_size()
691 static int peer_attach(VirtIONet *n, int index) in peer_attach()
714 static int peer_detach(VirtIONet *n, int index) in peer_detach()
733 static void virtio_net_set_queue_pairs(VirtIONet *n) in virtio_net_set_queue_pairs()
753 static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue);
758 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_get_features()
843 static void virtio_net_apply_guest_offloads(VirtIONet *n) in virtio_net_apply_guest_offloads()
869 uint64_t virtio_net_supported_guest_offloads(const VirtIONet *n) in virtio_net_supported_guest_offloads()
876 VirtIONet *n;
911 static DeviceState *failover_find_primary_device(VirtIONet *n) in failover_find_primary_device()
922 static void failover_add_primary(VirtIONet *n, Error **errp) in failover_add_primary()
953 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_set_features()
1019 static int virtio_net_handle_rx_mode(VirtIONet *n, uint8_t cmd, in virtio_net_handle_rx_mode()
1052 static int virtio_net_handle_offloads(VirtIONet *n, uint8_t cmd, in virtio_net_handle_offloads()
1097 static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd, in virtio_net_handle_mac()
1193 static int virtio_net_handle_vlan_table(VirtIONet *n, uint8_t cmd, in virtio_net_handle_vlan_table()
1222 static int virtio_net_handle_announce(VirtIONet *n, uint8_t cmd, in virtio_net_handle_announce()
1259 static bool virtio_net_attach_ebpf_rss(VirtIONet *n) in virtio_net_attach_ebpf_rss()
1282 static void virtio_net_detach_ebpf_rss(VirtIONet *n) in virtio_net_detach_ebpf_rss()
1287 static void virtio_net_commit_rss_config(VirtIONet *n) in virtio_net_commit_rss_config()
1312 static void virtio_net_disable_rss(VirtIONet *n) in virtio_net_disable_rss()
1322 static bool virtio_net_load_ebpf_fds(VirtIONet *n, Error **errp) in virtio_net_load_ebpf_fds()
1354 static bool virtio_net_load_ebpf(VirtIONet *n, Error **errp) in virtio_net_load_ebpf()
1377 static void virtio_net_unload_ebpf(VirtIONet *n) in virtio_net_unload_ebpf()
1383 static uint16_t virtio_net_handle_rss(VirtIONet *n, in virtio_net_handle_rss()
1503 static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd, in virtio_net_handle_mq()
1561 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_handle_ctrl_iov()
1628 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_handle_rx()
1636 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_can_receive()
1660 VirtIONet *n = q->n; in virtio_net_has_buffers()
1721 static void receive_header(VirtIONet *n, const struct iovec *iov, int iov_cnt, in receive_header()
1743 static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) in receive_filter()
1858 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_process_rss()
1911 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_receive_rcu()
2166 static void virtio_net_rsc_cleanup(VirtIONet *n) in virtio_net_rsc_cleanup()
2513 hdr_len = ((VirtIONet *)(chain->n))->guest_hdr_len; in virtio_net_rsc_receive4()
2583 hdr_len = ((VirtIONet *)(chain->n))->guest_hdr_len; in virtio_net_rsc_receive6()
2610 static VirtioNetRscChain *virtio_net_rsc_lookup_chain(VirtIONet *n, in virtio_net_rsc_lookup_chain()
2653 VirtIONet *n; in virtio_net_rsc_receive()
2678 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_receive()
2690 VirtIONet *n = qemu_get_nic_opaque(nc); in virtio_net_tx_complete()
2723 VirtIONet *n = q->n; in virtio_net_flush_tx()
2827 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_handle_tx_timer()
2856 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_handle_tx_bh()
2883 VirtIONet *n = q->n; in virtio_net_tx_timer()
2933 VirtIONet *n = q->n; in virtio_net_tx_bh()
2979 static void virtio_net_add_queue(VirtIONet *n, int index) in virtio_net_add_queue()
3005 static void virtio_net_del_queue(VirtIONet *n, int index) in virtio_net_del_queue()
3025 static void virtio_net_change_num_queue_pairs(VirtIONet *n, int new_max_queue_pairs) in virtio_net_change_num_queue_pairs()
3060 static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue) in virtio_net_set_multiqueue()
3081 VirtIONet *n = opaque; in virtio_net_post_load_device()
3145 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_post_load_virtio()
3193 VirtIONet *parent;
3328 VMSTATE_BOOL(rss_data.enabled, VirtIONet),
3329 VMSTATE_BOOL(rss_data.redirect, VirtIONet),
3330 VMSTATE_BOOL(rss_data.populate_hash, VirtIONet),
3331 VMSTATE_UINT32(rss_data.hash_types, VirtIONet),
3332 VMSTATE_UINT16(rss_data.indirections_len, VirtIONet),
3333 VMSTATE_UINT16(rss_data.default_queue, VirtIONet),
3334 VMSTATE_UINT8_ARRAY(rss_data.key, VirtIONet,
3336 VMSTATE_VARRAY_UINT16_ALLOC(rss_data.indirections_table, VirtIONet,
3345 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_get_vhost()
3370 VirtIONet *n = pv; in vhost_user_net_save_state()
3398 VirtIONet *n = pv; in vhost_user_net_load_state()
3425 VirtIONet *n = opaque; in vhost_user_net_is_internal_migration()
3460 VMSTATE_UINT8_ARRAY(mac, VirtIONet, ETH_ALEN),
3461 VMSTATE_STRUCT_POINTER(vqs, VirtIONet,
3464 VMSTATE_UINT32(mergeable_rx_bufs, VirtIONet),
3465 VMSTATE_UINT16(status, VirtIONet),
3466 VMSTATE_UINT8(promisc, VirtIONet),
3467 VMSTATE_UINT8(allmulti, VirtIONet),
3468 VMSTATE_UINT32(mac_table.in_use, VirtIONet),
3474 VMSTATE_VBUFFER_MULTIPLY(mac_table.macs, VirtIONet,
3477 VMSTATE_UNUSED_VARRAY_UINT32(VirtIONet, mac_table_doesnt_fit, 0,
3484 VMSTATE_BUFFER_POINTER_UNSAFE(vlans, VirtIONet, 0, MAX_VLAN >> 3),
3485 VMSTATE_WITH_TMP(VirtIONet, struct VirtIONetMigTmp,
3487 VMSTATE_UINT8(mac_table.multi_overflow, VirtIONet),
3488 VMSTATE_UINT8(mac_table.uni_overflow, VirtIONet),
3489 VMSTATE_UINT8(alluni, VirtIONet),
3490 VMSTATE_UINT8(nomulti, VirtIONet),
3491 VMSTATE_UINT8(nouni, VirtIONet),
3492 VMSTATE_UINT8(nobcast, VirtIONet),
3493 VMSTATE_WITH_TMP(VirtIONet, struct VirtIONetMigTmp,
3495 VMSTATE_SINGLE_TEST(max_queue_pairs, VirtIONet, max_queue_pairs_gt_1, 0,
3497 VMSTATE_UINT16_TEST(curr_queue_pairs, VirtIONet, max_queue_pairs_gt_1),
3498 VMSTATE_WITH_TMP(VirtIONet, struct VirtIONetMigTmp,
3500 VMSTATE_UINT64_TEST(curr_guest_offloads, VirtIONet,
3523 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_guest_notifier_pending()
3555 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_guest_notifier_mask()
3585 static void virtio_net_set_config_size(VirtIONet *n, uint64_t host_features) in virtio_net_set_config_size()
3592 void virtio_net_set_netclient_name(VirtIONet *n, const char *name, in virtio_net_set_netclient_name()
3606 static bool failover_unplug_primary(VirtIONet *n, DeviceState *dev) in failover_unplug_primary()
3627 static bool failover_replug_primary(VirtIONet *n, DeviceState *dev, in failover_replug_primary()
3660 static void virtio_net_handle_migration_primary(VirtIONet *n, MigrationEvent *e) in virtio_net_handle_migration_primary()
3693 VirtIONet *n = container_of(notifier, VirtIONet, migration_state); in virtio_net_migration_state_notifier()
3703 VirtIONet *n = container_of(listener, VirtIONet, primary_listener); in failover_hide_primary_device()
3752 VirtIONet *n = VIRTIO_NET(dev); in virtio_net_device_realize()
3926 VirtIONet *n = VIRTIO_NET(dev); in virtio_net_device_unrealize()
3969 VirtIONet *n = VIRTIO_NET(vdev); in virtio_net_reset()
4005 VirtIONet *n = VIRTIO_NET(obj); in virtio_net_instance_init()
4021 VirtIONet *n = opaque; in virtio_net_pre_save()
4035 VirtIONet *n = VIRTIO_NET(vdev); in primary_unplug_pending()
4065 DEFINE_PROP_BIT64("csum", VirtIONet, host_features,
4067 DEFINE_PROP_BIT64("guest_csum", VirtIONet, host_features,
4069 DEFINE_PROP_BIT64("gso", VirtIONet, host_features, VIRTIO_NET_F_GSO, true),
4070 DEFINE_PROP_BIT64("guest_tso4", VirtIONet, host_features,
4072 DEFINE_PROP_BIT64("guest_tso6", VirtIONet, host_features,
4074 DEFINE_PROP_BIT64("guest_ecn", VirtIONet, host_features,
4076 DEFINE_PROP_BIT64("guest_ufo", VirtIONet, host_features,
4078 DEFINE_PROP_BIT64("guest_announce", VirtIONet, host_features,
4080 DEFINE_PROP_BIT64("host_tso4", VirtIONet, host_features,
4082 DEFINE_PROP_BIT64("host_tso6", VirtIONet, host_features,
4084 DEFINE_PROP_BIT64("host_ecn", VirtIONet, host_features,
4086 DEFINE_PROP_BIT64("host_ufo", VirtIONet, host_features,
4088 DEFINE_PROP_BIT64("mrg_rxbuf", VirtIONet, host_features,
4090 DEFINE_PROP_BIT64("status", VirtIONet, host_features,
4092 DEFINE_PROP_BIT64("ctrl_vq", VirtIONet, host_features,
4094 DEFINE_PROP_BIT64("ctrl_rx", VirtIONet, host_features,
4096 DEFINE_PROP_BIT64("ctrl_vlan", VirtIONet, host_features,
4098 DEFINE_PROP_BIT64("ctrl_rx_extra", VirtIONet, host_features,
4100 DEFINE_PROP_BIT64("ctrl_mac_addr", VirtIONet, host_features,
4102 DEFINE_PROP_BIT64("ctrl_guest_offloads", VirtIONet, host_features,
4104 DEFINE_PROP_BIT64("mq", VirtIONet, host_features, VIRTIO_NET_F_MQ, false),
4105 DEFINE_PROP_BIT64("rss", VirtIONet, host_features,
4107 DEFINE_PROP_BIT64("hash", VirtIONet, host_features,
4109 DEFINE_PROP_ARRAY("ebpf-rss-fds", VirtIONet, nr_ebpf_rss_fds,
4111 DEFINE_PROP_BIT64("guest_rsc_ext", VirtIONet, host_features,
4113 DEFINE_PROP_UINT32("rsc_interval", VirtIONet, rsc_timeout,
4115 DEFINE_NIC_PROPERTIES(VirtIONet, nic_conf),
4116 DEFINE_PROP_UINT32("x-txtimer", VirtIONet, net_conf.txtimer,
4118 DEFINE_PROP_INT32("x-txburst", VirtIONet, net_conf.txburst, TX_BURST),
4119 DEFINE_PROP_STRING("tx", VirtIONet, net_conf.tx),
4120 DEFINE_PROP_UINT16("rx_queue_size", VirtIONet, net_conf.rx_queue_size,
4122 DEFINE_PROP_UINT16("tx_queue_size", VirtIONet, net_conf.tx_queue_size,
4124 DEFINE_PROP_UINT16("host_mtu", VirtIONet, net_conf.mtu, 0),
4125 DEFINE_PROP_BOOL("x-mtu-bypass-backend", VirtIONet, mtu_bypass_backend,
4127 DEFINE_PROP_INT32("speed", VirtIONet, net_conf.speed, SPEED_UNKNOWN),
4128 DEFINE_PROP_STRING("duplex", VirtIONet, net_conf.duplex_str),
4129 DEFINE_PROP_BOOL("failover", VirtIONet, failover, false),
4130 DEFINE_PROP_BIT64("guest_uso4", VirtIONet, host_features,
4132 DEFINE_PROP_BIT64("guest_uso6", VirtIONet, host_features,
4134 DEFINE_PROP_BIT64("host_uso", VirtIONet, host_features,
4171 .instance_size = sizeof(VirtIONet),