[dpdk-users] problem running ip pipeline application
Singh, Jasvinder
jasvinder.singh at intel.com
Fri Apr 15 10:48:37 CEST 2016
Hi Biju,
> -----Original Message-----
> From: Talukdar, Biju [mailto:Biju_Talukdar at student.uml.edu]
> Sent: Wednesday, April 13, 2016 1:04 AM
> To: Singh, Jasvinder <jasvinder.singh at intel.com>; users <users at dpdk.org>
> Subject: Re: problem running ip pipeline application
>
> Hi Jasvinder,
> Thanks a lot for your guidance.
>
> I could see the prints that the pipeline initialization is complete. I gave prints
> in the function pipeline_passthrough_init(). And I could see the prints. But I
> get no prints from the function pkt_work(). This function process all the
> packets. PKT_WORK macro uses pkt_work() function. Again PKT_WORK is
> used by port_in_ah macro. I am showing the code snippets from
> passthrough pipeline.
>
> #define port_in_ah(dma_size, hash_enabled) \
> PKT_WORK(dma_size, hash_enabled) \
> PKT4_WORK(dma_size, hash_enabled) \
> PIPELINE_PORT_IN_AH(port_in_ah_size##dma_size##_hash##hash_enable
> d,\
> pkt_work_size##dma_size##_hash##hash_enabled, \
> pkt4_work_size##dma_size##_hash##hash_enabled)
>
>
> Now, port_in_ah is called like as show below:
>
> port_in_ah(8, 0)
> port_in_ah(8, 1)
> port_in_ah(16, 0)
> port_in_ah(16, 1)
> port_in_ah(24, 0)
> port_in_ah(24, 1)
> port_in_ah(32, 0)
> port_in_ah(32, 1)
> port_in_ah(40, 0)
> port_in_ah(40, 1)
> port_in_ah(48, 0)
> port_in_ah(48, 1)
> port_in_ah(56, 0)
> port_in_ah(56, 1)
> port_in_ah(64, 0)
> port_in_ah(64, 1)
>
> So eventually pkt_work() should get called by the above calls. But why I am
> not getting any prints from pkt_work(). I have no clue why I am not getting
> any test prints. Why the program execuion is not reaching up to those
> printfs.
> Do you think that I am not even getting any packets and thats why
> pkt_work() is not get called at all. In that scenario, where I should look in?
> Remember I am just trying the sample example application. There is no code
> change there apart from my prints. Logically it should work.
>
The routine pkt_work() is invoked to process one packet at a time and, in case, when continuous packets are sent, pkt4_work() comes into play which processes packets in bulk (4 packets at a time) for the performance reason. Therefore, try sending one packet to the pipeline and see if printf() (introduced in pkt_work()) works or insert printf() in pkt4_work() as well.
Thanks,
Jasvinder
More information about the users
mailing list