2015-10-23 52 views
1

我使用Mininet自定義拓撲和RYU-REST控制器「ofctl-rest.py」。在交換機中安裝了一些flowentry之後,通過網絡發送一些數據包並捕獲流量,我認識到交換機不會減少ip層中的ttl-field。我發現我必須告訴開關減少ttl字段(這可能是OpenFlow以來的版本1.1)。爲此,我嘗試「type」行:「DEC_NW_TTL」,但它不起作用。我的完成命令如下所示:如何在OpenFlow交換機上減少ttl開關?

curl -X POST -d '{ 
    "dpid": 1, 
    "cookie": 1, 
    "cookie_mask": 1, 
    "table_id": 0, 
    "idle_timeout": 3600, 
    "hard_timeout": 3600, 
    "priority": 0, 
    "flags": 1, 
    "match":{ 
     "in_port": 1 
    }, 
    "actions":[ 
     { 
      "type":"OUTPUT", 
      "port": 4, 
      "type":"DEC_NW_TTL" 
     } 
    ] 
}' http://localhost:8080/stats/flowentry/add 

我該怎麼做?如何修改命令讓交換機減少ttl?請幫幫我。 預先感謝您。

回答

0

我認爲你必須指定多個動作。你也應該改變行動的順序。首先,您需要減少TTL,然後將數據包發送出去。先發送數據包然後遞減不起作用。

我會嘗試這種方式:

curl -X POST -d '{ 
    "dpid": 1, 
    "cookie": 1, 
    "cookie_mask": 1, 
    "table_id": 0, 
    "idle_timeout": 3600, 
    "hard_timeout": 3600, 
    "priority": 0, 
    "flags": 1, 
    "match":{ 
     "in_port": 1 
    }, 
    "actions":[ 
     { 
      "type":"DEC_NW_TTL" 
     }, 
     { 
      "type":"OUTPUT", 
      "port": 4 
     } 
    ] 
}' http://localhost:8080/stats/flowentry/add