实验目的
控制交换机将包克隆到cpu,并接收和处理来自cpu的包
- 对于p4文件,需要处理来自cpu的包并且根据接收的端口号转发,如果不是来自cpu的包,将包发到cpu
- 对于拓扑文件,需要对交换机开启cpu接口
- 对于控制器,需要增加cpu_seesion,并且监听包的接收,然后解析包的结构并将数据发送回交换机
建立拓扑时,交换机的最后一个接口会与cpu相连
cpu接收封包发送封包的方法如下
import nnpy
import struct
from scapy.all import sniff, Packet, BitField, raw
from p4utils.utils.helper import load_topo
from p4utils.utils.sswitch_p4runtime_API import SimpleSwitchP4RuntimeAPI
from p4utils.utils.sswitch_thrift_API import SimpleSwitchThriftAPI
from scapy.layers.l2 import Ether
from scapy.sendrecv import sendp
class CpuInHeader(Packet):
name = "cpu_in"
fields_desc = [
BitField("ingress_port", 0, 9),
BitField("_pad", 0, 7)
]
class CpuOutHeader(Packet)

最低0.47元/天 解锁文章
35

被折叠的 条评论
为什么被折叠?



