p4 cpu的交互

实验目的

控制交换机将包克隆到cpu,并接收和处理来自cpu的包

  1. 对于p4文件,需要处理来自cpu的包并且根据接收的端口号转发,如果不是来自cpu的包,将包发到cpu
  2. 对于拓扑文件,需要对交换机开启cpu接口
  3. 对于控制器,需要增加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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值