<div dir="ltr"><div>After some finagling with container versions and the change, I can now install the program on switches! Thanks.<br><br></div>I did however run into an error calling, `request.configs.add()`, as it has no associated attribute. But, replacing it with `config = request.config` seemed to do the trick. I'll create a PR for the tutorial, but I wanted to make sure the config change made sense.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 31, 2018 at 3:25 PM, Antonin Bas <span dir="ltr"><<a href="mailto:antonin@barefootnetworks.com" target="_blank">antonin@barefootnetworks.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Looking at the P4 Runtime server code, it seems that the only way to get this error is if p4_device_config.device_data is empty (<a href="https://github.com/p4lang/PI/blob/master/proto/frontend/src/device_mgr.cpp#L223" target="_blank">https://github.com/p4lang/PI/<wbr>blob/master/proto/frontend/src<wbr>/device_mgr.cpp#L223</a>). <div>This doesn't seem to be possible as long as this method is called (and the JSON file is not empty?): <a href="https://github.com/p4lang/tutorials/blob/master/P4D2_2017_Fall/exercises/p4runtime/p4runtime_lib/bmv2.py#L19" target="_blank">https://github.com/p4<wbr>lang/tutorials/blob/master/P4D<wbr>2_2017_Fall/exercises/p4runtim<wbr>e/p4runtime_lib/bmv2.py#L19</a></div><div><br></div><div>Finally I tried the tutorial exercise on my laptop with recent versions of bmv2 & P4 Runtime.</div><div>It was working fine ... once I applied the attached patch.</div><div><br></div><div><span class=""><div>Installed P4 Program using SetForwardingPipelineConfig on s1</div></span><div>Installed P4 Program using SetForwardingPipelineConfig on s2</div><div>Installed ingress tunnel rule on s1</div><div>TODO Install transit tunnel rule</div><div>Installed egress tunnel rule on s2</div><div>Installed ingress tunnel rule on s2</div><div>TODO Install transit tunnel rule</div><div>Installed egress tunnel rule on s1</div></div><div><br></div><div>However, none of the issues I fixed with the attached patch can explain the error you are observing.</div><div>I suggest that you check that buildDeviceConfig is called correctly (<a href="https://github.com/p4lang/tutorials/blob/master/P4D2_2017_Fall/exercises/p4runtime/p4runtime_lib/bmv2.py#L19" target="_blank">https://github.com/p4lang/<wbr>tutorials/blob/master/P4D2_<wbr>2017_Fall/exercises/p4runtime/<wbr>p4runtime_lib/bmv2.py#L19</a>). You may also want to print the <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">SetForwardingPipelineConfi<wbr>gRequest messages and make sure they are correct.</span></div></div>
</blockquote></div><br></div>