Some host implementations (notably Google Compute Platform) are known to unconditionally write back VIRTIO_NET_HDR_F_DATA_VALID to header->flags for received packets, regardless of the features negotiated by the driver. This breaks the transmit datapath by effectively setting an illegal flag for all subsequent transmitted packets. Work around this problem by using separate empty header buffers for the receive and transmit queues. Debugged-by: Ladi Prosek <lprosek@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
104 |
|
104 |
|
105 |
|
105 |
|
106 |
|
106 |
|
107 |
|
|
|
108 |
|
|
|
|
107 |
|
|
|
108 |
|
|
109 |
|
109 |
|
110 |
|
110 |
|
111 |
|
111 |
|
|
|
||
120 |
|
120 |
|
121 |
|
121 |
|
122 |
|
122 |
|
|
123 |
|
|
123 |
|
124 |
|
124 |
|
125 |
|
125 |
|
|
|
126 |
|
|
|
127 |
|
|
|
|
126 |
|
|
|
127 |
|
|
128 |
|
128 |
|
129 |
|
129 |
|
130 |
|
130 |
|
131 |
|
|
|
|
131 |
|
|
132 |
|
132 |
|
133 |
|
133 |
|
|
134 |
|
|
|
135 |
|
|
|
136 |
|
|
|
137 |
|
|
|
138 |
|
|
134 |
|
139 |
|
135 |
|
|
|
|
140 |
|
|
136 |
|
141 |
|
137 |
|
142 |
|
138 |
|
143 |
|