|
@@ -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;
|