Jacob, I wont really be able to help debug this at the java level, but what do you see on the switch side and in karaf.log? Wondering if the flow is being sent down to the switch, which is rejecting it for some reason? Or possibly, the internal work hits some condition which would throw an Exception in karaf.log.
just some places to check for more clues. Thanks, JamO On 2/14/18 4:27 AM, Jacob Steadman wrote: > Hi, > > > > I had code that inserts flow rules in the switches once the feature is > installed at the controller. It was and still is > working fine for OF1.0 but I had to upgrade to OF1.3 to make use of multible > flow tables. > > > > If I replace the match so that the flow matches everything, the rule is > inserted fine so I’m assuming the match is what > creates the issue. > > > > private Flow blockFlow(Short tableId, int priority) { > > FlowBuilder Flow = new FlowBuilder() // /**Flow to hold DNS > rule*/ // > > .setTableId(tableId) // > > .setFlowName("DropDNSx"); > > > > Flow.setId(new FlowId(Long.toString(1333337))); /**Set flow ID*/ > > > > // Match on port and ip > > UdpMatch dnsPort = new UdpMatchBuilder().setUdpSourcePort(new > PortNumber(portNum)).build(); > > > > Ipv4MatchArbitraryBitMask SrcIp = new > Ipv4MatchArbitraryBitMaskBuilder().setIpv4SourceAddressNoMask(SrcIP).build(); > > > > Match Match = new > MatchBuilder().setLayer4Match(Port).setLayer3Match(SrcIp).build(); > > > > List<Action> actions = new ArrayList<>(); > > > > actions.add(getDropAction()); > > > > // Create an Apply Action > > ApplyActions applyActions = new ApplyActionsBuilder() // > > .setAction(ImmutableList.copyOf(actions)) // > > .build(); > > > > // Wrap our Apply Action in an Instruction > > Instruction applyActionsInstruction = new InstructionBuilder() // > > .setOrder(0) > > .setInstruction(new ApplyActionsCaseBuilder()// > > .setApplyActions(applyActions) // > > .build()) // > > .build(); > > > > // Put our Instruction in a list of Instructions > > Flow > > .setMatch(Match) // > > .setInstructions(new InstructionsBuilder() // > > > .setInstruction(ImmutableList.of(applyActionsInstruction)) // > > .build()) // > > .setPriority(priority) // > > .setBufferId(OFConstants.OFP_NO_BUFFER) // > > .setHardTimeout(flowHardTimeout) // > > .setIdleTimeout(flowIdleTimeout) // > > .setCookie(new > FlowCookie(BigInteger.valueOf(flowCookieInc.getAndIncrement()))) > > .setFlags(new FlowModFlags(false, false, false, false, false)); > > > > LOG.info("Jacob, flow blocked..."); > > > > return dnsxFlow.build(); > > } > > > _______________________________________________ > openflowplugin-dev mailing list > openflowplugin-dev@lists.opendaylight.org > https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev > _______________________________________________ openflowplugin-dev mailing list openflowplugin-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev