Хосты не могут пропинговать, когда поток ICMPv4 был сделан - PullRequest
0 голосов
/ 11 мая 2019

Я использую OpenDayLight в качестве контроллера OpenFlow, у меня есть 2 хоста, которые подключаются к маршрутизатору с поддержкой OpenFlow (wr1043ndv4), контроллер работает нормально, чтобы увидеть инвентаризацию топологии, но когда я хочу попробовать ping с одного хоста надругой я не могу.я уже выполнил поток согласно руководству ICMPv4

Согласно некоторому посту здесь, маска подсети для адреса назначения должна / 32, поэтому я помещаю поток, и он находится в таблице потоков, но хосты могут 'ting друг другу, я даже пытаюсь сделать маску подсети на хосте в / 32, чтобы соответствовать тому, что я вставил в поток, но все еще не работал.

здесь мой xml-код, который я немного изменилс сайта гида:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
    <strict>false</strict>
    <instructions>
        <instruction>
            <order>0</order>
            <apply-actions>
                <action>
                    <order>0</order>
                    <dec-nw-ttl/>
                </action>
            </apply-actions>
        </instruction>
    </instructions>
    <table_id>235</table_id>
    <id>100</id>
    <cookie_mask>255</cookie_mask>
    <match>
        <ethernet-match>
            <ethernet-type>
                <type>2048</type>
            </ethernet-type>
            <ethernet-destination>
                <address>e8:06:88:xx:xx:xx</address>
            </ethernet-destination>
            <ethernet-source>
                <address>e8:06:88:xx:xx:xx</address>
            </ethernet-source>
        </ethernet-match>
        <ipv4-source>192.168.1.100/32</ipv4-source>
        <ipv4-destination>192.168.5.100/32</ipv4-destination>
        <ip-match>
            <ip-protocol>1</ip-protocol>
            <ip-dscp>27</ip-dscp>
            <ip-ecn>3</ip-ecn>
        </ip-match>
        <icmpv4-match>
            <icmpv4-type>6</icmpv4-type>
            <icmpv4-code>3</icmpv4-code>
        </icmpv4-match>
        <in-port>3</in-port>
    </match>
    <hard-timeout>1200</hard-timeout>
    <cookie>11</cookie>
    <idle-timeout>3400</idle-timeout>
    <flow-name>flowicmp1</flow-name>
    <priority>2</priority>
</flow>

и вот результат, показанный в таблице потоков:

{
    "flow-node-inventory:table": [
        {
            "id": 235,
            "opendaylight-flow-table-statistics:flow-table-statistics": {
                "active-flows": 3,
                "packets-looked-up": 0,
                "packets-matched": 0
            },
            "flow": [
                {
                    "id": "100",
                    "priority": 2,
                    "opendaylight-flow-statistics:flow-statistics": {
                        "packet-count": 0,
                        "byte-count": 0,
                        "duration": {
                            "nanosecond": 589000000,
                            "second": 12
                        }
                    },
                    "table_id": 235,
                    "cookie_mask": 0,
                    "hard-timeout": 1200,
                    "match": {
                        "ethernet-match": {
                            "ethernet-source": {
                                "address": "e8:06:88:xx:xx:xx"
                            },
                            "ethernet-type": {
                                "type": 2048
                            },
                            "ethernet-destination": {
                                "address": "e8:06:88:xx:xx:xx"
                            }
                        },
                        "icmpv4-match": {
                            "icmpv4-code": 3,
                            "icmpv4-type": 6
                        },
                        "ip-match": {
                            "ip-dscp": 27,
                            "ip-protocol": 1,
                            "ip-ecn": 3
                        },
                        "ipv4-destination": "192.168.5.100/32",
                        "ipv4-source": "192.168.1.100/32",
                        "in-port": "3"
                    },
                    "cookie": 11,
                    "flags": "",
                    "instructions": {
                        "instruction": [
                            {
                                "order": 0,
                                "apply-actions": {
                                    "action": [
                                        {
                                            "order": 0,
                                            "dec-nw-ttl": {}
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "idle-timeout": 3400
                },

Что я сделал не так?я ожидаю, что хосты смогут пинговать друг друга после того, как я запустил этот поток.

1 Ответ

0 голосов
/ 12 мая 2019

действие вашего потока, похоже, просто уменьшает значение ttl.Вы хотите, чтобы действие было перенаправлять из другого порта?

также, вывод, который вы дали для таблицы потоков, поступающей из хранилища данных конфигурации, или операционный?если вы добавите поток (например, через REST), он окажется в хранилище данных конфигурации.Однако, если поток никогда не запрограммирован на переключателе openflow, он не попадет в оперативное хранилище данных.Оперативное хранилище данных отражает фактическое состояние сети, тогда как хранилище данных конфигурации отражает «желаемое» состояние.

...