-}
-
-void
-port_offload_cap_display(portid_t port_id)
-{
- struct rte_eth_dev_info dev_info;
- static const char *info_border = "************";
- int ret;
-
- if (port_id_is_invalid(port_id, ENABLED_WARN))
- return;
-
- ret = eth_dev_info_get_print_err(port_id, &dev_info);
- if (ret != 0)
- return;
-
- printf("\n%s Port %d supported offload features: %s\n",
- info_border, port_id, info_border);
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_VLAN_STRIP) {
- printf("VLAN stripped: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_VLAN_STRIP)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_QINQ_STRIP) {
- printf("Double VLANs stripped: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_QINQ_STRIP)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_IPV4_CKSUM) {
- printf("RX IPv4 checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_IPV4_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM) {
- printf("RX UDP checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_UDP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM) {
- printf("RX TCP checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_TCP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_SCTP_CKSUM) {
- printf("RX SCTP checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_SCTP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) {
- printf("RX Outer IPv4 checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) {
- printf("RX Outer UDP checksum: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_OUTER_UDP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) {
- printf("Large receive offload: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_TCP_LRO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TIMESTAMP) {
- printf("HW timestamp: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_TIMESTAMP)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_KEEP_CRC) {
- printf("Rx Keep CRC: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_KEEP_CRC)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_SECURITY) {
- printf("RX offload security: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- DEV_RX_OFFLOAD_SECURITY)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.rx_offload_capa & RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT) {
- printf("RX offload buffer split: ");
- if (ports[port_id].dev_conf.rxmode.offloads &
- RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_VLAN_INSERT) {
- printf("VLAN insert: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_VLAN_INSERT)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_QINQ_INSERT) {
- printf("Double VLANs insert: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_QINQ_INSERT)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IPV4_CKSUM) {
- printf("TX IPv4 checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_IPV4_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_UDP_CKSUM) {
- printf("TX UDP checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_UDP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_TCP_CKSUM) {
- printf("TX TCP checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_TCP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_SCTP_CKSUM) {
- printf("TX SCTP checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_SCTP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) {
- printf("TX Outer IPv4 checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_TCP_TSO) {
- printf("TX TCP segmentation: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_TCP_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_UDP_TSO) {
- printf("TX UDP segmentation: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_UDP_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_VXLAN_TNL_TSO) {
- printf("TSO for VXLAN tunnel packet: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_VXLAN_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_GRE_TNL_TSO) {
- printf("TSO for GRE tunnel packet: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_GRE_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IPIP_TNL_TSO) {
- printf("TSO for IPIP tunnel packet: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_IPIP_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_GENEVE_TNL_TSO) {
- printf("TSO for GENEVE tunnel packet: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_GENEVE_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IP_TNL_TSO) {
- printf("IP tunnel TSO: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_IP_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_UDP_TNL_TSO) {
- printf("UDP tunnel TSO: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_UDP_TNL_TSO)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) {
- printf("TX Outer UDP checksum: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_OUTER_UDP_CKSUM)
- printf("on\n");
- else
- printf("off\n");
- }
-
- if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP) {
- printf("Tx scheduling on timestamp: ");
- if (ports[port_id].dev_conf.txmode.offloads &
- DEV_TX_OFFLOAD_SEND_ON_TIMESTAMP)
- printf("on\n");
- else
- printf("off\n");
- }
-