MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ionic_lif_addr_del

Function ionic_lif_addr_del

dpdk/drivers/net/ionic/ionic_lif.c:252–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252static int
253ionic_lif_addr_del(struct ionic_lif *lif, const uint8_t *addr)
254{
255 struct ionic_admin_ctx ctx = {
256 .pending_work = true,
257 .cmd.rx_filter_del = {
258 .opcode = IONIC_CMD_RX_FILTER_DEL,
259 },
260 };
261 struct ionic_rx_filter *f;
262 int err;
263
264 IONIC_PRINT_CALL();
265
266 rte_spinlock_lock(&lif->rx_filters.lock);
267
268 f = ionic_rx_filter_by_addr(lif, addr);
269 if (!f) {
270 rte_spinlock_unlock(&lif->rx_filters.lock);
271 return -ENOENT;
272 }
273
274 ctx.cmd.rx_filter_del.filter_id = rte_cpu_to_le_32(f->filter_id);
275 ionic_rx_filter_free(f);
276
277 rte_spinlock_unlock(&lif->rx_filters.lock);
278
279 err = ionic_adminq_post_wait(lif, &ctx);
280 if (err)
281 return err;
282
283 IONIC_PRINT(INFO, "rx_filter del (id %d)",
284 rte_le_to_cpu_32(ctx.cmd.rx_filter_del.filter_id));
285
286 return 0;
287}
288
289int
290ionic_dev_add_mac(struct rte_eth_dev *eth_dev,

Callers 2

ionic_dev_remove_macFunction · 0.85
ionic_dev_set_macFunction · 0.85

Calls 5

ionic_rx_filter_by_addrFunction · 0.85
ionic_rx_filter_freeFunction · 0.85
ionic_adminq_post_waitFunction · 0.85
rte_spinlock_lockFunction · 0.50
rte_spinlock_unlockFunction · 0.50

Tested by

no test coverage detected