あお日記

理系研究者のブログです。勉強したことや本の感想などを中心に残して行くつもりです。

Ryuでパケットをドロップする方法

Openflow ControllerであるRyuを触っていて特定の条件にマッチしたパケットをドロップする方法が分からなかったので調べた。

見つけたMailing Listにはactionsをemptyにしろとある。

> I want to install rules on switches to drop packets coming from a specific
> IP address.. I checked all OFPP actions, but could not find and action
> similar to "drop".. so I would like to have any advices to deal drop
> action..
IIRC, a match with empty actions drops a matched packet.

http://sourceforge.net/p/ryu/mailman/message/31977966/

実際には下のようにactionsに[]を使用する事でできた。
add_flowのactionsの部分に直接[]を記述しても良いみたい。

    match = parser.OFPMatch(eth_type=0x806, in_port=in_port, arp_spa='192.168.1.1')
    actions = []
    self.add_flow(datapath, 1, match, actions)