@@ -1596,6 +1596,7 @@ typedef u64 netdev_priv_flags_t;
* @IFF_LIVE_RENAME_OK: rename is allowed while device is up and running
* @IFF_TX_SKB_NO_LINEAR: device/driver is capable of xmitting frames with
* skb_headlen(skb) == 0 (data starts from frag0)
+ * @IFF_NOT_USE_DMA_ADDR: driver not use dma addr directly. such as virtio-net
*/
enum {
IFF_802_1Q_VLAN_BIT,
@@ -1630,6 +1631,7 @@ enum {
IFF_L3MDEV_RX_HANDLER_BIT,
IFF_LIVE_RENAME_OK_BIT,
IFF_TX_SKB_NO_LINEAR_BIT,
+ IFF_NOT_USE_DMA_ADDR_BIT,
};
#define __IFF_BIT(bit) ((netdev_priv_flags_t)1 << (bit))
@@ -1667,6 +1669,7 @@ enum {
#define IFF_L3MDEV_RX_HANDLER __IFF(L3MDEV_RX_HANDLER)
#define IFF_LIVE_RENAME_OK __IFF(LIVE_RENAME_OK)
#define IFF_TX_SKB_NO_LINEAR __IFF(TX_SKB_NO_LINEAR)
+#define IFF_NOT_USE_DMA_ADDR __IFF(NOT_USE_DMA_ADDR)
/* Specifies the type of the struct net_device::ml_priv pointer */
enum netdev_ml_priv_type {
Some driver devices, such as virtio-net, do not directly use dma addr. For upper-level frameworks such as xdp socket, that need to be aware of this. So add a new priv_flag IFF_NOT_USE_DMA_ADDR. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> --- include/linux/netdevice.h | 3 +++ 1 file changed, 3 insertions(+)