On 10/25/22 11:57, Andrew Rybchenko wrote:
On 10/24/22 16:12, Junfeng Guo wrote:
Support device init and add the following dev ops:
  - dev_configure
  - dev_close
  - dev_infos_get

Signed-off-by: Beilei Xing <beilei.x...@intel.com>
Signed-off-by: Xiaoyun Li <xiaoyun...@intel.com>
Signed-off-by: Xiao Wang <xiao.w.w...@intel.com>
Signed-off-by: Junfeng Guo <junfeng....@intel.com>

[snip]

+struct idpf_adapter *
+idpf_find_adapter(struct rte_pci_device *pci_dev)

It looks like the function requires corresponding lock to be
held. If yes, it should be documented and code fixed. If no,
it should be explaiend why.

I still don't understand it is a new patch. It is hardly safe to
return a pointer to an element list when you drop lock.

+    /* valid only if rxq_model is split Q */
+    uint16_t num_rx_bufq;
+
+    uint16_t max_mtu;

unused

Comments? It is still in place in a new version.

+int
+idpf_vc_get_caps(struct idpf_adapter *adapter)
+{
+    struct virtchnl2_get_capabilities caps_msg;
+    struct idpf_cmd_info args;
+    int err;
+
+     memset(&caps_msg, 0, sizeof(struct virtchnl2_get_capabilities));
+     caps_msg.csum_caps =
+         VIRTCHNL2_CAP_TX_CSUM_L3_IPV4        |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV4_TCP    |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV4_UDP    |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV4_SCTP    |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV6_TCP    |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV6_UDP    |
+         VIRTCHNL2_CAP_TX_CSUM_L4_IPV6_SCTP    |
+         VIRTCHNL2_CAP_TX_CSUM_GENERIC        |
+         VIRTCHNL2_CAP_RX_CSUM_L3_IPV4        |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV4_TCP    |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV4_UDP    |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV4_SCTP    |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV6_TCP    |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV6_UDP    |
+         VIRTCHNL2_CAP_RX_CSUM_L4_IPV6_SCTP    |
+         VIRTCHNL2_CAP_RX_CSUM_GENERIC;
+
+     caps_msg.seg_caps =
+         VIRTCHNL2_CAP_SEG_IPV4_TCP        |
+         VIRTCHNL2_CAP_SEG_IPV4_UDP        |
+         VIRTCHNL2_CAP_SEG_IPV4_SCTP        |
+         VIRTCHNL2_CAP_SEG_IPV6_TCP        |
+         VIRTCHNL2_CAP_SEG_IPV6_UDP        |
+         VIRTCHNL2_CAP_SEG_IPV6_SCTP        |
+         VIRTCHNL2_CAP_SEG_GENERIC;
+
+     caps_msg.rss_caps =
+         VIRTCHNL2_CAP_RSS_IPV4_TCP        |
+         VIRTCHNL2_CAP_RSS_IPV4_UDP        |
+         VIRTCHNL2_CAP_RSS_IPV4_SCTP        |
+         VIRTCHNL2_CAP_RSS_IPV4_OTHER        |
+         VIRTCHNL2_CAP_RSS_IPV6_TCP        |
+         VIRTCHNL2_CAP_RSS_IPV6_UDP        |
+         VIRTCHNL2_CAP_RSS_IPV6_SCTP        |
+         VIRTCHNL2_CAP_RSS_IPV6_OTHER        |
+         VIRTCHNL2_CAP_RSS_IPV4_AH        |
+         VIRTCHNL2_CAP_RSS_IPV4_ESP        |
+         VIRTCHNL2_CAP_RSS_IPV4_AH_ESP        |
+         VIRTCHNL2_CAP_RSS_IPV6_AH        |
+         VIRTCHNL2_CAP_RSS_IPV6_ESP        |
+         VIRTCHNL2_CAP_RSS_IPV6_AH_ESP;
+
+     caps_msg.hsplit_caps =
+         VIRTCHNL2_CAP_RX_HSPLIT_AT_L2        |
+         VIRTCHNL2_CAP_RX_HSPLIT_AT_L3        |
+         VIRTCHNL2_CAP_RX_HSPLIT_AT_L4V4    |
+         VIRTCHNL2_CAP_RX_HSPLIT_AT_L4V6;
+
+     caps_msg.rsc_caps =
+         VIRTCHNL2_CAP_RSC_IPV4_TCP        |
+         VIRTCHNL2_CAP_RSC_IPV4_SCTP        |
+         VIRTCHNL2_CAP_RSC_IPV6_TCP        |
+         VIRTCHNL2_CAP_RSC_IPV6_SCTP;
+
+     caps_msg.other_caps =
+         VIRTCHNL2_CAP_RDMA            |
+         VIRTCHNL2_CAP_SRIOV            |
+         VIRTCHNL2_CAP_MACFILTER        |
+         VIRTCHNL2_CAP_FLOW_DIRECTOR        |
+         VIRTCHNL2_CAP_SPLITQ_QSCHED        |
+         VIRTCHNL2_CAP_CRC            |
+         VIRTCHNL2_CAP_WB_ON_ITR        |
+         VIRTCHNL2_CAP_PROMISC            |
+         VIRTCHNL2_CAP_LINK_SPEED        |
+         VIRTCHNL2_CAP_VLAN;

I'm wondering why all above capabilities are mentioned in the
patch? What does the API do? Do it is request it? Negotiage?

Can I have answer on my question?

Reply via email to