我希望我的 OVS(与 OpenFlow14 一起运行)使用Ryu REST API为 ARP 添加流条目。这些 ARP 数据包应该像普通的 L2/3 交换机一样处理。
我的网桥设置br0
:
sudo ifconfig eth1 0
sudo ifconfig eth2 0
sudo ifconfig eth4 0
sudo ovs-vsctl add-br br0
sudo ovs-vsctl add-port br0 eth2
sudo ovs-vsctl add-port br0 eth4
sudo ovs-vsctl add-port br0 eth1
sudo ovs-vsctl set bridge br0 protocols=OpenFlow14
sudo ifconfig br0 192.168.101.1/24 up
现在,我想使用十六进制代码为 ARP 添加流条目以0xfffffffa
用于参考OpenFlow 1.4 规范的正常操作:
curl -X POST -d '{
"dpid":16267930820426,
"priority": 1,
"match":{
"eth_type":2054,
"in_port":3
},
"actions":[
{
"type":"OUTPUT",
"port":0xfffffffa
}
]
}' http://localhost:8080/stats/flowentry/add
但是,它只是设置带有动作删除的流条目:
cookie=0x0, duration=281.451s, table=0, n_packets=0, n_bytes=0, priority=1,arp,in_port=3 actions=drop
它在使用 OpenFlow10 时运行良好(使用适当的十六进制代码时)。但我需要切换到 OpenFlow14。
我也尝试使用字符串NORMAL
作为输出端口,但它不起作用。有谁知道出了什么问题?