Hello there,
I wrote a p4 program based on p4guide/flowcache that involves recirculation, packet_out and match-action table operations. It can pass the p4test
and p4c
without any problems. It works fine with the following part:
@controller_header("packet_in")
header packet_in_header_h {
PortIdToController_t input_port;
PuntReason_t punt_reason;
ControllerOpcode_t opcode;
}
But once I add a new field of bit-string (e.g. bit<(64*8)>
) into the packet_in_header, the controller python program will not receive the packet_in message. Is there any length limit in this area?
@controller_header("packet_in")
header packet_in_header_h {
PortIdToController_t ingress_port;
PuntReason_t punt_reason;
ControllerOpcode_t opcode;
bit<(64 * 8)> payload;
}
32*8
and 40*8
would works, but 64*8
failed.
Thanks!