net/af_iucv: build proper skbs for HiperTransport
authorJulian Wiedmann <jwi@linux.ibm.com>
Tue, 18 Jun 2019 18:43:00 +0000 (20:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2019 20:26:33 +0000 (16:26 -0400)
commit238965b71b968dc5b3c0fe430e946f488322c4b5
treed31550c858e80891acd686884ad733b09a713dad
parentfdbf6326912d578a31ac4ca0933c919eadf1d54c
net/af_iucv: build proper skbs for HiperTransport

The HiperSockets-based transport path in af_iucv is still too closely
entangled with qeth.
With commit a647a02512ca ("s390/qeth: speed-up L3 IQD xmit"), the
relevant xmit code in qeth has begun to use skb_cow_head(). So to avoid
unnecessary skb head expansions, af_iucv must learn to
1) respect dev->needed_headroom when allocating skbs, and
2) drop the header reference before cloning the skb.

While at it, also stop hard-coding the LL-header creation stage and just
use the appropriate helper.

Fixes: a647a02512ca ("s390/qeth: speed-up L3 IQD xmit")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/iucv/af_iucv.c