When using doca for development, how can I patch dpdk?
Hello, I am developing with ConnectX-6 DX + doca2.8, and I need to patch dpdk (modify dpdk’s source code). I have tried compiling the source code downloaded from dpdk’s official website and replacing doca dpdk, but when I compile the doca sample, I receive some error messages indicating that some functions are missing.
My steps are as follows:
- By running
cat /opt/mellanox/dpdk/lib64/pkgconfig/libdpdk.pc
, I confirmed that the dpdk version used by doca is 22.11.2407.1.0. - I downloaded dpdk source code version 22.11.6 from dpdk’s official website (I have also tried higher versions), compiled it, and replaced the contents of /opt/mellanox/dpdk.
- When compiling the doca sample, I encountered an error message stating that some functions are missing, and indeed, I cannot find these functions in the dpdk source code.
It seems that the dpdk used by doca has been modified. How can I patch dpdk? Or where can I get the source code of the dpdk used by doca?
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_action_list_handle_create@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_create_geneve_tlv_parser@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_query_rte_table_hws_matcher_metrics@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_fp_ops@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_template_table_resize@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_query_tag_param@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_release_rte_table_hws_matcher_metrics@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_port_is_configured@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_query_rte_table_hws_table_metrics@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_action_list_handle_destroy@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_port_is_bond@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_group_set_miss_actions@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_crypto_bulk_unregister@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_action_list_handle_query_update@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_calc_table_hash@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_destroy_geneve_tlv_parser@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_external_tx_queue_id_map@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_dpdk_bridge.so.2: undefined reference to `rte_pmd_mlx5_export_uar@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_crypto_bulk_register@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_flow_template_table_resize_complete@EXPERIMENTAL'
/opt/mellanox/doca/lib64/libdoca_flow.so: undefined reference to `rte_pmd_mlx5_external_tx_queue_id_unmap@EXPERIMENTAL'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.