[P4-dev] p4-validate warning message

Roshan sedar at oasis.uclouvain.be
Thu Dec 14 16:47:14 EST 2017


Hi Andy,

warning comes from the following:

header_type header_source_t {
    fields {
         preamble: 64;
         hopCount: 8;
         is_src: 1;
    }
}

header header_source_t myhdr;

action send_pkt(egress_spec) {// p4-validate warning shows this line
    modify_field(standard_metadata.egress_spec, egress_spec);
    add_to_field(myhdr.hopCount, 1);
    modify_field(myhdr.is_src, 1);
}

table route_pkt {
   reads {
         standard_metadata.ingress_port: exact;
   }
   actions {
         send_pkt;
   }
}


Yes, it is P4_14.
p4-validate gives this warning but with p4c-bmv2 no warnings.

thanks,
Roshan.

On 2017-12-14 18:26, Andy Fingerhut wrote:
> If you are willing to share the P4 program that gives this warning, it 
> would be easier to give a definitive answer.
>
> I am guessing this is a P4_14 program, not P4_16?  There are cases in 
> P4_14 programs, especially for the definitions of actions, where 
> because the action parameters have no defined bit width, the compiler 
> must try to infer what they ought to be, based upon the operations 
> they are used in within that action.  If there are multiple different 
> widths that could be inferred, the warning could occur.  That, or it 
> could be a compiler bug.  Here is a Github issue that might be related 
> to what you are seeing: https://github.com/p4lang/p4c/issues/1095
>
> Andy
>
> On Thu, Dec 14, 2017 at 7:29 AM, Roshan <sedar at oasis.uclouvain.be 
> <mailto:sedar at oasis.uclouvain.be>> wrote:
>
>     Hi,
>
>     p4-validate gives this warning: "WARNING in route.p4 line 25:
>     Inferred conflicting widths for argument 'port_to_send' (9 and 8),
>     using larger width".
>
>
>     Any idea what could be the reason.
>
>
>     Thanks in advance,
>
>     Roshan.
>
>
>     _______________________________________________
>     P4-dev mailing list
>     P4-dev at lists.p4.org <mailto:P4-dev at lists.p4.org>
>     http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org
>     <http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org>
>
>
>
>
> _______________________________________________
> P4-dev mailing list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20171214/78258335/attachment-0002.html>


More information about the P4-dev mailing list