hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/arch/um/drivers/vector_kern.h
....@@ -1,6 +1,6 @@
1
+/* SPDX-License-Identifier: GPL-2.0 */
12 /*
23 * Copyright (C) 2002 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3
- * Licensed under the GPL
44 */
55
66 #ifndef __UM_VECTOR_KERN_H
....@@ -29,9 +29,12 @@
2929 #define VECTOR_TX (1 << 1)
3030 #define VECTOR_BPF (1 << 2)
3131 #define VECTOR_QDISC_BYPASS (1 << 3)
32
+#define VECTOR_BPF_FLASH (1 << 4)
3233
3334 #define ETH_MAX_PACKET 1500
3435 #define ETH_HEADER_OTHER 32 /* just in case someone decides to go mad on QnQ */
36
+
37
+#define MAX_FILTER_PROG (2 << 16)
3538
3639 struct vector_queue {
3740 struct mmsghdr *mmsg_vector;
....@@ -116,13 +119,17 @@
116119 bool rexmit_scheduled;
117120 bool opened;
118121 bool in_write_poll;
122
+ bool in_error;
123
+
124
+ /* guest allowed to use ethtool flash to load bpf */
125
+ bool bpf_via_flash;
119126
120127 /* ethtool stats */
121128
122129 struct vector_estats estats;
123
- void *bpf;
130
+ struct sock_fprog *bpf;
124131
125
- char user[0];
132
+ char user[];
126133 };
127134
128135 extern int build_transport_data(struct vector_private *vp);