AnsweredAssumed Answered

Default queues for shared mac interface initialised by USDPAA

Question asked by Heena S on Nov 20, 2018

Hi all,

I am using the NXP T2080rdb for USDPAA purposes.

As I read in the SDK document, in the shared mac scenario, default queues for a shared MAC interface are initialized by linux and the PCD queues are initialised by USDPAA.

When I execute the lpm-fwd-app with one of the 1G interfaces as shared MAC, the traffic splits as required.

However, when I stop and start the USDPAA application, the default queues get initialized by USDPAA and all traffic goes to USDPAA application.

It looks like in include/ppac.c, in ppac_interface_init_rx, this code:

if (fif->shared_mac_info.is_shared_mac == 1) {
struct qm_mcr_queryfq_np np;
struct qman_fq fq;
fq.fqid = i->port_cfg->rx_def;
err = qman_query_fq_np(&fq, &np);
if (err) {
error(0, err, "%s(): shared MAC query FQ", __func__);
return err;
}
/* For shared MAC, initialize default FQ only if state is OOS */
if (np.state == qman_fq_state_oos) {
err = ppam_rx_default_init(&i->rx_default[0].s,
&i->ppam_data, 0, &stash_opts);
if (err) {
error(0, err, "%s", __func__);
return err;
}
ppac_fq_nonpcd_init(&i->rx_default[0].fq,
i->port_cfg->rx_def, get_rxc(), &stash_opts,
cb_dqrr_rx_default);
}

qman_query_fq_np returns qman_fq_state_oos and default queues get initialized in USDPAA.

 

When I reboot, things work correctly. Do I have to reboot everytime I restart the USDPAA application?

Outcomes