Overall the structure looks fine to me except that I could not find definition 
of some variables, which I am sure you would have taken care.
Apart from looking at the logs what JamO mentioned, it would be great if you 
could attach a Wireshark onto the 6653 port and see if the flow is sent over 
the wire, and possibly why the ovs(I assume) is rejecting it.

Eg restconf xml : 
https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin::End_to_End_Inventory
 
<https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin::End_to_End_Inventory>

thanks
Shuva
 
> On 15-Feb-2018, at 12:53 AM, Jamo Luhrsen <jluhr...@gmail.com> wrote:
> 
> 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

_______________________________________________
openflowplugin-dev mailing list
openflowplugin-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to