Hi,

I have 2 openvswitches: OVS1 and OVS2

OVS1,  port 3 is connected to OVS2's port 3

so, I set up a rule, saying traffic_matching_some_condition, when received
on port 3 send it back to port 3 (for both the switches, in pyswitch,
handle packet in).

The above should in theory, cause a packet to ping pong between the two
interfaces until the hard time out. --> essentially, it's forcibly creating
a loop.


I achieve this by setting -> out_port = 3 (instead of prt[0] for the
matching flow) in pyswitch.
actions = [[openflow.OFPAT_OUTPUT, [0, out_port]]]
            inst.install_datapath_flow(dpid, flow, CACHE_TIMEOUT,
openflow.OFP_FLOW_PERMANENT,
                                actions, bufid,
openflow.OFP_DEFAULT_PRIORITY, inport, buf)


When I look at Flow Mod for this flow, it correctly sets the port to 3.

The problem is that the actual  packet is not being sent by the switch back
to the port on which it was received.

On wireshark, I see that number of packets on each switch is same as number
of packets generated by one client host connected to one of the switches.

Is there a mechanism to prevent such looping in the openv switch or am i
doing something wrong ?

Regards,
Vishal

Reply via email to