X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsoftnic%2Frte_eth_softnic_swq.c;h=2083d0a976a6ce822a4641d7c9c0e29d8cd694ae;hb=092b38341859c1640871b864817d5e2e4c845edb;hp=c46cad9296d8e4b13ebb4d0a6365bb2640e6e1f4;hpb=161b551565c1328fdf5a48db882b5193e7eaa689;p=dpdk.git diff --git a/drivers/net/softnic/rte_eth_softnic_swq.c b/drivers/net/softnic/rte_eth_softnic_swq.c index c46cad9296..2083d0a976 100644 --- a/drivers/net/softnic/rte_eth_softnic_swq.c +++ b/drivers/net/softnic/rte_eth_softnic_swq.c @@ -6,6 +6,7 @@ #include #include +#include #include "rte_eth_softnic_internals.h" @@ -33,6 +34,22 @@ softnic_swq_free(struct pmd_internals *p) } } +void +softnic_softnic_swq_free_keep_rxq_txq(struct pmd_internals *p) +{ + struct softnic_swq *swq, *tswq; + + TAILQ_FOREACH_SAFE(swq, &p->swq_list, node, tswq) { + if ((strncmp(swq->name, "RXQ", strlen("RXQ")) == 0) || + (strncmp(swq->name, "TXQ", strlen("TXQ")) == 0)) + continue; + + TAILQ_REMOVE(&p->swq_list, swq, node); + rte_ring_free(swq->r); + free(swq); + } +} + struct softnic_swq * softnic_swq_find(struct pmd_internals *p, const char *name)