Openflow Swicth не выдвигает тег MPLS.(OpenDayLight) - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть следующая линейная архитектура SDN с контроллером ODL:

Host1 -- ZodiacFX1 -- ZodiacFX2 --- Host2

Я использую 2 ноутбука в качестве хостов и 2 переключателя открытого потока ZodiacFX.

Я хочу, чтобы ZodiacFX1 выдвинулТег MPLS для всех IP-пакетов, полученных от Host1 и ZodiacFX2, для извлечения тега MPLS и отправки IP-пакетов на Host2.

Я добавил поток для передачи MPLS на ZodiacFX1, и я вижупоток активен в ZodiacFX1, а также в оперативном хранилище данных ODL.Но если я пингую h1-> h2, то пуша нет.

Поток такой:

ПРИМЕЧАНИЕ: (Host1 подключен к порту 1 ZodiacFX1, а порт ZodiacFX1 подключен к порту ZodiacFX2 port1.)

 GET  http://192.168.21.147:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:123917682137538/table/2

{
"flow-node-inventory:table": [
    {
        "id": 2,
        "opendaylight-flow-table-statistics:flow-table-statistics": {
            "active-flows": 1,
            "packets-looked-up": 0,
            "packets-matched": 0
        },
        "flow": [
            {
                "id": "125",
                "idle-timeout": 0,
                "cookie": 401,
                "flags": "",
                "hard-timeout": 0,
                "instructions": {
                    "instruction": [
                        {
                            "order": 0,
                            "apply-actions": {
                                "action": [
                                    {
                                        "order": 2,
                                        "output-action": {
                                            "output-node-connector": "2",
                                            "max-length": 0
                                        }
                                    },
                                    {
                                        "order": 1,
                                        "set-field": {
                                            "protocol-match-fields": {
                                                "mpls-label": 27
                                            }
                                        }
                                    },
                                    {
                                        "order": 0,
                                        "push-mpls-action": {
                                            "ethernet-type": 34887
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                },
                "cookie_mask": 0,
                "opendaylight-flow-statistics:flow-statistics": {
                    "duration": {
                        "nanosecond": 0,
                        "second": 7
                    },
                    "byte-count": 0,
                    "packet-count": 0
                },
                "priority": 0,
                "table_id": 2,
                "match": {
                    "in-port": "1",
                    "ethernet-match": {
                        "ethernet-type": {
                            "type": 2048
                        }
                    }
                }
            },
            {
                "id": "124",
                "idle-timeout": 0,
                "cookie": 401,
                "flags": "",
                "hard-timeout": 0,
                "instructions": {
                    "instruction": [
                        {
                            "order": 0,
                            "apply-actions": {
                                "action": [
                                    {
                                        "order": 2,
                                        "output-action": {
                                            "output-node-connector": "2",
                                            "max-length": 0
                                        }
                                    },
                                    {
                                        "order": 1,
                                        "set-field": {
                                            "protocol-match-fields": {
                                                "mpls-label": 27
                                            }
                                        }
                                    },
                                    {
                                        "order": 0,
                                        "push-mpls-action": {
                                            "ethernet-type": 34887
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                },
                "cookie_mask": 0,
                "opendaylight-flow-statistics:flow-statistics": {
                    "duration": {
                        "nanosecond": 0,
                        "second": 180
                    },
                    "byte-count": 0,
                    "packet-count": 0
                },
                "priority": 8,
                "table_id": 2,
                "match": {
                    "in-port": "1",
                    "ethernet-match": {
                        "ethernet-type": {
                            "type": 2048
                        }
                    }
                }
            }
        ]
    }
]
}

И я тоже вижу в интерфейсе консоли Zodiac:

Flow 6
 Match:
  In Port: 1
  ETH Type: IPv4
 Attributes:
  Table ID: 2                           Cookie:0x191
  Priority: 8                           Duration: 247 secs
 Hard Timeout: 0 secs                  Idle Timeout: 0 secs
  Byte Count: 0                 Packet Count: 0
  Last Match: 00:04:07
  Instructions:
  Apply Actions:
   Push MPLS tag
   Set MPLS Label: 27
   Output Port: 2

В чем может быть проблема?Я думаю, что основная проблема заключается в том, что в этом случае Zodiac следует этому потоку, я тоже попробовал свой поток с приоритетом 0, и MPLS не происходит.

Flow 5
Match:
In Port: 1
 Attributes:
 Table ID: 0                           Cookie:0x2b00000000000008
 Priority: 2                           Duration: 2845 secs
 Hard Timeout: 0 secs                  Idle Timeout: 0 secs
 Byte Count: 576265                    Packet Count: 5246
 Last Match: 00:00:00
Instructions:
 Apply Actions:
Output Port: 3
Output Port: 2
Output: CONTROLLER

1 Ответ

0 голосов
/ 26 апреля 2018

похоже, что у вас есть какое-то другое приложение (возможно, это l2switch), которое также передает потоки на ваши коммутаторы.Может быть, просто установите openflowplugin и попробуйте.

также попробуйте поместить ваши потоки mpls в таблицу 0 вместо таблицы 2.

...