How to copy packet to controller

I would like to know how packet in and packet out are written in p4 to receive data packets in the controller, and how to connect an additional port of the switch to a controller written in Python in Mininet

And the flow rules written in the controller are usually written by oneself. I want to distribute the flow table through packet in and packet out methods

Hi @yizhiyuer

  1. Here you can find and example where pkt in and out are defined in P4 onos/pipelines/basic/src/main/resources/include/packet_io.p4 at dd5172e5a6e1ba5c7e17e2f497aa8c27a1ed33e9 · opennetworkinglab/onos · GitHub

  2. You can use a couple of veth , you can assign one of the to the switch an the other to the controller.

  3. I want to distribute the flow table through packet in and packet out methods , the flow rules that handel the pkt in and out are installled via the control plane protocol such as P4Runtime.

I would like to know if it is possible for me to configure a veth for the switch in topology.json and add a veth to my controller. py file based on the current situation. Because I think learning ONOs is very troublesome now, and I have some problems using ONOS to implement P4 in ipv6 based networks

I don’t know what contains topology.json and controller. py. But for sure you can add a veth to a bmv2 switch and sniff the traffic on it in python.

So is it necessary to pair a veth when adding a veth in BMv2