| #include <stdio.h> |
| #include <string.h> |
| #include <stdlib.h> |
| |
| const char * p4_table_name_lookup(int pipe, int stage, int table_index) |
| { |
| switch(stage) { |
| case 2: |
| { |
| switch(table_index) { |
| case 0: |
| { |
| return "ingress_port_count_table"; |
| } |
| break; |
| case 1: |
| { |
| return "egress_port_count_table"; |
| } |
| break; |
| } |
| } |
| break; |
| case 0: |
| { |
| switch(table_index) { |
| case 1: |
| { |
| return "process_packet_out_table"; |
| } |
| break; |
| case 0: |
| { |
| return "table0"; |
| } |
| break; |
| } |
| } |
| break; |
| case 1: |
| { |
| switch(table_index) { |
| case 0: |
| { |
| return "ecmp_group_table"; |
| } |
| break; |
| } |
| } |
| break; |
| |
| } |
| |
| return "P4 table not valid"; |
| } |
| |
| const char * p4_phv_name_lookup (int pipe, int stage, int container) |
| { |
| switch (stage) { |
| case 0: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 1: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 2: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 3: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 4: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 5: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 6: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 7: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 8: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 9: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 10: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| case 11: |
| { |
| switch(container) { |
| case 0 : |
| { |
| return "I [POV[31:0]]"; |
| } |
| break; |
| case 1 : |
| { |
| return "I [ipv4.protocol, ipv4.hdrChecksum, ipv4.srcAddr[31:24]]"; |
| } |
| break; |
| case 2 : |
| { |
| return "I [ipv4.dstAddr]"; |
| } |
| break; |
| case 3 : |
| { |
| return "I [tcp.dstPort[7:0], tcp.seqNo[31:8]]"; |
| } |
| break; |
| case 4 : |
| { |
| return "I [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 5 : |
| { |
| return "I [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 64 : |
| { |
| return "I [ipv4.srcAddr[23:16]]"; |
| } |
| break; |
| case 65 : |
| { |
| return "I [tcp.srcPort[15:8], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 66 : |
| { |
| return "I [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 67 : |
| { |
| return "I [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 68 : |
| { |
| return "I [POV[39:32]]"; |
| } |
| break; |
| case 69 : |
| { |
| return "I [ig_intr_md_for_tm.drop_ctl]"; |
| } |
| break; |
| case 80 : |
| { |
| return "E [eg_intr_md._pad7, eg_intr_md.egress_cos]"; |
| } |
| break; |
| case 81 : |
| { |
| return "E [POV[7:0]]"; |
| } |
| break; |
| case 128 : |
| { |
| return "I [ig_intr_md.resubmit_flag, ig_intr_md._pad1, ig_intr_md._pad2, ig_intr_md._pad3, ig_intr_md.ingress_port]"; |
| } |
| break; |
| case 129 : |
| { |
| return "I [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| case 130 : |
| { |
| return "I [ig_intr_md_for_tm.ucast_egress_port]"; |
| } |
| break; |
| case 131 : |
| { |
| return "I [ipv4.srcAddr[15:0]]"; |
| } |
| break; |
| case 132 : |
| { |
| return "I [tcp.srcPort[7:0], tcp.dstPort[15:8]]"; |
| } |
| break; |
| case 133 : |
| { |
| return "I [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 134 : |
| { |
| return "I [ethernet.etherType]"; |
| } |
| break; |
| case 135 : |
| { |
| return "I [ecmp_metadata.group_id]"; |
| } |
| break; |
| case 136 : |
| { |
| return "I [ecmp_metadata.selector]"; |
| } |
| break; |
| case 144 : |
| { |
| return "E [eg_intr_md._pad0, eg_intr_md.egress_port]"; |
| } |
| break; |
| case 256 : |
| { |
| return "I [ipv4.identification[7:0], ipv4.flags, ipv4.fragOffset, ipv4.ttl]"; |
| } |
| break; |
| case 257 : |
| { |
| return "I [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 258 : |
| { |
| return "I [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 260 : |
| { |
| return "E [ipv4.ttl, ipv4.protocol, ipv4.hdrChecksum]"; |
| } |
| break; |
| case 261 : |
| { |
| return "E [ipv4.srcAddr]"; |
| } |
| break; |
| case 262 : |
| { |
| return "E [ipv4.dstAddr]"; |
| } |
| break; |
| case 263 : |
| { |
| return "E [tcp.ackNo, udp.length_, udp.checksum]"; |
| } |
| break; |
| case 264 : |
| { |
| return "E [tcp.dataOffset, tcp.res, tcp.ecn, tcp.ctrl, tcp.window]"; |
| } |
| break; |
| case 265 : |
| { |
| return "E [tcp.checksum, tcp.urgentPtr]"; |
| } |
| break; |
| case 266 : |
| { |
| return "E [ethernet.dstAddr[39:8]]"; |
| } |
| break; |
| case 267 : |
| { |
| return "E [ethernet.srcAddr[31:0]]"; |
| } |
| break; |
| case 288 : |
| { |
| return "I [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 289 : |
| { |
| return "I [tcp.seqNo[7:0], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 292 : |
| { |
| return "E [ipv4.version, ipv4.ihl]"; |
| } |
| break; |
| case 293 : |
| { |
| return "E [ipv4.diffserv]"; |
| } |
| break; |
| case 294 : |
| { |
| return "E [tcp.srcPort[15:8], udp.srcPort[15:8]]"; |
| } |
| break; |
| case 295 : |
| { |
| return "E [tcp.srcPort[7:0], udp.srcPort[7:0]]"; |
| } |
| break; |
| case 296 : |
| { |
| return "E [ethernet.dstAddr[47:40]]"; |
| } |
| break; |
| case 297 : |
| { |
| return "E [ethernet.srcAddr[39:32]]"; |
| } |
| break; |
| case 320 : |
| { |
| return "I [ipv4.diffserv, ipv4.totalLen[15:8]]"; |
| } |
| break; |
| case 321 : |
| { |
| return "I [ipv4.totalLen[7:0], ipv4.identification[15:8]]"; |
| } |
| break; |
| case 322 : |
| { |
| return "I [tcp.ackNo[31:16], udp.dstPort]"; |
| } |
| break; |
| case 323 : |
| { |
| return "I [tcp.ackNo[15:0]]"; |
| } |
| break; |
| case 326 : |
| { |
| return "E [ipv4.totalLen]"; |
| } |
| break; |
| case 327 : |
| { |
| return "E [ipv4.identification]"; |
| } |
| break; |
| case 328 : |
| { |
| return "E [ipv4.flags, ipv4.fragOffset]"; |
| } |
| break; |
| case 329 : |
| { |
| return "E [tcp.dstPort, udp.dstPort]"; |
| } |
| break; |
| case 330 : |
| { |
| return "E [tcp.seqNo[31:16]]"; |
| } |
| break; |
| case 331 : |
| { |
| return "E [tcp.seqNo[15:0]]"; |
| } |
| break; |
| case 332 : |
| { |
| return "E [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]"; |
| } |
| break; |
| case 333 : |
| { |
| return "E [ethernet.etherType]"; |
| } |
| break; |
| case 334 : |
| { |
| return "E [packet_out_hdr.egress_port, packet_out_hdr._padding, packet_in_hdr.ingress_port, packet_in_hdr._padding]"; |
| } |
| break; |
| } |
| } |
| break; |
| } |
| |
| return "PHV container not valid"; |
| } |
| |
| |