* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.openflowplugin.openflow.md.lldp;
+package org.opendaylight.openflowplugin.applications.tableMissEnforcer;
import java.math.BigInteger;
import java.util.ArrayList;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
/**
* Created by Martin Bobak mbobak@cisco.com on 8/27/14.
*/
-public class LLDPPAcketPuntEnforcer implements DataChangeListener {
+public class LLDPPacketPuntEnforcer implements DataChangeListener {
private static final short TABLE_ID = (short) 0;
private static final String LLDP_PUNT_WHOLE_PACKET_FLOW = "LLDP_PUNT_WHOLE_PACKET_FLOW";
private static final String DEFAULT_FLOW_ID = "42";
private final SalFlowService flowService;
- public LLDPPAcketPuntEnforcer(SalFlowService flowService) {
+ public LLDPPacketPuntEnforcer(SalFlowService flowService) {
this.flowService = flowService;
}
public void onDataChanged(AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> change) {
final Set<InstanceIdentifier<?>> changedDataKeys = change.getCreatedData().keySet();
- for (InstanceIdentifier<?> key : changedDataKeys) {
- AddFlowInputBuilder addFlowInput = new AddFlowInputBuilder(createFlow());
- addFlowInput.setNode(new NodeRef(key));
- this.flowService.addFlow(addFlowInput.build());
+ if (changedDataKeys != null) {
+ for (InstanceIdentifier<?> key : changedDataKeys) {
+ AddFlowInputBuilder addFlowInput = new AddFlowInputBuilder(createFlow());
+ addFlowInput.setNode(new NodeRef(key.firstIdentifierOf(Node.class)));
+ this.flowService.addFlow(addFlowInput.build());
+ }
}
}