sched: add PIE based congestion management
[dpdk.git] / drivers / net / softnic / rte_eth_softnic_meter.c
index acb8b87..6b02f43 100644 (file)
@@ -17,6 +17,9 @@ softnic_mtr_init(struct pmd_internals *p)
        /* Initialize meter profiles list */
        TAILQ_INIT(&p->mtr.meter_profiles);
 
+       /* Initialize meter policies list */
+       TAILQ_INIT(&p->mtr.meter_policies);
+
        /* Initialize MTR objects list */
        TAILQ_INIT(&p->mtr.mtrs);
 
@@ -49,6 +52,18 @@ softnic_mtr_free(struct pmd_internals *p)
                TAILQ_REMOVE(&p->mtr.meter_profiles, mp, node);
                free(mp);
        }
+
+       /* Remove meter policies */
+       for ( ; ; ) {
+               struct softnic_mtr_meter_policy *mp;
+
+               mp = TAILQ_FIRST(&p->mtr.meter_policies);
+               if (mp == NULL)
+                       break;
+
+               TAILQ_REMOVE(&p->mtr.meter_policies, mp, node);
+               free(mp);
+       }
 }
 
 struct softnic_mtr_meter_profile *