Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1612661
| From | Jason Wang <jasowang@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH V2 net-next 4/7] tap: export skb_array |
| Date | 2017-03-30 09:30 +0200 |
| Message-ID | <tqCGS-2MS-27@gated-at.bofh.it> (permalink) |
| References | <tqCGR-2MS-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
This patch exports skb_array through tap_get_skb_array(). Caller can
then manipulate skb array directly.
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
drivers/net/tap.c | 13 +++++++++++++
include/linux/if_tap.h | 5 +++++
2 files changed, 18 insertions(+)
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 4d4173d..abdaf86 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -1193,6 +1193,19 @@ struct socket *tap_get_socket(struct file *file)
}
EXPORT_SYMBOL_GPL(tap_get_socket);
+struct skb_array *tap_get_skb_array(struct file *file)
+{
+ struct tap_queue *q;
+
+ if (file->f_op != &tap_fops)
+ return ERR_PTR(-EINVAL);
+ q = file->private_data;
+ if (!q)
+ return ERR_PTR(-EBADFD);
+ return &q->skb_array;
+}
+EXPORT_SYMBOL_GPL(tap_get_skb_array);
+
int tap_queue_resize(struct tap_dev *tap)
{
struct net_device *dev = tap->dev;
diff --git a/include/linux/if_tap.h b/include/linux/if_tap.h
index 3482c3c..4837157 100644
--- a/include/linux/if_tap.h
+++ b/include/linux/if_tap.h
@@ -3,6 +3,7 @@
#if IS_ENABLED(CONFIG_TAP)
struct socket *tap_get_socket(struct file *);
+struct skb_array *tap_get_skb_array(struct file *file);
#else
#include <linux/err.h>
#include <linux/errno.h>
@@ -12,6 +13,10 @@ static inline struct socket *tap_get_socket(struct file *f)
{
return ERR_PTR(-EINVAL);
}
+static inline struct skb_array *tap_get_skb_array(struct file *f)
+{
+ return ERR_PTR(-EINVAL);
+}
#endif /* CONFIG_TAP */
#include <net/sock.h>
--
2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH V2 net-next 0/7] vhost-net rx batching Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
[PATCH V2 net-next 6/7] tap: support receiving skb from msg_control Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
Re: [PATCH V2 net-next 6/7] tap: support receiving skb from msg_control "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 17:10 +0200
Re: [PATCH V2 net-next 6/7] tap: support receiving skb from msg_control Jason Wang <jasowang@redhat.com> - 2017-03-31 06:10 +0200
[PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 16:00 +0200
Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-31 06:00 +0200
Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-31 16:40 +0200
Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-04-01 07:20 +0200
[PATCH V2 net-next 4/7] tap: export skb_array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
[PATCH V2 net-next 3/7] tun: export skb_array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
[PATCH V2 net-next 2/7] skb_array: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
[PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 16:30 +0200
Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array Jason Wang <jasowang@redhat.com> - 2017-03-31 06:10 +0200
Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array Jason Wang <jasowang@redhat.com> - 2017-03-31 08:50 +0200
csiph-web