[dpdk-dev] [PATCH v3] kni: fix compilation issue in KNI vhost on kernel 3.19/4.0

Thomas Monjalon thomas.monjalon at 6wind.com
Sun May 10 23:25:38 CEST 2015


Hi Pablo,

2015-05-05 15:08, Pablo de Lara:
> Due to commit c0371da6 in kernel 3.19, which removed msg_iov
> and msg_iovlen from struct msghdr, DPDK would not build.
> Also, functions memcpy_toiovecend and memcpy_fromiovecend
> were removed in commits ba7438ae and 57dd8a07, being substituted by
> copy_from_iter and copy_to_iter.
> 
> This patch makes use of struct iov_iter, which has references
> to msg_iov and msg_iovln, and makes use of copy_from_iter
> and copy_to_iter.
> 
> Changes in v2:
> - Replaced functions memcpy_toiovecend and memcpy_fromiovecend
>   with copy_from_iter and copy_to_iter
> 
> Changes in v3:
> - Fixed variable names
> - Add missing checks
> 
> Reported-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>

I have the following errors with Linux 4.0.1:

lib/librte_eal/linuxapp/kni/igb_main.c:2321:2: error: initialization from incompatible pointer type
  .ndo_bridge_setlink = igb_ndo_bridge_setlink,
  ^
lib/librte_eal/linuxapp/kni/igb_main.c:2321:2: error: (near initialization for ‘igb_netdev_ops.ndo_bridge_setlink’)
lib/librte_eal/linuxapp/kni/igb_main.c: In function ‘igb_xmit_frame_ring’:
lib/librte_eal/linuxapp/kni/igb_main.c:5482:2: error: implicit declaration of function ‘vlan_tx_tag_present’
  if (vlan_tx_tag_present(skb)) {
  ^
lib/librte_eal/linuxapp/kni/igb_main.c:5484:3: error: implicit declaration of function ‘vlan_tx_tag_get’
   tx_flags |= (vlan_tx_tag_get(skb) << IGB_TX_FLAGS_VLAN_SHIFT);
   ^



More information about the dev mailing list