Openflow and floodlight: static flow on ARP ether-type 0x806

hello,
this is my first post in the forum, but have been using RouterOS since 2007.

We are now working on a project involving Openflow.

I am using floodlight as a controller. Question: i have the same static flow definition pushed to floodlight, in case 1 using a Mininet environment and Open vSwitch, and in case 2 using an RB450G, RouterOS 6.1 openflow package.

The static flow shall match “ether-type”:“0x806” packet types, i.e. ARP protocol, i guess. The flow is matched and perfectly works in case 1 but not case 2.

Specifically, i am testing the circuitpusher.py python script of floodlight. It works on Mininet, does NOT work on RB450G.

Any hints?

Thanks for your attention
giuseppe

Do you see the flow in Floodlight?

What does /openflow flow print show?

thank you for your attention!

yes the flows show up in Floodlight as follows:
Cookie Priority Match Action Packets Bytes Age Timeout
-1004307722 32767 port=2, ethertype=0x0806, IP src port=0, IP dest port=0 output 1 0 0 7167 s 0 s
-1004307932 32767 port=1, ethertype=0x0806, IP src port=0, IP dest port=0 output 2 0 0 7167 s 0 s

and the curl command was:
curl -s -d ‘{“switch”: “00:01:00:0c:42:d1:c2:b2”, “name”:“pippo21”, “ether-type”:“0x806”, “ingress-port”:“2”, “active”:“true”, “actions”:“output=1”}’ http://127.0.0.1:8080/wm/staticflowentrypusher/json
(and symmetrical for the other flow)

yes the flows do show up in the routerboard as such:
[admin@MikroBoss] > /openflow flow print terse
0 switch=mikroboss version=1 match=inport:2 dltype:0x806 tpsrc:0 tpdst:0 actions=output:1 info=priority 32767, idletimeout 0, hardtimeout 0, cookie 18446744072705243894, removenotify 0
1 switch=mikroboss version=1 match=inport:1 dltype:0x806 tpsrc:0 tpdst:0 actions=output:2 info=priority 32767, idletimeout 0, hardtimeout 0, cookie 18446744072705243684, removenotify 0

but they do not catch any packets when pinging…

What do you mean they don’t catch any flows when pinging? Are you saying you expect to see ARP for the relevant end-point but don’t see it or that the ping doesn’t work? If the latter, do you have a flow for ICMP?

the problem is that the packet counters of the ARP 0x806 flows defined above do not increment when ARP traffic is flowing.

ping doesn’t work, even if i set additional flow for ICMP (or even if i set additional more generic flow for all traffic coming from a specific port to be switched to a specific output port).