virtio: correctly prepend net_hdr before transmitting packet
virtio: correctly prepend net_hdr before transmitting packet

Instead of assuming there is room for a header in front of the packet, use
the packet prepending constructor to check for it and allocate it if missing.

This requires splitting the waiting into two parts: first acquiring the
packet, and only then, when we know how many fragments it has, waiting
for virtio dscriptors.  It also requires that we prepare a full buffer_chain
rather than one with exactly one fragment.

mixja/seastar,scylladb/scylla,justintung/scylla,wildinto/seastar,rentongzhang/scylla,guiquanz/scylla,bowlofstew/scylla,leejir/seastar,justintung/scylla,asias/scylla,scylladb/seastar,slivne/seastar,kjniemi/seastar,hongliangzhao/seastar,kjniemi/scylla,ducthangho/imdb,xtao/seastar,linearregression/seastar,koolhazz/seastar,justintung/scylla,shyamalschandra/seastar,tempbottle/scylla,bowlofstew/seastar,joerg84/seastar,bowlofstew/scylla,dwdm/scylla,bzero/seastar,senseb/scylla,dreamsxin/seastar,cloudius-systems/seastar,gwicke/scylla,stamhe/scylla,norcimo5/seastar,tempbottle/scylla,victorbriz/scylla,shaunstanislaus/scylla,chunshengster/seastar,leejir/seastar,xtao/seastar,wildinto/seastar,scylladb/scylla-seastar,dwdm/seastar,gwicke/scylla,cloudius-systems/seastar,dwdm/scylla,mixja/seastar,shyamalschandra/seastar,joerg84/seastar,kangkot/scylla,dwdm/seastar,scylladb/seastar,ducthangho/imdb,duarten/scylla,norcimo5/seastar,avikivity/seastar,capturePointer/scylla,hongliangzhao/seastar,mixja/seastar,victorbriz/scylla,tempbottle/seastar,jonathanleang/seastar,eklitzke/scylla,acbellini/seastar,anzihenry/seastar,raphaelsc/seastar,stamhe/scylla,jonathanleang/seastar,duarten/scylla,slivne/seastar,flashbuckets/seastar,anzihenry/seastar,senseb/scylla,guiquanz/scylla,kjniemi/seastar,wildinto/scylla,dwdm/seastar,dreamsxin/seastar,sjperkins/seastar,cloudius-systems/seastar,linearregression/scylla,aruanruan/scylla,glommer/scylla,chunshengster/seastar,raphaelsc/seastar,koolhazz/seastar,raphaelsc/scylla,raphaelsc/seastar,acbellini/seastar,avikivity/scylla,acbellini/scylla,stamhe/seastar,respu/scylla,tempbottle/seastar,raphaelsc/scylla,hongliangzhao/seastar,bowlofstew/seastar,phonkee/scylla,tempbottle/scylla,kangkot/scylla,shaunstanislaus/scylla,scylladb/seastar,joerg84/seastar,stamhe/seastar,syuu1228/seastar,bowlofstew/seastar,scylladb/scylla-seastar,rluta/scylla,scylladb/scylla,linearregression/seastar,wildinto/scylla,avikivity/seastar,scylladb/scylla,raphaelsc/scylla,leejir/seastar,asias/scylla,acbellini/scylla,xtao/seastar,rluta/scylla,stamhe/seastar,asias/scylla,rluta/scylla,capturePointer/scylla,gwicke/scylla,jonathanleang/seastar,avikivity/seastar,phonkee/scylla,flashbuckets/seastar,aruanruan/scylla,norcimo5/seastar,printedheart/seastar,victorbriz/scylla,linearregression/scylla,eklitzke/scylla,respu/scylla,syuu1228/seastar,senseb/scylla,printedheart/seastar,eklitzke/scylla,printedheart/seastar,bzero/seastar,bzero/seastar,tempbottle/seastar,glommer/scylla,sjperkins/seastar,kjniemi/scylla,respu/scylla,duarten/scylla,capturePointer/scylla,anzihenry/seastar,acbellini/scylla,glommer/scylla,stamhe/scylla,wildinto/scylla,sjperkins/seastar,slivne/seastar,rentongzhang/scylla,flashbuckets/seastar,linearregression/scylla,chunshengster/seastar,phonkee/scylla,scylladb/scylla,dreamsxin/seastar,scylladb/scylla-seastar,bowlofstew/scylla,kjniemi/seastar,kjniemi/scylla,koolhazz/seastar,kangkot/scylla,dwdm/scylla,avikivity/scylla,guiquanz/scylla,aruanruan/scylla,shaunstanislaus/scylla,linearregression/seastar,avikivity/scylla,rentongzhang/scylla,ducthangho/imdb,syuu1228/seastar,acbellini/seastar,shyamalschandra/seastar,wildinto/seastar