We currently treat network devices as available for use via the SNP API only if RX queue processing has been frozen. (This is similar in spirit to the way that RX queue processing is frozen for the network device currently exposed via the PXE API.) The default state of a freshly created network device is for the RX queue to not be frozen, and thus to be unavailable for use via SNP. This causes problems when devices are added through code paths other than _efidrv_start() (which explicitly releases devices for use via SNP). We don't actually need to freeze RX queue processing, since calls via the SNP API will always use netdev_poll() rather than net_poll(), and so will never trigger the RX queue processing code path anyway. We can therefore simplify the code to use a single global flag to indicate whether network devices are claimed for use by iPXE or available for use via SNP. Using a global flag allows the default state for dynamically created network devices to behave sensibly. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
22 |
|
22 |
|
23 |
|
23 |
|
24 |
|
24 |
|
25 |
|
|
|
26 |
|
25 |
|
27 |
|
26 |
|
28 |
|
27 |
|
|
|
||
43 |
|
42 |
|
44 |
|
43 |
|
45 |
|
44 |
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
|
49 |
|
45 |
|
50 |
|
46 |
|
|
|
||
24 |
|
24 |
|
25 |
|
25 |
|
26 |
|
26 |
|
|
27 |
|
|
27 |
|
28 |
|
28 |
|
29 |
|
29 |
|
30 |
|
|
|
||
45 |
|
46 |
|
46 |
|
47 |
|
47 |
|
48 |
|
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
48 |
|
52 |
|
49 |
|
53 |
|
50 |
|
54 |
|
|
|
||
52 |
|
56 |
|
53 |
|
57 |
|
54 |
|
58 |
|
|
59 |
|
|
55 |
|
60 |
|
56 |
|
61 |
|
57 |
|
62 |
|
|
|
||
78 |
|
78 |
|
79 |
|
79 |
|
80 |
|
80 |
|
81 |
|
|
|
82 |
|
|
|
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
|
85 |
|
|
|
86 |
|
|
|
87 |
|
|
|
88 |
|
|
|
89 |
|
|
|
90 |
|
|
|
91 |
|
|
|
92 |
|
|
|
93 |
|
|
|
94 |
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
83 |
|
98 |
|
84 |
|
99 |
|
|
|
||
26 |
|
26 |
|
27 |
|
27 |
|
28 |
|
28 |
|
|
29 |
|
|
29 |
|
30 |
|
30 |
|
31 |
|
31 |
|
32 |
|
|
|
||
63 |
|
64 |
|
64 |
|
65 |
|
65 |
|
66 |
|
|
67 |
|
|
|
68 |
|
|
66 |
|
69 |
|
67 |
|
70 |
|
68 |
|
71 |
|
|
|
||
147 |
|
150 |
|
148 |
|
151 |
|
149 |
|
152 |
|
|
153 |
|
|
150 |
|
154 |
|
151 |
|
155 |
|
152 |
|
156 |
|
|
|
||
67 |
|
67 |
|
68 |
|
68 |
|
69 |
|
69 |
|
|
70 |
|
|
|
71 |
|
|
|
72 |
|
|
70 |
|
73 |
|
71 |
|
74 |
|
72 |
|
75 |
|
|
|
||
83 |
|
86 |
|
84 |
|
87 |
|
85 |
|
88 |
|
86 |
|
|
|
|
89 |
|
|
87 |
|
90 |
|
88 |
|
91 |
|
89 |
|
92 |
|
|
|
||
162 |
|
165 |
|
163 |
|
166 |
|
164 |
|
167 |
|
165 |
|
|
|
|
168 |
|
|
166 |
|
169 |
|
167 |
|
170 |
|
168 |
|
171 |
|
|
|
||
184 |
|
187 |
|
185 |
|
188 |
|
186 |
|
189 |
|
187 |
|
|
|
|
190 |
|
|
188 |
|
191 |
|
189 |
|
192 |
|
190 |
|
193 |
|
|
|
||
212 |
|
215 |
|
213 |
|
216 |
|
214 |
|
217 |
|
215 |
|
|
|
|
218 |
|
|
216 |
|
219 |
|
217 |
|
220 |
|
218 |
|
221 |
|
|
|
||
242 |
|
245 |
|
243 |
|
246 |
|
244 |
|
247 |
|
245 |
|
|
|
|
248 |
|
|
246 |
|
249 |
|
247 |
|
250 |
|
248 |
|
251 |
|
|
|
||
272 |
|
275 |
|
273 |
|
276 |
|
274 |
|
277 |
|
275 |
|
|
|
|
278 |
|
|
276 |
|
279 |
|
277 |
|
280 |
|
278 |
|
281 |
|
|
|
||
309 |
|
312 |
|
310 |
|
313 |
|
311 |
|
314 |
|
312 |
|
|
|
|
315 |
|
|
313 |
|
316 |
|
314 |
|
317 |
|
315 |
|
318 |
|
|
|
||
335 |
|
338 |
|
336 |
|
339 |
|
337 |
|
340 |
|
338 |
|
|
|
|
341 |
|
|
339 |
|
342 |
|
340 |
|
343 |
|
341 |
|
344 |
|
|
|
||
372 |
|
375 |
|
373 |
|
376 |
|
374 |
|
377 |
|
375 |
|
|
|
|
378 |
|
|
376 |
|
379 |
|
377 |
|
380 |
|
378 |
|
381 |
|
|
|
||
424 |
|
427 |
|
425 |
|
428 |
|
426 |
|
429 |
|
427 |
|
|
|
|
430 |
|
|
428 |
|
431 |
|
429 |
|
432 |
|
430 |
|
433 |
|
|
|
||
461 |
|
464 |
|
462 |
|
465 |
|
463 |
|
466 |
|
464 |
|
|
|
|
467 |
|
|
465 |
|
468 |
|
466 |
|
469 |
|
467 |
|
470 |
|
|
|
||
484 |
|
487 |
|
485 |
|
488 |
|
486 |
|
489 |
|
487 |
|
|
|
|
490 |
|
|
488 |
|
491 |
|
489 |
|
492 |
|
490 |
|
493 |
|
|
|
||
583 |
|
586 |
|
584 |
|
587 |
|
585 |
|
588 |
|
586 |
|
|
|
|
589 |
|
|
587 |
|
590 |
|
588 |
|
591 |
|
589 |
|
592 |
|
|
|
||
695 |
|
698 |
|
696 |
|
699 |
|
697 |
|
700 |
|
698 |
|
|
|
|
701 |
|
|
699 |
|
702 |
|
700 |
|
703 |
|
701 |
|
704 |
|
|
|
||
759 |
|
762 |
|
760 |
|
763 |
|
761 |
|
764 |
|
762 |
|
|
|
|
765 |
|
|
763 |
|
766 |
|
764 |
|
767 |
|
765 |
|
768 |
|
|
|
||
1184 |
|
1187 |
|
1185 |
|
1188 |
|
1186 |
|
1189 |
|
1187 |
|
|
|
|
1190 |
|
|
1188 |
|
1191 |
|
|
1192 |
|
|
1189 |
|
1193 |
|
1190 |
|
|
|
1191 |
|
|
|
1192 |
|
|
|
1193 |
|
|
|
1194 |
|
|
|
1195 |
|
|
|
|
1194 |
|
|
|
1195 |
|
|
1196 |
|
1196 |
|
1197 |
|
|
|
1198 |
|
|
|
1199 |
|
|
|
1200 |
|
|
|
1201 |
|
|
|
1202 |
|
|
|
|
1197 |
|
|
|
1198 |
|
|
1203 |
|
1199 |
|
1204 |
|
|
|
1205 |
|
|
|
|
1200 |
|
|
|
1201 |
|
|
|
1202 |
|
|
1206 |
|
1203 |
|