import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FutureCallback;
public void writeFlow(NodeId nodeId,short tableId, Flow flow) {
TableBuilder tableBuilder = this.getTableForNode(nodeId, tableId);
if (!tableBuilder.getFlow().contains(flow)) {
- tableBuilder.getFlow().add(flow);
+ tableBuilder.getFlow().add(Preconditions.checkNotNull(flow));
}
}
flowMap.writeFlow(nodeId, TABLE_ID, dropFlow(Integer.valueOf(1), null));
- flowMap.writeFlow(nodeId, TABLE_ID, allowFromTunnel(nodeId));
+ NodeConnectorId tunPort = ctx.getSwitchManager().getTunnelPort(nodeId);
+ if (tunPort != null) {
+ flowMap.writeFlow(nodeId, TABLE_ID, allowFromTunnel(tunPort));
+ }
HashSet<CgPair> visitedPairs = new HashSet<>();
return flow.build();
}
- private Flow allowFromTunnel(NodeId nodeId) {
- NodeConnectorId tunPort =
- ctx.getSwitchManager().getTunnelPort(nodeId);
- if (tunPort == null)
- return null;
+ private Flow allowFromTunnel(NodeConnectorId tunPort) {
+
FlowId flowId = new FlowId("tunnelallow");
MatchBuilder mb = new MatchBuilder()