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

Reply via email to