We currently perform IPv6 stateless address autoconfiguration (SLAAC) in response to any router advertisement with the relevant flags set. This can result in the local IPv6 source address changing midway through a TCP connection, since our connections bind only to a local port number and do not store a local network address. In addition, this behaviour for SLAAC is inconsistent with that for DHCPv4 and stateful DHCPv6, both of which will be performed only as a result of an explicit autoconfiguration action (e.g. via the default autoboot sequence, or the "ifconf" command). Fix by ignoring router advertisements arriving outside the context of an ongoing autoconfiguration attempt. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
38 |
|
38 |
|
39 |
|
39 |
|
40 |
|
40 |
|
|
41 |
|
|
41 |
|
42 |
|
42 |
|
43 |
|
43 |
|
44 |
|
|
|
||
341 |
|
342 |
|
342 |
|
343 |
|
343 |
|
344 |
|
|
345 |
|
|
344 |
|
346 |
|
345 |
|
347 |
|
346 |
|
348 |
|
|
|
||
350 |
|
352 |
|
351 |
|
353 |
|
352 |
|
354 |
|
|
355 |
|
|
|
356 |
|
|
|
357 |
|
|
353 |
|
358 |
|
354 |
|
359 |
|
355 |
|
360 |
|
356 |
|
|
|
|
361 |
|
|
357 |
|
362 |
|
358 |
|
363 |
|
359 |
|
364 |
|
360 |
|
|
|
|
365 |
|
|
|
366 |
|
|
|
367 |
|
|
|
368 |
|
|
|
369 |
|
|
361 |
|
370 |
|
362 |
|
371 |
|
363 |
|
372 |
|
|
|
||
915 |
|
924 |
|
916 |
|
925 |
|
917 |
|
926 |
|
918 |
|
|
|
919 |
|
|
|
920 |
|
|
|
921 |
|
|
|
922 |
|
|
|
|
927 |
|
|
|
928 |
|
|
|
929 |
|
|
923 |
|
930 |
|
924 |
|
|
|
925 |
|
931 |
|
926 |
|
932 |
|
927 |
|
933 |
|