This PR replace the use of forked golang arping library github.com/JacobTanenbaum/arping with github.com/mdlayher for both GARPs and ip to mac resolving, the new library do not has the issue originally fixed related to use of socke file descriptor at different golang routines.
The use of this library was discovering during live migration issue fix where we have to send a GARP with operator type reply, that it's not possible with arping library so the low level mdlayher/arp is used, this is the PR that generated the GARP with operator type reply:
coverage: 52.675% (-0.04%) from 52.716%
when pulling 04692a052efd2ef16e438ff8009d12285b26458d on qinqon:replace-arping
into 701b8e077c6d5639c45ad5cc41fbd4d8759ddc56 on ovn-org:master.
coverage: 52.7% (-0.03%) from 52.734%
when pulling c9af102107b681b91b0932b3982f1076ebbc00cf on qinqon:replace-arping
into 798eb141b427aaba1c909124a9c47acc38a3f1b4 on ovn-org:master.
What this PR does and why is it needed
This PR replace the use of forked golang arping library
github.com/JacobTanenbaum/arping
withgithub.com/mdlayher
for both GARPs and ip to mac resolving, the new library do not has the issue originally fixed related to use of socke file descriptor at different golang routines.Commit introducing the fork to fix the issue:
The use of this library was discovering during live migration issue fix where we have to send a GARP with operator type reply, that it's not possible with arping library so the low level mdlayher/arp is used, this is the PR that generated the GARP with operator type reply:
This is a code snippet where we can change the operation type