In a busy network (such as a public cloud), IPv4 addresses may be recycled rapidly. When this happens, unidirectional traffic (such as UDP syslog) will succeed, but bidirectional traffic (such as TCP connections) may fail due to stale ARP cache entries on other nodes. The remote ARP cache expiry timeout is likely to exceed iPXE's connection timeout, meaning that boot attempts can fail before the problem is automatically resolved. Fix by sending gratuitous ARPs whenever an IPv4 address is changed, to attempt to update stale remote ARP cache entries. Note that this is not a guaranteed fix, since ARP is an unreliable protocol. We avoid sending gratuitous ARPs unconditionally, since otherwise any unrelated settings change (e.g. "set dns 192.168.0.1") would cause unexpected gratuitous ARPs to be sent. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
79 |
|
79 |
|
80 |
|
80 |
|
81 |
|
81 |
|
82 |
|
|
|
|
82 |
|
|
83 |
|
83 |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
|
|
|
84 |
|
|
|
85 |
|
|
|
86 |
|
|
87 |
|
87 |
|
88 |
|
88 |
|
89 |
|
89 |
|
|
|
||
96 |
|
96 |
|
97 |
|
97 |
|
98 |
|
98 |
|
99 |
|
|
|
|
99 |
|
|
100 |
|
100 |
|
101 |
|
101 |
|
102 |
|
102 |
|
|
|
||
114 |
|
114 |
|
115 |
|
115 |
|
116 |
|
116 |
|
117 |
|
|
|
|
117 |
|
|
118 |
|
118 |
|
119 |
|
119 |
|
120 |
|
120 |
|
|
|
||
812 |
|
812 |
|
813 |
|
813 |
|
814 |
|
814 |
|
815 |
|
|
|
|
815 |
|
|
816 |
|
816 |
|
|
817 |
|
|
|
818 |
|
|
|
819 |
|
|
|
820 |
|
|
817 |
|
821 |
|
818 |
|
822 |
|
819 |
|
|
|
820 |
|
|
|
821 |
|
|
|
|
823 |
|
|
|
824 |
|
|
|
825 |
|
|
|
826 |
|
|
|
827 |
|
|
|
828 |
|
|
|
829 |
|
|
|
830 |
|
|
|
831 |
|
|
|
832 |
|
|
|
833 |
|
|
|
834 |
|
|
|
835 |
|
|
|
836 |
|
|
|
837 |
|
|
|
838 |
|
|
|
839 |
|
|
|
840 |
|
|
|
841 |
|
|
|
842 |
|
|
|
843 |
|
|
|
844 |
|
|
|
845 |
|
|
|
846 |
|
|
|
847 |
|
|
|
848 |
|
|
|
849 |
|
|
|
850 |
|
|
|
851 |
|
|
|
852 |
|
|
|
853 |
|
|
|
854 |
|
|
|
855 |
|
|
822 |
|
856 |
|
823 |
|
857 |
|
824 |
|
858 |
|
825 |
|
859 |
|
826 |
|
860 |
|
|
861 |
|
|
827 |
|
862 |
|
828 |
|
|
|
829 |
|
|
|
830 |
|
|
|
831 |
|
|
|
832 |
|
|
|
|
863 |
|
|
833 |
|
864 |
|
|
865 |
|
|
|
866 |
|
|
834 |
|
867 |
|
|
868 |
|
|
835 |
|
869 |
|
836 |
|
870 |
|
837 |
|
871 |
|
838 |
|
872 |
|
839 |
|
873 |
|
|
874 |
|
|
840 |
|
875 |
|
841 |
|
876 |
|
|
877 |
|
|
842 |
|
878 |
|
843 |
|
879 |
|
844 |
|
880 |
|
|
|
||
849 |
|
885 |
|
850 |
|
886 |
|
851 |
|
887 |
|
|
888 |
|
|
852 |
|
889 |
|
853 |
|
890 |
|
854 |
|
|
|
855 |
|
|
|
856 |
|
|
|
857 |
|
|
|
858 |
|
|
|
|
891 |
|
|
|
892 |
|
|
|
893 |
|
|
|
894 |
|
|
859 |
|
895 |
|
860 |
|
896 |
|
861 |
|
897 |
|
862 |
|
898 |
|
863 |
|
899 |
|
|
900 |
|
|
|
901 |
|
|
|
902 |
|
|
|
903 |
|
|
|
904 |
|
|
|
905 |
|
|
|
906 |
|
|
|
907 |
|
|
|
908 |
|
|
|
909 |
|
|
|
910 |
|
|
|
911 |
|
|
|
912 |
|
|
|
913 |
|
|
|
914 |
|
|
|
915 |
|
|
|
916 |
|
|
|
917 |
|
|
|
918 |
|
|
|
919 |
|
|
|
920 |
|
|
|
921 |
|
|
|
922 |
|
|
|
923 |
|
|
864 |
|
924 |
|
865 |
|
925 |
|
866 |
|
926 |
|