1

カスタム トポロジと RYU-REST コントローラー「ofctl-rest.py」で Mininet を使用します。スイッチにいくつかのフローエントリをインストールし、ネットワークを介していくつかのパケットを送信し、トラフィックをキャプチャした後、スイッチが ip 層の ttl フィールドを減少させないことがわかりました。スイッチにttlフィールドを減らすように指示する必要があることがわかりました(これはOpenFlow-バージョン1.1以降で可能です)。そのために、"type": "DEC_NW_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 を削減できるようにするには、コマンドをどのように変更する必要がありますか? 私を助けてください。前もって感謝します。

4

2 に答える 2

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
于 2015-11-07T14:17:45.567 に答える