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

Function ionic_lif_set_features

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

Source from the content-addressed store, hash-verified

1508}
1509
1510int
1511ionic_lif_set_features(struct ionic_lif *lif)
1512{
1513 struct ionic_admin_ctx ctx = {
1514 .pending_work = true,
1515 .cmd.lif_setattr = {
1516 .opcode = IONIC_CMD_LIF_SETATTR,
1517 .attr = IONIC_LIF_ATTR_FEATURES,
1518 .features = rte_cpu_to_le_64(lif->features),
1519 },
1520 };
1521 int err;
1522
1523 err = ionic_adminq_post_wait(lif, &ctx);
1524 if (err)
1525 return err;
1526
1527 lif->hw_features = rte_le_to_cpu_64(ctx.cmd.lif_setattr.features &
1528 ctx.comp.lif_setattr.features);
1529
1530 if (lif->hw_features & IONIC_ETH_HW_VLAN_TX_TAG)
1531 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_VLAN_TX_TAG");
1532 if (lif->hw_features & IONIC_ETH_HW_VLAN_RX_STRIP)
1533 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_VLAN_RX_STRIP");
1534 if (lif->hw_features & IONIC_ETH_HW_VLAN_RX_FILTER)
1535 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_VLAN_RX_FILTER");
1536 if (lif->hw_features & IONIC_ETH_HW_RX_HASH)
1537 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_RX_HASH");
1538 if (lif->hw_features & IONIC_ETH_HW_TX_SG)
1539 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TX_SG");
1540 if (lif->hw_features & IONIC_ETH_HW_RX_SG)
1541 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_RX_SG");
1542 if (lif->hw_features & IONIC_ETH_HW_TX_CSUM)
1543 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TX_CSUM");
1544 if (lif->hw_features & IONIC_ETH_HW_RX_CSUM)
1545 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_RX_CSUM");
1546 if (lif->hw_features & IONIC_ETH_HW_TSO)
1547 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO");
1548 if (lif->hw_features & IONIC_ETH_HW_TSO_IPV6)
1549 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_IPV6");
1550 if (lif->hw_features & IONIC_ETH_HW_TSO_ECN)
1551 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_ECN");
1552 if (lif->hw_features & IONIC_ETH_HW_TSO_GRE)
1553 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_GRE");
1554 if (lif->hw_features & IONIC_ETH_HW_TSO_GRE_CSUM)
1555 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_GRE_CSUM");
1556 if (lif->hw_features & IONIC_ETH_HW_TSO_IPXIP4)
1557 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_IPXIP4");
1558 if (lif->hw_features & IONIC_ETH_HW_TSO_IPXIP6)
1559 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_IPXIP6");
1560 if (lif->hw_features & IONIC_ETH_HW_TSO_UDP)
1561 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_UDP");
1562 if (lif->hw_features & IONIC_ETH_HW_TSO_UDP_CSUM)
1563 IONIC_PRINT(DEBUG, "feature IONIC_ETH_HW_TSO_UDP_CSUM");
1564
1565 return 0;
1566}
1567

Callers 3

ionic_vlan_offload_setFunction · 0.85
ionic_dev_startFunction · 0.85
ionic_lif_initFunction · 0.85

Calls 1

ionic_adminq_post_waitFunction · 0.85

Tested by

no test coverage detected