On 2019/12/2 上午12:35, David Ahern wrote:
On 11/26/19 4:07 AM, Prashant Bhole wrote:
From: Jason Wang <jasow...@redhat.com>

This patch introduces an ioctl way to set an offloaded XDP program
to tun driver. This ioctl will be used by qemu to offload XDP program
from virtio_net in the guest.

Signed-off-by: Jason Wang <jasow...@redhat.com>
Signed-off-by: Prashant Bhole <prashantbhole.li...@gmail.com>
---
  drivers/net/tun.c           | 19 ++++++++++++++-----
  include/uapi/linux/if_tun.h |  1 +
  2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index d078b4659897..ecb49101b0b5 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -241,6 +241,7 @@ struct tun_struct {
        struct bpf_prog __rcu *xdp_prog;
        struct tun_prog __rcu *steering_prog;
        struct tun_prog __rcu *filter_prog;
+       struct tun_prog __rcu *offloaded_xdp_prog;
I have been looking into running XDP pograms in the TX path of a tap
device [1] where the program is installed and managed by a process in
the host. The code paths are the same as what you are doing with XDP
offload, so how about calling this xdp_prog_tx?

[1]
https://github.com/dsahern/linux/commit/f2303d05187c8a604cdb70b288338e9b1d1b0db6


I think it's fine, btw, except for the netlink part there should be no much difference.

Thanks


Reply via email to