Software Defined Networking
1753835 Members
8295 Online
108806 Solutions
New Discussion

Re: Two instructions into an apply in a flowMod

 
sbotkine
Frequent Advisor

Two instructions into an apply in a flowMod

Hello, 

 

I need to create the following apply instruction in a FlowMod:

 

[{"apply_actions":[{"output":5}, {"output":4294967293}]}]

 

4294967293 is the controller port. 

 

With the following instructions:

 

Action action1 = ActionFactory.createAction(version, ActionType.OUTPUT, Port.CONTROLLER, ActOutput.CONTROLLER_NO_BUFFER);

Action action2 = ActionFactory.createAction(version, ActionType.OUTPUT, BigPortNumber.valueOf(5), ActOutput.CONTROLLER_NO_BUFFER);

InstrMutableAction apply = createMutableInstruction(PV,InstructionType.APPLY_ACTIONS);

 apply.addAction(action2);

apply.addAction(action1);

List<Instruction> ins = new ArrayList<Instruction>();

ins.add((Instruction) apply.toImmutable());

 

It doesn't work. 

 

However if I put  port 5 and port 9 (for example)

 

 

Action action1 = ActionFactory.createAction(version, ActionType.OUTPUT, BigPortNumber.valueOf(9), ActOutput.CONTROLLER_NO_BUFFER);

Action action2 = ActionFactory.createAction(version, ActionType.OUTPUT, BigPortNumber.valueOf(5), ActOutput.CONTROLLER_NO_BUFFER);

InstrMutableAction apply = createMutableInstruction(PV,InstructionType.APPLY_ACTIONS);

apply.addAction(action2);

apply.addAction(action1);

List<Instruction> ins = new ArrayList<Instruction>();

ins.add((Instruction) apply.toImmutable());

 

It works. 

 

Can you see a problem ?

 

Regards, 

 

Serge

 

PS:  [{"apply_actions":[{"output":5}, {"output":4294967293}]}]  works sometimes depending on the selected "Match" on the flowmod. With  a match like [{"eth_type":"arp"},{"arp_op":1}] it works, but for a match like   [{"eth_type":"ipv4"},{"ip_proto":"udp"},{"udp_dst":98}] it doesn't work.

 

6 REPLIES 6
ScottReeve
Advisor

Re: Two instructions into an apply in a flowMod

Serge,

Have you attempted the FlowMod in the RSDOC interface to see if you get the same behavior?

What switch (model and OS version) is this attempted on?

 

Scott

 

sdnindia
Trusted Contributor

Re: Two instructions into an apply in a flowMod

Hello Serge,

 

Doing a follow up to check if you get any chance to get relevant information as Scott had asked for.

If yes please do help us with the information requested in the earlier post from Scott  to take this further.

 

Please also let us know if you have already resolved the issue.

 

Thanks

HP SDN Team

Gerhard Roets
Esteemed Contributor

Re: Two instructions into an apply in a flowMod

Hi Serge

 

Out of curiosity on what kind of switch are you attempting it and what software version is it running ?

 

Kind Regards

Gerhard

sbotkine
Frequent Advisor

Re: Two instructions into an apply in a flowMod

switches are: HP 3500-24G and HP 3800-24G-2SFP.

version is KA.15.15.0006.

With CURL it works, the problem is from my contoler code. 

ScottReeve
Advisor

Re: Two instructions into an apply in a flowMod

Serge,

Can you obtain the following:

1) debug logging on the procurve switch

2) wireshark trace (of the communication between the switch and the controller)  This can be run on the controller.

 

Debugging on the switch:

 

debug destination session

debug openflow errors

debug openflow events

debug openflow packets

 

 

And can do the captures (debug and wireshark) for 1) a good case (like with CURL) and 2) a broken case?

 

Regards,

 

Scott

 

sdnindia
Trusted Contributor

Re: Two instructions into an apply in a flowMod

Hello Serge,

Doing a follow up to check if you get any chance to get relevant information as Scott had asked for.
If yes please do help us with the information requested in the earlier post from Scott  to take this further.

Please also let us know if you have already resolved the issue.

Thanks
HP SDN Team