svn commit: r344281 - stable/12/sys/netinet
Kristof Provost
kp at FreeBSD.org
Tue Feb 19 18:22:56 UTC 2019
Author: kp
Date: Tue Feb 19 18:22:55 2019
New Revision: 344281
URL: https://svnweb.freebsd.org/changeset/base/344281
Log:
MFC r344061:
garp: Fix vnet related panic for gratuitous arp
Gratuitous ARP packets are sent from a timer, which means we don't have a vnet
context set. As a result we panic trying to send the packet.
Set the vnet context based on the interface associated with the interface
address.
To reproduce:
sysctl net.link.ether.inet.garp_rexmit_count=2
ifconfig vtnet1 10.0.0.1/24 up
PR: 235699
Reviewed by: vangyzen@
Modified:
stable/12/sys/netinet/if_ether.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/netinet/if_ether.c
==============================================================================
--- stable/12/sys/netinet/if_ether.c Tue Feb 19 17:38:24 2019 (r344280)
+++ stable/12/sys/netinet/if_ether.c Tue Feb 19 18:22:55 2019 (r344281)
@@ -1345,6 +1345,8 @@ garp_rexmit(void *arg)
return;
}
+ CURVNET_SET(ia->ia_ifa.ifa_ifp->if_vnet);
+
/*
* Drop lock while the ARP request is generated.
*/
@@ -1372,6 +1374,8 @@ garp_rexmit(void *arg)
ifa_free(&ia->ia_ifa);
}
}
+
+ CURVNET_RESTORE();
}
/*
More information about the svn-src-all
mailing list