net/virtio: use memseg contig walk instead of iteration