From 41dde700508061b70f10ca825deefed74d8fe8c0 Mon Sep 17 00:00:00 2001 From: Yi Tseng Date: Thu, 2 Nov 2017 15:21:10 -0700 Subject: [PATCH] [CORD-2198] Incorrect packet requests for dhcpv6 relay Change-Id: I235387925ee1be66ff106365a6c883855d1cc68b --- .../dhcprelay/Dhcp6HandlerImpl.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java index b4d2176407..d816a96ed5 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java @@ -1390,6 +1390,20 @@ public class Dhcp6HandlerImpl implements DhcpHandler, HostProvider { packetService.cancelPackets(indirectClientSelector, PacketPriority.CONTROL, appId); + indirectClientSelector = + DefaultTrafficSelector.builder(SERVER_RELAY_SELECTOR) + .matchIPv6Dst(Ip6Address.ALL_DHCP_RELAY_AGENTS_AND_SERVERS.toIpPrefix()) + .build(); + packetService.cancelPackets(indirectClientSelector, + PacketPriority.CONTROL, + appId); + indirectClientSelector = + DefaultTrafficSelector.builder(SERVER_RELAY_SELECTOR) + .matchIPv6Dst(Ip6Address.ALL_DHCP_SERVERS.toIpPrefix()) + .build(); + packetService.cancelPackets(indirectClientSelector, + PacketPriority.CONTROL, + appId); // Packet comes from client packetService.cancelPackets(CLIENT_SERVER_SELECTOR, @@ -1406,6 +1420,20 @@ public class Dhcp6HandlerImpl implements DhcpHandler, HostProvider { packetService.requestPackets(indirectClientSelector, PacketPriority.CONTROL, appId); + indirectClientSelector = + DefaultTrafficSelector.builder(SERVER_RELAY_SELECTOR) + .matchIPv6Dst(Ip6Address.ALL_DHCP_RELAY_AGENTS_AND_SERVERS.toIpPrefix()) + .build(); + packetService.requestPackets(indirectClientSelector, + PacketPriority.CONTROL, + appId); + indirectClientSelector = + DefaultTrafficSelector.builder(SERVER_RELAY_SELECTOR) + .matchIPv6Dst(Ip6Address.ALL_DHCP_SERVERS.toIpPrefix()) + .build(); + packetService.requestPackets(indirectClientSelector, + PacketPriority.CONTROL, + appId); // Packet comes from client packetService.requestPackets(CLIENT_SERVER_SELECTOR,