mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
tap: Remove qemu_using_vnet_hdr()
Since qemu_set_vnet_hdr_len() is always called when qemu_using_vnet_hdr() is called, we can merge them and save some code. For consistency, express that the virtio-net header is not in use by returning 0 with qemu_get_vnet_hdr_len() instead of having a dedicated function, qemu_get_using_vnet_hdr(). Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
52a7ff5269
commit
4b52d63249
10 changed files with 5 additions and 74 deletions
|
@ -352,7 +352,6 @@ e1000e_init_net_peer(E1000EState *s, PCIDevice *pci_dev, uint8_t *macaddr)
|
|||
for (i = 0; i < s->conf.peers.queues; i++) {
|
||||
nc = qemu_get_subqueue(s->nic, i);
|
||||
qemu_set_vnet_hdr_len(nc->peer, sizeof(struct virtio_net_hdr));
|
||||
qemu_using_vnet_hdr(nc->peer, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -349,7 +349,6 @@ igb_init_net_peer(IGBState *s, PCIDevice *pci_dev, uint8_t *macaddr)
|
|||
for (i = 0; i < s->conf.peers.queues; i++) {
|
||||
nc = qemu_get_subqueue(s->nic, i);
|
||||
qemu_set_vnet_hdr_len(nc->peer, sizeof(struct virtio_net_hdr));
|
||||
qemu_using_vnet_hdr(nc->peer, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -582,7 +582,7 @@ static void net_tx_pkt_sendv(
|
|||
{
|
||||
NetClientState *nc = opaque;
|
||||
|
||||
if (qemu_get_using_vnet_hdr(nc->peer)) {
|
||||
if (qemu_get_vnet_hdr_len(nc->peer)) {
|
||||
qemu_sendv_packet(nc, virt_iov, virt_iov_cnt);
|
||||
} else {
|
||||
qemu_sendv_packet(nc, iov, iov_cnt);
|
||||
|
@ -812,7 +812,7 @@ static bool net_tx_pkt_do_sw_fragmentation(struct NetTxPkt *pkt,
|
|||
|
||||
bool net_tx_pkt_send(struct NetTxPkt *pkt, NetClientState *nc)
|
||||
{
|
||||
bool offload = qemu_get_using_vnet_hdr(nc->peer);
|
||||
bool offload = qemu_get_vnet_hdr_len(nc->peer);
|
||||
return net_tx_pkt_send_custom(pkt, offload, net_tx_pkt_sendv, nc);
|
||||
}
|
||||
|
||||
|
|
|
@ -3778,9 +3778,6 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
|
|||
|
||||
peer_test_vnet_hdr(n);
|
||||
if (peer_has_vnet_hdr(n)) {
|
||||
for (i = 0; i < n->max_queue_pairs; i++) {
|
||||
qemu_using_vnet_hdr(qemu_get_subqueue(n->nic, i)->peer, true);
|
||||
}
|
||||
n->host_hdr_len = sizeof(struct virtio_net_hdr);
|
||||
} else {
|
||||
n->host_hdr_len = 0;
|
||||
|
|
|
@ -2091,8 +2091,6 @@ static void vmxnet3_net_init(VMXNET3State *s)
|
|||
if (s->peer_has_vhdr) {
|
||||
qemu_set_vnet_hdr_len(qemu_get_queue(s->nic)->peer,
|
||||
sizeof(struct virtio_net_hdr));
|
||||
|
||||
qemu_using_vnet_hdr(qemu_get_queue(s->nic)->peer, 1);
|
||||
}
|
||||
|
||||
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
|
||||
|
|
|
@ -57,8 +57,6 @@ typedef bool (HasUfo)(NetClientState *);
|
|||
typedef bool (HasUso)(NetClientState *);
|
||||
typedef bool (HasVnetHdr)(NetClientState *);
|
||||
typedef bool (HasVnetHdrLen)(NetClientState *, int);
|
||||
typedef bool (GetUsingVnetHdr)(NetClientState *);
|
||||
typedef void (UsingVnetHdr)(NetClientState *, bool);
|
||||
typedef void (SetOffload)(NetClientState *, int, int, int, int, int, int, int);
|
||||
typedef int (GetVnetHdrLen)(NetClientState *);
|
||||
typedef void (SetVnetHdrLen)(NetClientState *, int);
|
||||
|
@ -88,10 +86,7 @@ typedef struct NetClientInfo {
|
|||
HasUso *has_uso;
|
||||
HasVnetHdr *has_vnet_hdr;
|
||||
HasVnetHdrLen *has_vnet_hdr_len;
|
||||
GetUsingVnetHdr *get_using_vnet_hdr;
|
||||
UsingVnetHdr *using_vnet_hdr;
|
||||
SetOffload *set_offload;
|
||||
GetVnetHdrLen *get_vnet_hdr_len;
|
||||
SetVnetHdrLen *set_vnet_hdr_len;
|
||||
SetVnetLE *set_vnet_le;
|
||||
SetVnetBE *set_vnet_be;
|
||||
|
@ -194,8 +189,6 @@ bool qemu_has_ufo(NetClientState *nc);
|
|||
bool qemu_has_uso(NetClientState *nc);
|
||||
bool qemu_has_vnet_hdr(NetClientState *nc);
|
||||
bool qemu_has_vnet_hdr_len(NetClientState *nc, int len);
|
||||
bool qemu_get_using_vnet_hdr(NetClientState *nc);
|
||||
void qemu_using_vnet_hdr(NetClientState *nc, bool enable);
|
||||
void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
|
||||
int ecn, int ufo, int uso4, int uso6);
|
||||
int qemu_get_vnet_hdr_len(NetClientState *nc);
|
||||
|
|
|
@ -154,10 +154,8 @@ static ssize_t filter_dump_receive_iov(NetFilterState *nf, NetClientState *sndr,
|
|||
int iovcnt, NetPacketSent *sent_cb)
|
||||
{
|
||||
NetFilterDumpState *nfds = FILTER_DUMP(nf);
|
||||
int offset = qemu_get_using_vnet_hdr(nf->netdev) ?
|
||||
qemu_get_vnet_hdr_len(nf->netdev) : 0;
|
||||
|
||||
dump_receive_iov(&nfds->ds, iov, iovcnt, offset);
|
||||
dump_receive_iov(&nfds->ds, iov, iovcnt, qemu_get_vnet_hdr_len(nf->netdev));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
24
net/net.c
24
net/net.c
|
@ -529,24 +529,6 @@ bool qemu_has_vnet_hdr_len(NetClientState *nc, int len)
|
|||
return nc->info->has_vnet_hdr_len(nc, len);
|
||||
}
|
||||
|
||||
bool qemu_get_using_vnet_hdr(NetClientState *nc)
|
||||
{
|
||||
if (!nc || !nc->info->get_using_vnet_hdr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return nc->info->get_using_vnet_hdr(nc);
|
||||
}
|
||||
|
||||
void qemu_using_vnet_hdr(NetClientState *nc, bool enable)
|
||||
{
|
||||
if (!nc || !nc->info->using_vnet_hdr) {
|
||||
return;
|
||||
}
|
||||
|
||||
nc->info->using_vnet_hdr(nc, enable);
|
||||
}
|
||||
|
||||
void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
|
||||
int ecn, int ufo, int uso4, int uso6)
|
||||
{
|
||||
|
@ -559,11 +541,7 @@ void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
|
|||
|
||||
int qemu_get_vnet_hdr_len(NetClientState *nc)
|
||||
{
|
||||
if (!nc || !nc->info->get_vnet_hdr_len) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return nc->info->get_vnet_hdr_len(nc);
|
||||
return nc->vnet_hdr_len;
|
||||
}
|
||||
|
||||
void qemu_set_vnet_hdr_len(NetClientState *nc, int len)
|
||||
|
|
|
@ -351,10 +351,6 @@ static bool netmap_has_vnet_hdr(NetClientState *nc)
|
|||
return netmap_has_vnet_hdr_len(nc, sizeof(struct virtio_net_hdr));
|
||||
}
|
||||
|
||||
static void netmap_using_vnet_hdr(NetClientState *nc, bool enable)
|
||||
{
|
||||
}
|
||||
|
||||
static void netmap_set_vnet_hdr_len(NetClientState *nc, int len)
|
||||
{
|
||||
NetmapState *s = DO_UPCAST(NetmapState, nc, nc);
|
||||
|
@ -393,7 +389,6 @@ static NetClientInfo net_netmap_info = {
|
|||
.has_ufo = netmap_has_vnet_hdr,
|
||||
.has_vnet_hdr = netmap_has_vnet_hdr,
|
||||
.has_vnet_hdr_len = netmap_has_vnet_hdr_len,
|
||||
.using_vnet_hdr = netmap_using_vnet_hdr,
|
||||
.set_offload = netmap_set_offload,
|
||||
.set_vnet_hdr_len = netmap_set_vnet_hdr_len,
|
||||
};
|
||||
|
|
28
net/tap.c
28
net/tap.c
|
@ -262,13 +262,6 @@ static bool tap_has_vnet_hdr_len(NetClientState *nc, int len)
|
|||
return tap_has_vnet_hdr(nc);
|
||||
}
|
||||
|
||||
static int tap_get_vnet_hdr_len(NetClientState *nc)
|
||||
{
|
||||
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
||||
|
||||
return s->host_vnet_hdr_len;
|
||||
}
|
||||
|
||||
static void tap_set_vnet_hdr_len(NetClientState *nc, int len)
|
||||
{
|
||||
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
||||
|
@ -280,23 +273,7 @@ static void tap_set_vnet_hdr_len(NetClientState *nc, int len)
|
|||
|
||||
tap_fd_set_vnet_hdr_len(s->fd, len);
|
||||
s->host_vnet_hdr_len = len;
|
||||
}
|
||||
|
||||
static bool tap_get_using_vnet_hdr(NetClientState *nc)
|
||||
{
|
||||
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
||||
|
||||
return s->using_vnet_hdr;
|
||||
}
|
||||
|
||||
static void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr)
|
||||
{
|
||||
TAPState *s = DO_UPCAST(TAPState, nc, nc);
|
||||
|
||||
assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
|
||||
assert(!!s->host_vnet_hdr_len == using_vnet_hdr);
|
||||
|
||||
s->using_vnet_hdr = using_vnet_hdr;
|
||||
s->using_vnet_hdr = true;
|
||||
}
|
||||
|
||||
static int tap_set_vnet_le(NetClientState *nc, bool is_le)
|
||||
|
@ -394,10 +371,7 @@ static NetClientInfo net_tap_info = {
|
|||
.has_uso = tap_has_uso,
|
||||
.has_vnet_hdr = tap_has_vnet_hdr,
|
||||
.has_vnet_hdr_len = tap_has_vnet_hdr_len,
|
||||
.get_using_vnet_hdr = tap_get_using_vnet_hdr,
|
||||
.using_vnet_hdr = tap_using_vnet_hdr,
|
||||
.set_offload = tap_set_offload,
|
||||
.get_vnet_hdr_len = tap_get_vnet_hdr_len,
|
||||
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
|
||||
.set_vnet_le = tap_set_vnet_le,
|
||||
.set_vnet_be = tap_set_vnet_be,
|
||||
|
|
Loading…
Reference in a new issue