On Tue, Jan 14, 2014 at 11:59:46AM +0100, Vincenzo Maffione wrote: > This function was used to set the using_vnet_hdr field into the > TAPState struct. However, it is always called immediately before > (see virtio-net.c) or immediately after (see vmxnet3.c) the function > tap_set_vnet_hdr_len(). It's therefore possible to set the > using_vnet_hdr field directly in tap_set_vnet_hdr_len() and remove > tap_using_vnet_hdr(), making the code simpler. > > Signed-off-by: Vincenzo Maffione <v.maffi...@gmail.com> > --- > hw/net/virtio-net.c | 4 ---- > hw/net/vmxnet3.c | 2 -- > include/net/tap.h | 1 - > net/tap-win32.c | 4 ---- > net/tap.c | 11 +---------- > 5 files changed, 1 insertion(+), 21 deletions(-)
CCing Michael Tsirkin in case he has any concerns. This looks safe to me since virtio-net will call tap_set_vnet_hdr_len(). > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index 3626608..ac8322d 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -1496,7 +1496,6 @@ static void virtio_net_device_realize(DeviceState *dev, > Error **errp) > VirtIODevice *vdev = VIRTIO_DEVICE(dev); > VirtIONet *n = VIRTIO_NET(dev); > NetClientState *nc; > - int i; > > virtio_init(vdev, "virtio-net", VIRTIO_ID_NET, n->config_size); > > @@ -1543,9 +1542,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_queues; i++) { > - tap_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; > diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c > index 19687aa..096b598 100644 > --- a/hw/net/vmxnet3.c > +++ b/hw/net/vmxnet3.c > @@ -1937,8 +1937,6 @@ static void vmxnet3_net_init(VMXNET3State *s) > if (s->peer_has_vhdr) { > tap_set_vnet_hdr_len(qemu_get_queue(s->nic)->peer, > sizeof(struct virtio_net_hdr)); > - > - tap_using_vnet_hdr(qemu_get_queue(s->nic)->peer, 1); > } > > qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a); > diff --git a/include/net/tap.h b/include/net/tap.h > index a3490a9..54974dc 100644 > --- a/include/net/tap.h > +++ b/include/net/tap.h > @@ -32,7 +32,6 @@ > bool tap_has_ufo(NetClientState *nc); > bool tap_has_vnet_hdr(NetClientState *nc); > bool tap_has_vnet_hdr_len(NetClientState *nc, int len); > -void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr); > void tap_set_offload(NetClientState *nc, int csum, int tso4, int tso6, int > ecn, int ufo); > void tap_set_vnet_hdr_len(NetClientState *nc, int len); > int tap_enable(NetClientState *nc); > diff --git a/net/tap-win32.c b/net/tap-win32.c > index edf26c4..f4cd002 100644 > --- a/net/tap-win32.c > +++ b/net/tap-win32.c > @@ -741,10 +741,6 @@ void tap_fd_set_vnet_hdr_len(int fd, int len) > { > } > > -void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr) > -{ > -} > - > void tap_set_offload(NetClientState *nc, int csum, int tso4, > int tso6, int ecn, int ufo) > { > diff --git a/net/tap.c b/net/tap.c > index c805f3c..42f768c 100644 > --- a/net/tap.c > +++ b/net/tap.c > @@ -247,16 +247,7 @@ 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; > -} > - > -void tap_using_vnet_hdr(NetClientState *nc, bool using_vnet_hdr) > -{ > - TAPState *s = DO_UPCAST(TAPState, nc, nc); > - > - assert(nc->info->type == NET_CLIENT_OPTIONS_KIND_TAP); > - assert(!!s->host_vnet_hdr_len == using_vnet_hdr); > - > - s->using_vnet_hdr = using_vnet_hdr; > + s->using_vnet_hdr = true; > } > > void tap_set_offload(NetClientState *nc, int csum, int tso4, > -- > 1.8.5.2 > >