Committed by
Gerrit Code Review
[ONOS-3159] fix a concurrency issue in DHCPRelay.java
Change-Id: Ib9bc5d0f0e788ceabc5272a05ac52a6753a3a229
Showing
1 changed file
with
5 additions
and
1 deletions
... | @@ -384,6 +384,10 @@ public class DhcpRelay { | ... | @@ -384,6 +384,10 @@ public class DhcpRelay { |
384 | MacAddress descMac = new MacAddress(dhcpPayload.getClientHardwareAddress()); | 384 | MacAddress descMac = new MacAddress(dhcpPayload.getClientHardwareAddress()); |
385 | Host host = hostService.getHost(HostId.hostId(descMac, | 385 | Host host = hostService.getHost(HostId.hostId(descMac, |
386 | VlanId.vlanId(ethPacket.getVlanID()))); | 386 | VlanId.vlanId(ethPacket.getVlanID()))); |
387 | + //handle the concurrent host offline scenario | ||
388 | + if (host == null) { | ||
389 | + return; | ||
390 | + } | ||
387 | ConnectPoint dhcpRequestor = new ConnectPoint(host.location().elementId(), | 391 | ConnectPoint dhcpRequestor = new ConnectPoint(host.location().elementId(), |
388 | host.location().port()); | 392 | host.location().port()); |
389 | 393 | ||
... | @@ -414,4 +418,4 @@ public class DhcpRelay { | ... | @@ -414,4 +418,4 @@ public class DhcpRelay { |
414 | } | 418 | } |
415 | } | 419 | } |
416 | } | 420 | } |
417 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
421 | +} | ... | ... |
-
Please register or login to post a comment