我是 SDN 和 ODL 的初学者,我正在尝试将 OpenFlow 流添加到 mininet 中的 OVS 交换机,但是当我检查 Wireshark 中的数据包时,流没有被反映。这是我的场景。
- 3 台具有线性拓扑的交换机和 3 台主机连接:sudo mn --topo linear --controller remote --switch ovsk,protocols=OpenFlow13
- ODL 控制器在与 mininet 相同的 VM 上运行
我想做的是手动配置 MPLS。例如,作为起点,我尝试为从 Host1 到 Host3 的数据包添加 MPLS 标签。我正在尝试使用 RESTCONF API 来完成此操作,并且我收到的请求的状态代码为 200(OK)。下面是 RESTCONF 请求的 XML 正文。
对于从 Switch1 端口 1 传入的 IP 数据包,将值为 12 的 MPLS 标签推送并从端口 2 转发出去: 0 0 0x8847 1 12 2 2 0 100 0x800 1 0 10 true 0 flow-action-push-mpls 220
URL = " http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table0/flow/100 "
标头 = {'content-type': 'application/xml','accept': 'application/json'}
请求类型 = PUT
身份验证 = 基本身份验证
然后,当我在交换机 1 的端口 2 上使用wireshark 检查数据包时,我看不到 MPLS 标头。
OpenFlow 和 RestConf 插件安装在 ODL 中。添加的流未作用于数据包的可能原因是什么?
PS。我使用包管理器安装了 mininet,而不是使用预构建的 VM。