Hi Quoc, thanks a lot for clarifying this. I did try to add the flow with the default priority but that didn't work either. It seems that the two first flows are always prioritized over the one that I'm adding. It only works when I lower the priorities of the first two flows.

Is there any way to add the new flow and override the others without having to modify their priorities?

Thanks!
Giorgos

On 29/08/18 01:06, quockhanh...@gmail.com wrote:

Hi Giorgos,

From your flow table, it’s very likely that the flow entry you used to drop traffic between 2 hosts has a lower priority (=100) than the priorities of the other 2 entries (*default priority*). As mentioned in this <http://www.openvswitch.org/support/dist-docs/ovs-ofctl.8.html>, “when adding a flow, if the field is not specified, *the flow's priority will default to 32768*.” Therefore, incoming packets will always be matched and forwarded between h1 and h2 by the first 2 flow entries instead of being drop by the last one.

Hope it helps.

Regards,

Quoc Khanh

*From: *Giorgos Dimopoulos <mailto:gior...@talaia.io>
*Sent: *Tuesday, 28 August 2018 10:55 PM
*To: *ryu-devel@lists.sourceforge.net <mailto:ryu-devel@lists.sourceforge.net> *Subject: *[Ryu-devel] Rule to drop traffic between hosts in mininet doesn'twork

Hello,

I'm running mininet with the following configuration:

sudo mn --topo single,2 --mac --controller remote --switch

ovs,protocols=OpenFlow10

on the host computer I'm running ryu with simple_switch and ofct_rest:

ryu-manager --verbose --app-lists ryu.app.simple_switch,ryu.app.ofctl_rest

then I'm using the REST API to block all traffic from h1 to h2:

curl -X POST -d '{

    "dpid": 1,

    "cookie": 0,

    "table_id": 0,

    "priority": 100,

    "flags": 1,

    "match":{

        "nw_src": "10.0.0.1/32",

        "nw_dst": "10.0.0.2/32",

        "dl_type": 2048

    },

    "actions":[

    ]

 }' http://localhost:8080/stats/flowentry/add

in mininet the OF rule appears correctly:

mininet> sh ovs-ofctl -O OpenFlow10 dump-flows s1

 cookie=0x0, duration=40.692s, table=0, n_packets=4, n_bytes=336,

in_port="s1-eth1",dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02

actions=output:"s1-eth2"

 cookie=0x0, duration=40.687s, table=0, n_packets=3, n_bytes=238,

in_port="s1-eth2",dl_src=00:00:00:00:00:02,dl_dst=00:00:00:00:00:01

actions=output:"s1-eth1"

 cookie=0x0, duration=5.286s, table=0, n_packets=0, n_bytes=0,

priority=100,ip,nw_src=10.0.0.1,nw_dst=10.0.0.2 actions=drop

but the rule doesn't work since h1 can still ping h2:

mininet> h1 ping h2

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.

64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.496 ms

64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.061 ms

64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.065 ms

am I missing something here?

Thanks in advance!

Giorgos

------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most

engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________

Ryu-devel mailing list

Ryu-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/ryu-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to