You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

719 lines
29 KiB

+ date
Mit Jul 24 11:58:11 CEST 2019
+ cd /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4
+ make
make -C src/ clean
make[1]: Entering directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
rm -f *.sdnet *.tbl .sdnet_switch_info.dat
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
make -C testdata/ clean
make[1]: Entering directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata'
rm -f *.pcap *.txt *.pyc *.axi config_writes.* *_reg_defines.py
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata'
rm -rf nf_sume_sdnet_ip/
rm -f
rm -f sw/config_tables.c
make -C src/
make[1]: Entering directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
p4c-sdnet -o minip4.sdnet --sdnet_info .sdnet_switch_info.dat minip4_solution.p4
minip4_solution.p4(6): error: Structure header Ethernet_h does not have a field dst_addr
header Ethernet_h {
^^^^^^^^^^
actions_egress.p4(17)
hdr.ethernet.dst_addr = mac_addr;
^^^^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field task
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_egress.p4(33)
meta.task = task;
^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field ingress_port
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_egress.p4(34)
meta.ingress_port = sume_metadata.src_port;
^^^^^^^^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field table_id
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_egress.p4(40)
meta.table_id = table_id;
^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_egress.p4(54)
hdr.ipv6.dst_addr: lpm;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_egress.p4(71)
hdr.ipv4.dst_addr: lpm;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(9)
tmp = tmp + (bit<16>) hdr.ipv4.src_addr[15:0]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(10)
tmp = tmp + (bit<16>) hdr.ipv4.src_addr[31:16]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(11)
tmp = tmp + (bit<16>) hdr.ipv4.dst_addr[15:0]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(12)
tmp = tmp + (bit<16>) hdr.ipv4.dst_addr[31:16]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(14)
tmp = tmp + (bit<16>) hdr.ipv4.totalLen -20; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(15)
tmp = tmp + (bit<16>) hdr.ipv4.protocol; // 8 bit
^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v4sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(17)
meta.v4sum = ~tmp;
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(23)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[15:0]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(24)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[31:16]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(25)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[47:32]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(26)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[63:48]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(27)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[79:64]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(28)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[95:80]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(29)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[111:96]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(30)
tmp = tmp + (bit<16>) hdr.ipv6.src_addr[127:112]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(32)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[15:0]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(33)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[31:16]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(34)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[47:32]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(35)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[63:48]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(36)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[79:64]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(37)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[95:80]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(38)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[111:96]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(39)
tmp = tmp + (bit<16>) hdr.ipv6.dst_addr[127:112]; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(41)
tmp = tmp + (bit<16>) hdr.ipv6.payload_length; // 16 bit
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(42)
tmp = tmp + (bit<16>) hdr.ipv6.next_header; // 8 bit
^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v6sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(44)
meta.v6sum = ~tmp;
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field udp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(57)
bit<17> tmp = (bit<17>) hdr.udp.checksum + (bit<17>) meta.v6sum;
^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v6sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(57)
bit<17> tmp = (bit<17>) hdr.udp.checksum + (bit<17>) meta.v6sum;
^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v4sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(62)
tmp = tmp + (bit<17>) (0xffff - meta.v4sum);
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field udp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(68)
hdr.udp.checksum = (bit<16>) tmp;
^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field udp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(75)
bit<17> tmp = (bit<17>) hdr.udp.checksum + (bit<17>) meta.v4sum;
^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v4sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(75)
bit<17> tmp = (bit<17>) hdr.udp.checksum + (bit<17>) meta.v4sum;
^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v6sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(80)
tmp = tmp + (bit<17>) (0xffff - meta.v6sum);
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field udp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(86)
hdr.udp.checksum = (bit<16>) tmp;
^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field tcp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(93)
bit<17> tmp = (bit<17>) hdr.tcp.checksum + (bit<17>) meta.v6sum;
^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v6sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(93)
bit<17> tmp = (bit<17>) hdr.tcp.checksum + (bit<17>) meta.v6sum;
^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v4sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(98)
tmp = tmp + (bit<17>) (0xffff - meta.v4sum);
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field tcp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(104)
hdr.tcp.checksum = (bit<16>) tmp;
^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field tcp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(111)
bit<17> tmp = (bit<17>) hdr.tcp.checksum + (bit<17>) meta.v4sum;
^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v4sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(111)
bit<17> tmp = (bit<17>) hdr.tcp.checksum + (bit<17>) meta.v4sum;
^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field v6sum
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_delta_checksum.p4(116)
tmp = tmp + (bit<17>) (0xffff - meta.v6sum);
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field tcp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(122)
hdr.tcp.checksum = (bit<16>) tmp;
^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(135)
shift_tmp = ( ((bit<16>) hdr.ipv4.version) << 12) +
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(136)
( ((bit<16>) hdr.ipv4.ihl) << 8) +
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(137)
( ((bit<16>) hdr.ipv4.diff_serv) << 2) +
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(138)
( (bit<16>) hdr.ipv4.ecn);
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(147)
tmp = tmp + (bit<16>) hdr.ipv4.totalLen; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(149)
tmp = tmp + (bit<16>) hdr.ipv4.identification; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(151)
shift_tmp = ((bit<16>) (hdr.ipv4.flags) << 13) +
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(152)
((bit<16>) hdr.ipv4.fragOffset);
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(158)
shift_tmp = ((bit<16>) (hdr.ipv4.ttl) << 8) +
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(159)
((bit<16>) hdr.ipv4.protocol);
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(165)
tmp = tmp + (bit<16>) hdr.ipv4.src_addr[15:0]; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(166)
tmp = tmp + (bit<16>) hdr.ipv4.src_addr[31:16]; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(167)
tmp = tmp + (bit<16>) hdr.ipv4.dst_addr[15:0]; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(168)
tmp = tmp + (bit<16>) hdr.ipv4.dst_addr[31:16]; /* 16 bit */
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_delta_checksum.p4(170)
hdr.ipv4.checksum = ~tmp;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(12)
hdr.icmp.setValid();
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(13)
hdr.ipv4.protocol = PROTO_ICMP; // overwrite generic same protocol assumption
^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field switch_task
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_nat64_generic.p4(16)
meta.switch_task = TASK_CHECKSUM_ICMP;
^^^^^^^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field chk_icmp
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_nat64_generic.p4(19)
meta.chk_icmp = 1;
^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(21)
hdr.icmp6.setInvalid();
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp6_na_ns
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(24)
hdr.icmp6_na_ns.setInvalid();
^^^^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp6_option_link_layer_addr
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(25)
hdr.icmp6_option_link_layer_addr.setInvalid();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(30)
hdr.ipv4.setValid();
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(34)
hdr.ipv4.version = (bit<4>)4;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(35)
hdr.ipv4.ihl = (bit<4>)5; // internet header length: 4*5 = 20
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(39)
hdr.ipv4.diff_serv = (bit<6>)0; // no ToS
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(40)
hdr.ipv4.ecn = (bit<2>)0; // unsupported
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(41)
hdr.ipv4.totalLen = (bit<16>) hdr.ipv6.payload_length + 20; // ok under above constraints
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(41)
hdr.ipv4.totalLen = (bit<16>) hdr.ipv6.payload_length + 20; // ok under above constraints
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(42)
hdr.ipv4.identification = (bit<16>) 0; // no support for fragments
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(43)
hdr.ipv4.flags = (bit<3>) 0; // DF bit and more fragments
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(44)
hdr.ipv4.fragOffset = (bit<13>) 0; // 0 as there are no fragments
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(45)
hdr.ipv4.ttl = hdr.ipv6.hop_limit;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(45)
hdr.ipv4.ttl = hdr.ipv6.hop_limit;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(46)
hdr.ipv4.protocol = hdr.ipv6.next_header;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(46)
hdr.ipv4.protocol = hdr.ipv6.next_header;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(47)
hdr.ipv4.src_addr = src;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(48)
hdr.ipv4.dst_addr = dst;
^^^^
minip4_solution.p4(6): error: Structure header Ethernet_h does not have a field ethertype
header Ethernet_h {
^^^^^^^^^^
actions_nat64_generic.p4(51)
hdr.ethernet.ethertype = TYPE_IPV4;
^^^^^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field chk_ipv4
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_nat64_generic.p4(56)
meta.chk_ipv4 = 1; /* need to calculate the hdrchecksum */
^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(59)
hdr.ipv6.setInvalid();
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(64)
ipv6_addr_t src_offset = hdr.ipv6.src_addr - v6_src;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(67)
ipv4_addr_t dst = (ipv4_addr_t) (hdr.ipv6.dst_addr - nat64_prefix);
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(122)
hdr.icmp6.setValid();
^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(123)
hdr.ipv6.next_header = PROTO_ICMP6;
^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field chk_icmp6
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_nat64_generic.p4(125)
meta.chk_icmp6 = 1;
^^^^^^^^^
minip4_solution.p4(18): error: Structure struct user_metadata_t does not have a field cast_length
struct user_metadata_t {
^^^^^^^^^^^^^^^
actions_nat64_generic.p4(126)
meta.cast_length = (bit<32>) hdr.ipv6.payload_length;
^^^^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(126)
meta.cast_length = (bit<32>) hdr.ipv6.payload_length;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field icmp
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(128)
hdr.icmp.setInvalid();
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(133)
hdr.ipv6.setValid();
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(134)
hdr.ipv4.setInvalid();
^^^^
minip4_solution.p4(6): error: Structure header Ethernet_h does not have a field ethertype
header Ethernet_h {
^^^^^^^^^^
actions_nat64_generic.p4(136)
hdr.ethernet.ethertype = TYPE_IPV6;
^^^^^^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(138)
hdr.ipv6.dst_addr = dst;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(139)
hdr.ipv6.src_addr = src;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(140)
hdr.ipv6.version = (bit<4>) 6;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(141)
hdr.ipv6.traffic_class = (bit<8>) hdr.ipv4.diff_serv;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(141)
hdr.ipv6.traffic_class = (bit<8>) hdr.ipv4.diff_serv;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(142)
hdr.ipv6.flow_label = (bit<20>) 0;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(143)
hdr.ipv6.payload_length = (bit<16>) hdr.ipv4.totalLen - 20;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(143)
hdr.ipv6.payload_length = (bit<16>) hdr.ipv4.totalLen - 20;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(144)
hdr.ipv6.next_header = hdr.ipv4.protocol;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(144)
hdr.ipv6.next_header = hdr.ipv4.protocol;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(145)
hdr.ipv6.hop_limit = hdr.ipv4.ttl;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(145)
hdr.ipv6.hop_limit = hdr.ipv4.ttl;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(151)
ipv6_addr_t src = nat64_prefix + (ipv6_addr_t) hdr.ipv4.src_addr;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(153)
ipv4_addr_t dst_offset = hdr.ipv4.dst_addr - v4_dst;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv6
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(161)
hdr.ipv6.dst_addr: lpm;
^^^^
minip4_solution.p4(12): error: Structure struct Parsed_packet does not have a field ipv4
struct Parsed_packet {
^^^^^^^^^^^^^
actions_nat64_generic.p4(176)
hdr.ipv4.dst_addr: lpm;
^^^^
Makefile:34: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/src'
Makefile:31: recipe for target 'frontend' failed
make: *** [frontend] Error 2