[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