Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make error: CRITICAL:p4c_bm.gen_json:'range' match type is not supported by bmv2 yet #84

Open
imaginezz opened this issue Dec 22, 2016 · 3 comments

Comments

@imaginezz
Copy link

imaginezz commented Dec 22, 2016

I have installed bmv2 and p4c-bmv2 successfully as README said.
But when I tried to make it ,it shows below.
I think it is something wrong with p4c_bm it can't complie the P4 script in p4src, but I can't solve it.

make  all-recursive
make[1]: Entering directory `/home/jason/p4/switch'
Making all in p4-build
make[2]: Entering directory `/home/jason/p4/switch/p4-build'
make  all-recursive
make[3]: Entering directory `/home/jason/p4/switch/p4-build'
Making all in bmv2
make[4]: Entering directory `/home/jason/p4/switch/p4-build/bmv2'
PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages /usr/local/bin/p4c-bmv2 --pd ./switch/ --p4-prefix dc  --json ./switch.json /home/jason/p4/switch/p4src/switch.p4
parsing successful
Semantic warning: Parameter session_id of action negative_mirror defined in file /home/jason/p4/switch/p4src/acl.p4 at line 563 is not being used and will be removed
Semantic warning: Parameter fabric_mgid of action set_fabric_multicast defined in file /home/jason/p4/switch/p4src/fabric.p4 at line 211 is not being used and will be removed
Semantic warning: header type 'ieee802_1ah_t' is not reachable and will be removed
Semantic warning: header type 'ipsec_esp_t' is not reachable and will be removed
Semantic warning: header type 'ipsec_ah_t' is not reachable and will be removed
Semantic warning: header type 'arp_rarp_t' is not reachable and will be removed
Semantic warning: header type 'arp_rarp_ipv4_t' is not reachable and will be removed
Semantic warning: header type 'genv_opt_A_t' is not reachable and will be removed
Semantic warning: header type 'genv_opt_B_t' is not reachable and will be removed
Semantic warning: header type 'genv_opt_C_t' is not reachable and will be removed
Semantic warning: header type 'sflow_sample_cpu_t' is not reachable and will be removed
Semantic warning: parser function 'parse_roce' is not reachable and will be removed
Semantic warning: parser function 'parse_fcoe' is not reachable and will be removed
Semantic warning: parser function 'parse_vpls' is not reachable and will be removed
Semantic warning: parser function 'parse_pw' is not reachable and will be removed
Semantic warning: parser function 'parse_udp_v6' is not reachable and will be removed
Semantic warning: parser function 'parse_gre_v6' is not reachable and will be removed
Semantic warning: parser function 'parse_roce_v2' is not reachable and will be removed
Semantic warning: parser function 'parse_sctp' is not reachable and will be removed
Semantic warning: header instance 'outer_udp' is not reachable and will be removed
Semantic warning: header instance 'eompls' is not reachable and will be removed
Semantic warning: parser function 'parse_nsh' is not reachable and will be removed
Semantic warning: parser function 'parse_lisp' is not reachable and will be removed
Semantic warning: parser function 'parse_inner_sctp' is not reachable and will be removed
Semantic warning: parser function 'parse_trill' is not reachable and will be removed
Semantic warning: parser function 'parse_vntag' is not reachable and will be removed
Semantic warning: parser function 'parse_bfd' is not reachable and will be removed
Semantic warning: header instance 'sflow_sample' is not reachable and will be removed
Semantic warning: header instance 'sflow_raw_hdr_record' is not reachable and will be removed
Semantic warning: header instance 'global_config_metadata' is not reachable and will be removed
Semantic warning: field list 'mirror_info' is not reachable and will be removed
Semantic warning: table 'outer_multicast_rpf' is not reachable and will be removed
Semantic warning: table 'multicast_rpf' is not reachable and will be removed
Semantic warning: header type 'eompls_t' is not reachable and will be removed
Semantic warning: header type 'sflow_sample_t' is not reachable and will be removed
Semantic warning: header type 'sflow_raw_hdr_record_t' is not reachable and will be removed
Semantic warning: header instance 'roce' is not reachable and will be removed
Semantic warning: header instance 'fcoe' is not reachable and will be removed
Semantic warning: header instance 'roce_v2' is not reachable and will be removed
Semantic warning: header instance 'sctp' is not reachable and will be removed
Semantic warning: header instance 'nsh' is not reachable and will be removed
Semantic warning: header instance 'nsh_context' is not reachable and will be removed
Semantic warning: header instance 'lisp' is not reachable and will be removed
Semantic warning: header instance 'inner_sctp' is not reachable and will be removed
Semantic warning: header instance 'trill' is not reachable and will be removed
Semantic warning: header instance 'vntag' is not reachable and will be removed
Semantic warning: header instance 'bfd' is not reachable and will be removed
Semantic warning: parser function 'parse_set_prio_max' is not reachable and will be removed
Semantic warning: header type 'global_config_metadata_t' is not reachable and will be removed
Semantic warning: action 'outer_multicast_rpf_check_pass' is not reachable and will be removed
Semantic warning: action 'multicast_rpf_check_pass' is not reachable and will be removed
Semantic warning: action 'multicast_rpf_check_fail' is not reachable and will be removed
Semantic warning: header type 'roce_header_t' is not reachable and will be removed
Semantic warning: header type 'roce_v2_header_t' is not reachable and will be removed
Semantic warning: header type 'fcoe_header_t' is not reachable and will be removed
Semantic warning: header type 'sctp_t' is not reachable and will be removed
Semantic warning: header type 'nsh_t' is not reachable and will be removed
Semantic warning: header type 'nsh_context_t' is not reachable and will be removed
Semantic warning: header type 'trill_t' is not reachable and will be removed
Semantic warning: header type 'lisp_t' is not reachable and will be removed
Semantic warning: header type 'vntag_t' is not reachable and will be removed
Semantic warning: header type 'bfd_t' is not reachable and will be removed
semantic checking successful
Header type standard_metadata_t not byte-aligned, adding padding
Header type ingress_intrinsic_metadata_t not byte-aligned, adding padding
Header type ingress_metadata_t not byte-aligned, adding padding
Header type egress_metadata_t not byte-aligned, adding padding
Header type l2_metadata_t not byte-aligned, adding padding
Header type l3_metadata_t not byte-aligned, adding padding
Header type ipv4_metadata_t not byte-aligned, adding padding
Header type ipv6_metadata_t not byte-aligned, adding padding
Header type tunnel_metadata_t not byte-aligned, adding padding
Header type acl_metadata_t not byte-aligned, adding padding
Header type nat_metadata_t not byte-aligned, adding padding
Header type multicast_metadata_t not byte-aligned, adding padding
Header type nexthop_metadata_t not byte-aligned, adding padding
Header type security_metadata_t not byte-aligned, adding padding
Header type fabric_metadata_t not byte-aligned, adding padding
Header type int_metadata_i2e_t not byte-aligned, adding padding
Header type meter_metadata_t not byte-aligned, adding padding
Header type qos_metadata_t not byte-aligned, adding padding
WARNING:p4c_bm.gen_json:Your P4 program uses the modify_field() action primitive with 3 arguments (aka masked modify), bmv2 does not support it anymore and this compiler will replace your modify_field(a, b, c) with modify_field(a, (a & ~c) | (b & c))
WARNING:p4c_bm.gen_json:Your P4 program uses the modify_field() action primitive with 3 arguments (aka masked modify), bmv2 does not support it anymore and this compiler will replace your modify_field(a, b, c) with modify_field(a, (a & ~c) | (b & c))
WARNING:p4c_bm.gen_json:Your P4 program uses the modify_field() action primitive with 3 arguments (aka masked modify), bmv2 does not support it anymore and this compiler will replace your modify_field(a, b, c) with modify_field(a, (a & ~c) | (b & c))
INFO:p4c_bm.gen_json:you are using a mask in a match table, this is still an experimental feature
INFO:p4c_bm.gen_json:you are using a mask in a match table, this is still an experimental feature
INFO:p4c_bm.gen_json:you are using a mask in a match table, this is still an experimental feature
INFO:p4c_bm.gen_json:you are using a mask in a match table, this is still an experimental feature
CRITICAL:p4c_bm.gen_json:'range' match type is not supported by bmv2 yet
make[4]: *** [pd_files.ts] Error 1
make[4]: Leaving directory `/home/jason/p4/switch/p4-build/bmv2'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/jason/p4/switch/p4-build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/jason/p4/switch/p4-build'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jason/p4/switch'
make: *** [all] Error 2
@antoninbas
Copy link
Member

You seem to be using an older version of p4c-bm. Range support was added to p4c-bm in June (p4lang/p4c-bm#52)

@imaginezz
Copy link
Author

imaginezz commented Dec 23, 2016

I checked the version, the p4c-bm is the newest.
I reinstalled p4c-bm and bmv2 again, and the Error is the same.

@antoninbas
Copy link
Member

antoninbas commented Dec 23, 2016

If you look at the latest p4c-bm code, you would be hard-pressed to find that error string...
You can run p4c-bmv2 -v to check the version number, it should be 1.4.0.
We changed the installation process recently and it is possible that your installation is picking up some old code. I would recommend deleting old files by hand before re-installing again. The following should work:
sudo rm -rf /usr/local/lib/python2.7/dist-packages/p4c*
sudo rm -rf /usr/local/bin/p4c-bmv2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants