.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2002 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
---|
3 | | - * Licensed under the GPL |
---|
4 | 4 | */ |
---|
5 | 5 | |
---|
6 | 6 | #ifndef __UM_VECTOR_KERN_H |
---|
.. | .. |
---|
29 | 29 | #define VECTOR_TX (1 << 1) |
---|
30 | 30 | #define VECTOR_BPF (1 << 2) |
---|
31 | 31 | #define VECTOR_QDISC_BYPASS (1 << 3) |
---|
| 32 | +#define VECTOR_BPF_FLASH (1 << 4) |
---|
32 | 33 | |
---|
33 | 34 | #define ETH_MAX_PACKET 1500 |
---|
34 | 35 | #define ETH_HEADER_OTHER 32 /* just in case someone decides to go mad on QnQ */ |
---|
| 36 | + |
---|
| 37 | +#define MAX_FILTER_PROG (2 << 16) |
---|
35 | 38 | |
---|
36 | 39 | struct vector_queue { |
---|
37 | 40 | struct mmsghdr *mmsg_vector; |
---|
.. | .. |
---|
116 | 119 | bool rexmit_scheduled; |
---|
117 | 120 | bool opened; |
---|
118 | 121 | bool in_write_poll; |
---|
| 122 | + bool in_error; |
---|
| 123 | + |
---|
| 124 | + /* guest allowed to use ethtool flash to load bpf */ |
---|
| 125 | + bool bpf_via_flash; |
---|
119 | 126 | |
---|
120 | 127 | /* ethtool stats */ |
---|
121 | 128 | |
---|
122 | 129 | struct vector_estats estats; |
---|
123 | | - void *bpf; |
---|
| 130 | + struct sock_fprog *bpf; |
---|
124 | 131 | |
---|
125 | | - char user[0]; |
---|
| 132 | + char user[]; |
---|
126 | 133 | }; |
---|
127 | 134 | |
---|
128 | 135 | extern int build_transport_data(struct vector_private *vp); |
---|