719 lines
29 KiB
Groff
719 lines
29 KiB
Groff
+ 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
|