From: Hemant Agrawal Date: Thu, 25 Jul 2019 11:06:45 +0000 (+0530) Subject: net/virtio: fix build with 0 headroom X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c1ada9b63b8309a99c6370ff50a24b7d6d238c9b;p=dpdk.git net/virtio: fix build with 0 headroom When using RTE_PKTMBUF_HEADROOM as 0, virito ethdev driver throws compilation error virtio_ethdev.c:1851:2: note: in expansion of macro ‘RTE_BUILD_BUG_ON’ RTE_BUILD_BUG_ON(RTE_PKTMBUF_HEADROOM < sizeof(struct virtio_net_hdr_mrg_rxbuf)); This patch change it into run-time check. Bugzilla ID: 335 Fixes: dec08c28c0b3 ("virtio: check packet headroom at compile time") Cc: stable@dpdk.org Signed-off-by: Hemant Agrawal Acked-by: Maxime Coquelin --- diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 20840bf8af..f96588b9da 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1845,7 +1845,14 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev) struct virtio_hw *hw = eth_dev->data->dev_private; int ret; - RTE_BUILD_BUG_ON(RTE_PKTMBUF_HEADROOM < sizeof(struct virtio_net_hdr_mrg_rxbuf)); + if (sizeof(struct virtio_net_hdr_mrg_rxbuf) > RTE_PKTMBUF_HEADROOM) { + PMD_INIT_LOG(ERR, + "Not sufficient headroom required = %d, avail = %d", + (int)sizeof(struct virtio_net_hdr_mrg_rxbuf), + RTE_PKTMBUF_HEADROOM); + + return -1; + } eth_dev->dev_ops = &virtio_eth_dev_ops;