Merge ~arif-ali/ubuntu/+source/dpdk:noble-23.11.4 into ubuntu/+source/dpdk:ubuntu/noble-devel

Proposed by Arif Ali
Status: Needs review
Proposed branch: ~arif-ali/ubuntu/+source/dpdk:noble-23.11.4
Merge into: ubuntu/+source/dpdk:ubuntu/noble-devel
Diff against target: 26555 lines (+5814/-3965)
481 files modified
.github/workflows/build.yml (+38/-0)
.mailmap (+29/-4)
VERSION (+1/-1)
app/dumpcap/main.c (+10/-6)
app/proc-info/main.c (+3/-2)
app/test-bbdev/test_vectors/fft_byp_28.data (+24/-24)
app/test-pmd/cmdline.c (+265/-254)
app/test-pmd/cmdline_flow.c (+1/-13)
app/test-pmd/config.c (+8/-5)
app/test/test_common.c (+17/-14)
app/test/test_cryptodev.c (+36/-2)
app/test/test_cryptodev.h (+0/-1)
app/test/test_cryptodev_aes_test_vectors.h (+3/-3)
app/test/test_dmadev_api.c (+12/-4)
app/test/test_eal_flags.c (+2/-2)
app/test/test_event_crypto_adapter.c (+10/-14)
app/test/test_event_dma_adapter.c (+4/-1)
app/test/test_event_eth_rx_adapter.c (+1/-1)
app/test/test_eventdev.c (+1/-0)
app/test/test_link_bonding.c (+35/-41)
app/test/test_link_bonding_rssconf.c (+0/-1)
app/test/test_pcapng.c (+10/-2)
app/test/test_power_cpufreq.c (+18/-3)
app/test/test_ring_stress_impl.h (+1/-1)
app/test/test_security_inline_proto_vectors.h (+5/-3)
buildtools/get-numa-count.py (+1/-1)
buildtools/get-test-suites.py (+2/-2)
config/meson.build (+8/-5)
debian/changelog (+8/-0)
dev/null (+0/-870)
devtools/check-meson.py (+1/-1)
devtools/git-log-fixes.sh (+1/-1)
doc/guides/nics/e1000em.rst (+5/-0)
doc/guides/nics/features.rst (+21/-14)
doc/guides/nics/features/gve.ini (+1/-0)
doc/guides/nics/features/mana.ini (+0/-1)
doc/guides/nics/features/netvsc.ini (+0/-1)
doc/guides/nics/features/virtio.ini (+0/-1)
doc/guides/nics/features/vmxnet3.ini (+0/-1)
doc/guides/nics/igb.rst (+13/-0)
doc/guides/nics/igc.rst (+5/-0)
doc/guides/nics/ionic.rst (+13/-5)
doc/guides/nics/ixgbe.rst (+17/-5)
doc/guides/nics/mlx5.rst (+71/-0)
doc/guides/rel_notes/release_23_11.rst (+589/-0)
drivers/baseband/acc/acc_common.h (+1/-1)
drivers/baseband/acc/rte_acc100_pmd.c (+11/-47)
drivers/baseband/acc/rte_vrb_pmd.c (+16/-59)
drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c (+7/-7)
drivers/baseband/la12xx/bbdev_la12xx.c (+3/-2)
drivers/baseband/turbo_sw/bbdev_turbo_software.c (+2/-2)
drivers/bus/cdx/cdx_vfio.c (+4/-4)
drivers/bus/dpaa/base/fman/fman.c (+27/-2)
drivers/bus/dpaa/base/fman/fman_hw.c (+5/-4)
drivers/bus/dpaa/base/qbman/qman.c (+31/-23)
drivers/bus/dpaa/include/fman.h (+2/-1)
drivers/bus/fslmc/fslmc_bus.c (+4/-4)
drivers/bus/fslmc/fslmc_vfio.c (+5/-5)
drivers/bus/fslmc/portal/dpaa2_hw_dpci.c (+2/-2)
drivers/bus/fslmc/qbman/qbman_debug.c (+32/-17)
drivers/bus/ifpga/ifpga_bus.c (+4/-4)
drivers/bus/pci/pci_common.c (+2/-12)
drivers/bus/vdev/vdev.c (+1/-20)
drivers/bus/vdev/vdev_params.c (+1/-1)
drivers/bus/vmbus/vmbus_common.c (+1/-1)
drivers/common/cnxk/cnxk_security.c (+1/-1)
drivers/common/cnxk/roc_bphy_cgx.c (+6/-6)
drivers/common/cnxk/roc_dev.c (+8/-10)
drivers/common/cnxk/roc_dev_priv.h (+2/-0)
drivers/common/cnxk/roc_dpi_priv.h (+1/-1)
drivers/common/cnxk/roc_ie_ot.c (+1/-0)
drivers/common/cnxk/roc_irq.c (+1/-1)
drivers/common/cnxk/roc_model.c (+1/-1)
drivers/common/cnxk/roc_nix_inl.c (+8/-0)
drivers/common/cnxk/roc_nix_mac.c (+0/-10)
drivers/common/cnxk/roc_nix_ops.c (+10/-10)
drivers/common/cnxk/roc_nix_tm.c (+1/-1)
drivers/common/cnxk/roc_nix_tm_mark.c (+1/-1)
drivers/common/cnxk/roc_nix_tm_ops.c (+1/-1)
drivers/common/cnxk/roc_nix_tm_utils.c (+1/-1)
drivers/common/cnxk/roc_npa.h (+1/-1)
drivers/common/cnxk/roc_npc.c (+2/-1)
drivers/common/cnxk/roc_platform.c (+1/-1)
drivers/common/cnxk/roc_sso.c (+8/-1)
drivers/common/cnxk/roc_tim.c (+1/-1)
drivers/common/cpt/cpt_ucode.h (+2/-2)
drivers/common/dpaax/caamflib/desc/pdcp.h (+10/-0)
drivers/common/dpaax/caamflib/rta/operation_cmd.h (+0/-4)
drivers/common/iavf/iavf_prototype.h (+1/-0)
drivers/common/iavf/version.map (+1/-0)
drivers/common/idpf/base/idpf_osdep.h (+8/-2)
drivers/common/idpf/idpf_common_device.c (+1/-2)
drivers/common/idpf/idpf_common_logs.h (+1/-4)
drivers/common/idpf/idpf_common_rxtx_avx512.c (+15/-4)
drivers/common/mlx5/mlx5_common_utils.h (+1/-1)
drivers/common/mlx5/mlx5_devx_cmds.c (+1/-0)
drivers/common/mlx5/mlx5_devx_cmds.h (+1/-0)
drivers/common/mlx5/mlx5_prm.h (+30/-3)
drivers/common/mlx5/windows/mlx5_win_defs.h (+0/-12)
drivers/common/nfp/nfp_common_ctrl.h (+1/-0)
drivers/common/octeontx/octeontx_mbox.c (+2/-2)
drivers/common/qat/meson.build (+1/-1)
drivers/common/qat/qat_device.c (+1/-5)
drivers/common/qat/qat_pf2vf.c (+2/-2)
drivers/common/qat/qat_qp.c (+1/-1)
drivers/compress/isal/isal_compress_pmd.c (+39/-39)
drivers/compress/mlx5/mlx5_compress.c (+2/-2)
drivers/compress/octeontx/otx_zip.h (+6/-6)
drivers/compress/octeontx/otx_zip_pmd.c (+7/-7)
drivers/compress/zlib/zlib_pmd.c (+13/-13)
drivers/compress/zlib/zlib_pmd_ops.c (+2/-2)
drivers/crypto/bcmfs/bcmfs_device.c (+2/-2)
drivers/crypto/bcmfs/bcmfs_qp.c (+1/-1)
drivers/crypto/bcmfs/bcmfs_sym_pmd.c (+1/-1)
drivers/crypto/bcmfs/bcmfs_sym_session.c (+1/-1)
drivers/crypto/caam_jr/caam_jr.c (+16/-16)
drivers/crypto/caam_jr/caam_jr_uio.c (+3/-3)
drivers/crypto/ccp/ccp_dev.c (+1/-1)
drivers/crypto/ccp/rte_ccp_pmd.c (+1/-1)
drivers/crypto/cnxk/cn9k_cryptodev_ops.c (+2/-0)
drivers/crypto/cnxk/cnxk_se.h (+4/-4)
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c (+26/-25)
drivers/crypto/dpaa2_sec/dpaa2_sec_raw_dp.c (+8/-8)
drivers/crypto/dpaa_sec/dpaa_sec.c (+15/-16)
drivers/crypto/dpaa_sec/dpaa_sec_log.h (+1/-1)
drivers/crypto/dpaa_sec/dpaa_sec_raw_dp.c (+3/-3)
drivers/crypto/ipsec_mb/ipsec_mb_private.c (+2/-2)
drivers/crypto/ipsec_mb/ipsec_mb_private.h (+1/-1)
drivers/crypto/ipsec_mb/meson.build (+1/-1)
drivers/crypto/ipsec_mb/pmd_aesni_mb.c (+14/-14)
drivers/crypto/ipsec_mb/pmd_snow3g.c (+2/-2)
drivers/crypto/mlx5/mlx5_crypto_gcm.c (+1/-1)
drivers/crypto/mlx5/mlx5_crypto_xts.c (+1/-1)
drivers/crypto/octeontx/otx_cryptodev_hw_access.h (+3/-3)
drivers/crypto/openssl/rte_openssl_pmd.c (+39/-46)
drivers/crypto/openssl/rte_openssl_pmd_ops.c (+22/-22)
drivers/crypto/qat/qat_asym.c (+42/-3)
drivers/crypto/qat/qat_sym_session.c (+7/-8)
drivers/crypto/scheduler/scheduler_pmd_ops.c (+1/-1)
drivers/crypto/uadk/uadk_crypto_pmd.c (+4/-4)
drivers/crypto/virtio/virtio_cryptodev.c (+7/-9)
drivers/crypto/virtio/virtio_rxtx.c (+1/-2)
drivers/dma/dpaa/dpaa_qdma.c (+20/-20)
drivers/dma/dpaa2/dpaa2_qdma.c (+5/-5)
drivers/dma/hisilicon/hisi_dmadev.c (+3/-3)
drivers/dma/idxd/idxd_common.c (+1/-1)
drivers/dma/idxd/idxd_pci.c (+4/-4)
drivers/dma/ioat/ioat_dmadev.c (+7/-7)
drivers/event/cnxk/cn10k_eventdev.c (+46/-0)
drivers/event/cnxk/cn9k_eventdev.c (+31/-0)
drivers/event/cnxk/cnxk_eventdev.c (+1/-1)
drivers/event/cnxk/cnxk_eventdev_adptr.c (+1/-1)
drivers/event/cnxk/cnxk_tim_evdev.c (+1/-1)
drivers/event/dlb2/dlb2.c (+110/-110)
drivers/event/dlb2/dlb2_xstats.c (+3/-3)
drivers/event/dlb2/pf/dlb2_main.c (+26/-26)
drivers/event/dlb2/pf/dlb2_pf.c (+10/-10)
drivers/event/dpaa/dpaa_eventdev.c (+5/-5)
drivers/event/dpaa2/dpaa2_eventdev.c (+7/-7)
drivers/event/octeontx/ssovf_evdev.c (+13/-3)
drivers/event/octeontx/timvf_evdev.c (+1/-1)
drivers/event/opdl/opdl_evdev.c (+15/-15)
drivers/event/opdl/opdl_test.c (+58/-58)
drivers/event/sw/sw_evdev.c (+11/-11)
drivers/event/sw/sw_evdev_xstats.c (+2/-2)
drivers/mempool/dpaa2/dpaa2_hw_mempool.c (+4/-4)
drivers/mempool/octeontx/octeontx_fpavf.c (+10/-12)
drivers/mempool/octeontx/rte_mempool_octeontx.c (+3/-3)
drivers/ml/cnxk/cn10k_ml_dev.c (+16/-16)
drivers/ml/cnxk/cnxk_ml_ops.c (+18/-14)
drivers/ml/cnxk/mvtvm_ml_model.c (+1/-1)
drivers/net/af_packet/rte_eth_af_packet.c (+15/-15)
drivers/net/atlantic/atl_rxtx.c (+2/-2)
drivers/net/atlantic/hw_atl/hw_atl_utils.c (+6/-6)
drivers/net/axgbe/axgbe_ethdev.c (+1/-1)
drivers/net/bnx2x/bnx2x.c (+11/-16)
drivers/net/bnx2x/bnx2x_stats.c (+0/-4)
drivers/net/bnxt/bnxt_ethdev.c (+15/-8)
drivers/net/bnxt/bnxt_txr.c (+12/-5)
drivers/net/bnxt/tf_core/cfa_tcam_mgr.c (+8/-3)
drivers/net/bnxt/tf_core/tf_msg.c (+15/-15)
drivers/net/bnxt/tf_core/tf_sram_mgr.c (+2/-2)
drivers/net/bnxt/tf_ulp/bnxt_tf_pmd_shim.c (+14/-2)
drivers/net/bonding/rte_eth_bond_8023ad.c (+2/-2)
drivers/net/bonding/rte_eth_bond_8023ad.h (+3/-0)
drivers/net/bonding/rte_eth_bond_alb.c (+1/-1)
drivers/net/bonding/rte_eth_bond_api.c (+2/-2)
drivers/net/bonding/rte_eth_bond_pmd.c (+25/-6)
drivers/net/cnxk/cn10k_ethdev.c (+16/-2)
drivers/net/cnxk/cn10k_ethdev_sec.c (+10/-0)
drivers/net/cnxk/cn10k_tx.h (+5/-2)
drivers/net/cnxk/cn9k_ethdev.c (+15/-2)
drivers/net/cnxk/cn9k_tx.h (+5/-2)
drivers/net/cnxk/cnxk_ethdev.c (+3/-3)
drivers/net/cnxk/cnxk_ethdev.h (+11/-0)
drivers/net/cnxk/cnxk_ethdev_devargs.c (+1/-1)
drivers/net/cnxk/cnxk_ethdev_mcs.c (+7/-7)
drivers/net/cnxk/cnxk_ethdev_ops.c (+1/-1)
drivers/net/cnxk/cnxk_ethdev_sec.c (+1/-1)
drivers/net/cnxk/version.map (+1/-0)
drivers/net/cpfl/cpfl_ethdev.c (+1/-1)
drivers/net/cpfl/cpfl_flow_engine_fxp.c (+6/-0)
drivers/net/cpfl/cpfl_flow_parser.c (+23/-14)
drivers/net/cpfl/cpfl_fxp_rule.c (+4/-4)
drivers/net/dpaa/dpaa_ethdev.c (+4/-2)
drivers/net/dpaa/dpaa_rxtx.c (+4/-5)
drivers/net/dpaa2/dpaa2_ethdev.c (+9/-10)
drivers/net/dpaa2/dpaa2_flow.c (+18/-18)
drivers/net/dpaa2/dpaa2_mux.c (+2/-2)
drivers/net/dpaa2/dpaa2_recycle.c (+3/-3)
drivers/net/dpaa2/dpaa2_rxtx.c (+10/-10)
drivers/net/dpaa2/dpaa2_sparser.c (+4/-4)
drivers/net/dpaa2/dpaa2_tm.c (+24/-17)
drivers/net/e1000/base/e1000_80003es2lan.c (+1/-1)
drivers/net/e1000/base/e1000_82575.c (+4/-2)
drivers/net/e1000/base/e1000_api.c (+1/-0)
drivers/net/e1000/base/e1000_base.c (+2/-1)
drivers/net/e1000/base/e1000_defines.h (+1/-0)
drivers/net/e1000/base/e1000_ich8lan.c (+2/-0)
drivers/net/e1000/base/e1000_mac.c (+7/-5)
drivers/net/e1000/base/e1000_nvm.c (+2/-2)
drivers/net/e1000/base/e1000_phy.c (+12/-13)
drivers/net/e1000/base/e1000_vf.c (+7/-5)
drivers/net/e1000/base/meson.build (+1/-2)
drivers/net/e1000/em_ethdev.c (+83/-0)
drivers/net/e1000/igb_ethdev.c (+179/-3)
drivers/net/ena/base/ena_plat_dpdk.h (+1/-9)
drivers/net/enetc/enetc_ethdev.c (+2/-2)
drivers/net/enetfec/enet_ethdev.c (+2/-3)
drivers/net/enetfec/enet_uio.c (+5/-5)
drivers/net/enic/enic_ethdev.c (+10/-10)
drivers/net/enic/enic_flow.c (+10/-10)
drivers/net/enic/enic_vf_representor.c (+8/-8)
drivers/net/failsafe/failsafe_args.c (+1/-1)
drivers/net/failsafe/failsafe_eal.c (+1/-1)
drivers/net/failsafe/failsafe_ether.c (+2/-2)
drivers/net/failsafe/failsafe_intr.c (+3/-3)
drivers/net/gve/base/gve_adminq.c (+1/-1)
drivers/net/gve/base/gve_osdep.h (+36/-12)
drivers/net/gve/gve_ethdev.c (+140/-28)
drivers/net/gve/gve_ethdev.h (+6/-1)
drivers/net/gve/gve_rx.c (+1/-1)
drivers/net/gve/gve_rx_dqo.c (+29/-57)
drivers/net/gve/gve_tx_dqo.c (+8/-3)
drivers/net/hinic/base/hinic_pmd_eqs.c (+1/-1)
drivers/net/hinic/base/hinic_pmd_mbox.c (+3/-3)
drivers/net/hinic/base/hinic_pmd_niccfg.c (+4/-4)
drivers/net/hinic/hinic_pmd_ethdev.c (+2/-2)
drivers/net/hinic/hinic_pmd_flow.c (+7/-7)
drivers/net/hns3/hns3_cmd.c (+13/-9)
drivers/net/hns3/hns3_cmd.h (+2/-2)
drivers/net/hns3/hns3_common.c (+1/-1)
drivers/net/hns3/hns3_common.h (+1/-1)
drivers/net/hns3/hns3_dump.c (+10/-6)
drivers/net/hns3/hns3_ethdev.c (+30/-4)
drivers/net/hns3/hns3_ethdev.h (+0/-2)
drivers/net/hns3/hns3_fdir.c (+1/-0)
drivers/net/hns3/hns3_flow.c (+6/-1)
drivers/net/hns3/hns3_intr.c (+14/-8)
drivers/net/hns3/hns3_intr.h (+1/-1)
drivers/net/hns3/hns3_ptp.c (+1/-1)
drivers/net/hns3/hns3_regs.c (+5/-13)
drivers/net/hns3/hns3_rxtx.c (+1/-1)
drivers/net/i40e/base/i40e_adminq.c (+17/-2)
drivers/net/i40e/base/i40e_common.c (+4/-38)
drivers/net/i40e/base/i40e_devids.h (+2/-1)
drivers/net/i40e/base/i40e_diag.c (+6/-6)
drivers/net/i40e/base/i40e_nvm.c (+8/-8)
drivers/net/i40e/i40e_ethdev.c (+17/-20)
drivers/net/i40e/i40e_flow.c (+65/-12)
drivers/net/i40e/i40e_pf.c (+4/-4)
drivers/net/i40e/i40e_rxtx.c (+12/-12)
drivers/net/i40e/i40e_rxtx_vec_avx2.c (+1/-1)
drivers/net/i40e/i40e_rxtx_vec_avx512.c (+8/-1)
drivers/net/i40e/meson.build (+3/-0)
drivers/net/iavf/iavf_ethdev.c (+20/-41)
drivers/net/iavf/iavf_rxtx.c (+9/-7)
drivers/net/iavf/iavf_rxtx.h (+2/-0)
drivers/net/iavf/iavf_rxtx_vec_avx2.c (+1/-1)
drivers/net/iavf/iavf_rxtx_vec_avx512.c (+7/-0)
drivers/net/iavf/iavf_rxtx_vec_neon.c (+2/-6)
drivers/net/iavf/iavf_vchnl.c (+3/-2)
drivers/net/iavf/meson.build (+3/-0)
drivers/net/ice/base/ice_adminq_cmd.h (+1/-1)
drivers/net/ice/base/ice_controlq.c (+21/-2)
drivers/net/ice/base/ice_nvm.c (+24/-12)
drivers/net/ice/base/ice_switch.c (+0/-2)
drivers/net/ice/ice_dcf_ethdev.c (+2/-2)
drivers/net/ice/ice_dcf_vf_representor.c (+7/-7)
drivers/net/ice/ice_ethdev.c (+26/-22)
drivers/net/ice/ice_fdir_filter.c (+1/-1)
drivers/net/ice/ice_generic_flow.c (+26/-15)
drivers/net/ice/ice_hash.c (+4/-4)
drivers/net/ice/ice_rxtx.c (+16/-1)
drivers/net/ice/ice_rxtx_vec_avx2.c (+1/-1)
drivers/net/ice/ice_rxtx_vec_avx512.c (+7/-0)
drivers/net/ice/meson.build (+3/-0)
drivers/net/igc/base/igc_defines.h (+1/-0)
drivers/net/igc/base/igc_i225.c (+16/-8)
drivers/net/igc/base/igc_mac.c (+6/-4)
drivers/net/igc/base/igc_nvm.c (+2/-2)
drivers/net/igc/base/igc_phy.c (+3/-5)
drivers/net/igc/igc_ethdev.c (+96/-0)
drivers/net/igc/igc_txrx.c (+26/-0)
drivers/net/ionic/ionic_osdep.h (+22/-8)
drivers/net/ipn3ke/ipn3ke_ethdev.c (+2/-2)
drivers/net/ipn3ke/ipn3ke_flow.c (+11/-12)
drivers/net/ipn3ke/ipn3ke_representor.c (+10/-10)
drivers/net/ipn3ke/ipn3ke_tm.c (+3/-7)
drivers/net/ixgbe/base/ixgbe_82599.c (+5/-3)
drivers/net/ixgbe/ixgbe_ethdev.c (+244/-10)
drivers/net/ixgbe/ixgbe_ipsec.c (+12/-12)
drivers/net/ixgbe/ixgbe_pf.c (+9/-9)
drivers/net/ixgbe/ixgbe_rxtx.h (+1/-1)
drivers/net/ixgbe/rte_pmd_ixgbe.c (+4/-4)
drivers/net/mana/mana.c (+59/-44)
drivers/net/mana/mana.h (+1/-5)
drivers/net/mana/meson.build (+3/-1)
drivers/net/mana/mp.c (+1/-1)
drivers/net/memif/rte_eth_memif.c (+10/-2)
drivers/net/mlx4/mlx4.c (+2/-2)
drivers/net/mlx5/hws/mlx5dr.h (+3/-1)
drivers/net/mlx5/hws/mlx5dr_action.c (+55/-10)
drivers/net/mlx5/hws/mlx5dr_context.c (+6/-3)
drivers/net/mlx5/hws/mlx5dr_definer.c (+28/-20)
drivers/net/mlx5/hws/mlx5dr_definer.h (+12/-6)
drivers/net/mlx5/linux/mlx5_os.c (+10/-3)
drivers/net/mlx5/mlx5.c (+5/-1)
drivers/net/mlx5/mlx5.h (+6/-4)
drivers/net/mlx5/mlx5_ethdev.c (+4/-0)
drivers/net/mlx5/mlx5_flow.c (+2/-1)
drivers/net/mlx5/mlx5_flow.h (+11/-5)
drivers/net/mlx5/mlx5_flow_aso.c (+3/-3)
drivers/net/mlx5/mlx5_flow_dv.c (+24/-13)
drivers/net/mlx5/mlx5_flow_flex.c (+116/-78)
drivers/net/mlx5/mlx5_flow_hw.c (+60/-33)
drivers/net/mlx5/mlx5_flow_meter.c (+4/-2)
drivers/net/mlx5/mlx5_hws_cnt.c (+29/-20)
drivers/net/mlx5/mlx5_rx.c (+1/-1)
drivers/net/mlx5/mlx5_rx.h (+1/-0)
drivers/net/mlx5/mlx5_rxq.c (+22/-5)
drivers/net/mlx5/mlx5_rxtx.c (+80/-0)
drivers/net/mlx5/mlx5_rxtx_vec.c (+3/-0)
drivers/net/mlx5/mlx5_rxtx_vec_altivec.h (+7/-8)
drivers/net/mlx5/mlx5_rxtx_vec_neon.h (+13/-14)
drivers/net/mlx5/mlx5_rxtx_vec_sse.h (+4/-5)
drivers/net/mlx5/mlx5_trace.h (+6/-3)
drivers/net/mlx5/mlx5_trigger.c (+2/-2)
drivers/net/mlx5/mlx5_tx.c (+4/-4)
drivers/net/mlx5/mlx5_tx.h (+49/-4)
drivers/net/mlx5/mlx5_txpp.c (+2/-9)
drivers/net/mlx5/mlx5_txq.c (+8/-0)
drivers/net/mlx5/tools/mlx5_trace.py (+12/-5)
drivers/net/mlx5/windows/mlx5_os.c (+5/-3)
drivers/net/mvneta/mvneta_ethdev.c (+6/-0)
drivers/net/netvsc/hn_ethdev.c (+21/-17)
drivers/net/netvsc/hn_rxtx.c (+81/-12)
drivers/net/netvsc/hn_vf.c (+12/-1)
drivers/net/nfb/nfb_rx.c (+1/-1)
drivers/net/nfb/nfb_tx.c (+1/-1)
drivers/net/nfp/flower/nfp_conntrack.c (+4/-2)
drivers/net/nfp/flower/nfp_flower_ctrl.c (+14/-0)
drivers/net/nfp/flower/nfp_flower_representor.c (+4/-4)
drivers/net/nfp/flower/nfp_flower_representor.h (+2/-0)
drivers/net/nfp/nfp_ethdev.c (+30/-11)
drivers/net/nfp/nfp_flow.c (+0/-1)
drivers/net/nfp/nfp_ipsec.c (+2/-13)
drivers/net/nfp/nfp_net_common.c (+5/-5)
drivers/net/nfp/nfp_net_common.h (+2/-0)
drivers/net/ngbe/base/ngbe_hw.c (+1/-1)
drivers/net/ngbe/base/ngbe_regs.h (+2/-0)
drivers/net/ngbe/ngbe_ethdev.c (+45/-30)
drivers/net/ngbe/ngbe_pf.c (+5/-5)
drivers/net/octeon_ep/cnxk_ep_tx.c (+1/-1)
drivers/net/octeon_ep/cnxk_ep_vf.c (+6/-6)
drivers/net/octeon_ep/otx2_ep_vf.c (+9/-9)
drivers/net/octeon_ep/otx_ep_common.h (+1/-1)
drivers/net/octeon_ep/otx_ep_ethdev.c (+40/-40)
drivers/net/octeon_ep/otx_ep_mbox.c (+15/-18)
drivers/net/octeon_ep/otx_ep_rxtx.c (+37/-37)
drivers/net/octeon_ep/otx_ep_vf.c (+10/-10)
drivers/net/octeontx/base/octeontx_pkovf.c (+1/-1)
drivers/net/octeontx/octeontx_ethdev.c (+2/-2)
drivers/net/pcap/pcap_ethdev.c (+25/-18)
drivers/net/pfe/pfe_ethdev.c (+11/-11)
drivers/net/pfe/pfe_hif.c (+6/-6)
drivers/net/pfe/pfe_hif_lib.c (+1/-1)
drivers/net/qede/base/ecore_dcbx.c (+4/-4)
drivers/net/qede/qede_debug.c (+5/-0)
drivers/net/qede/qede_rxtx.c (+33/-33)
drivers/net/sfc/sfc_flow_rss.c (+2/-2)
drivers/net/sfc/sfc_mae.c (+9/-14)
drivers/net/sfc/sfc_repr.c (+0/-4)
drivers/net/tap/rte_eth_tap.c (+4/-3)
drivers/net/tap/tap_netlink.c (+2/-1)
drivers/net/thunderx/base/nicvf_mbox.c (+21/-21)
drivers/net/thunderx/nicvf_ethdev.c (+1/-1)
drivers/net/txgbe/base/txgbe_mng.c (+1/-0)
drivers/net/txgbe/base/txgbe_phy.c (+2/-6)
drivers/net/txgbe/base/txgbe_regs.h (+1/-1)
drivers/net/txgbe/txgbe_ethdev.c (+12/-2)
drivers/net/txgbe/txgbe_ipsec.c (+12/-12)
drivers/net/txgbe/txgbe_pf.c (+10/-10)
drivers/net/txgbe/txgbe_rxtx.c (+1/-2)
drivers/net/virtio/virtio_user/virtio_user_dev.c (+1/-1)
drivers/net/virtio/virtio_user_ethdev.c (+1/-0)
drivers/net/vmxnet3/vmxnet3_ethdev.c (+24/-15)
drivers/net/vmxnet3/vmxnet3_ethdev.h (+2/-2)
drivers/net/vmxnet3/vmxnet3_rxtx.c (+1/-1)
drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c (+15/-9)
drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c (+7/-7)
drivers/raw/ifpga/afu_pmd_n3000.c (+1/-1)
drivers/raw/ifpga/base/opae_intel_max10.c (+9/-2)
drivers/raw/ifpga/ifpga_rawdev.c (+51/-51)
drivers/regex/cn9k/cn9k_regexdev.c (+1/-1)
drivers/vdpa/ifc/ifcvf_vdpa.c (+5/-5)
drivers/vdpa/nfp/nfp_vdpa.c (+1/-1)
drivers/vdpa/nfp/nfp_vdpa_core.c (+21/-4)
dts/tests/TestSuite_smoke_tests.py (+1/-1)
examples/eventdev_pipeline/pipeline_worker_generic.c (+8/-4)
examples/ipsec-secgw/event_helper.c (+1/-1)
examples/ipsec-secgw/ipsec-secgw.c (+4/-2)
examples/ipsec-secgw/ipsec_process.c (+2/-1)
examples/ipsec-secgw/sa.c (+2/-2)
examples/l2fwd-event/l2fwd_event.c (+1/-0)
examples/l3fwd-power/main.c (+23/-22)
examples/l3fwd/l3fwd_altivec.h (+5/-1)
examples/l3fwd/l3fwd_common.h (+7/-0)
examples/l3fwd/l3fwd_em_hlm.h (+1/-1)
examples/l3fwd/l3fwd_em_sequential.h (+1/-1)
examples/l3fwd/l3fwd_fib.c (+1/-1)
examples/l3fwd/l3fwd_lpm_altivec.h (+1/-1)
examples/l3fwd/l3fwd_lpm_neon.h (+1/-1)
examples/l3fwd/l3fwd_lpm_sse.h (+1/-1)
examples/l3fwd/l3fwd_neon.h (+5/-1)
examples/l3fwd/l3fwd_sse.h (+5/-1)
examples/l3fwd/main.c (+3/-2)
examples/ntb/ntb_fwd.c (+4/-1)
examples/ptpclient/ptpclient.c (+1/-1)
examples/vhost_blk/vhost_blk.c (+1/-1)
examples/vhost_crypto/main.c (+2/-2)
lib/bpf/bpf_convert.c (+1/-1)
lib/dmadev/rte_dmadev.c (+1/-1)
lib/eal/common/eal_common_dev.c (+7/-6)
lib/eal/common/eal_common_devargs.c (+1/-1)
lib/eal/common/eal_common_lcore.c (+13/-5)
lib/eal/linux/eal_dev.c (+0/-3)
lib/eal/linux/eal_memory.c (+1/-0)
lib/eal/unix/meson.build (+5/-0)
lib/eal/unix/rte_thread.c (+25/-0)
lib/eal/x86/include/rte_io.h (+1/-1)
lib/eal/x86/include/rte_vect.h (+0/-2)
lib/ethdev/rte_ethdev.c (+26/-6)
lib/ethdev/rte_ethdev.h (+7/-1)
lib/eventdev/rte_event_dma_adapter.c (+3/-3)
lib/eventdev/rte_event_eth_rx_adapter.c (+1/-1)
lib/fib/dir24_8.c (+2/-2)
lib/fib/trie.c (+6/-4)
lib/gro/rte_gro.c (+1/-1)
lib/hash/rte_thash.c (+25/-1)
lib/member/rte_member_ht.c (+1/-1)
lib/mempool/rte_mempool.c (+3/-1)
lib/pcapng/rte_pcapng.c (+11/-11)
lib/pdump/rte_pdump.c (+3/-0)
lib/power/power_acpi_cpufreq.c (+5/-1)
lib/power/power_amd_pstate_cpufreq.c (+5/-1)
lib/power/power_common.c (+22/-0)
lib/power/power_common.h (+1/-0)
lib/power/power_cppc_cpufreq.c (+6/-2)
lib/power/power_pstate_cpufreq.c (+5/-1)
lib/power/rte_power_pmd_mgmt.c (+6/-5)
lib/rcu/rte_rcu_qsbr.c (+8/-8)
lib/stack/rte_stack_lf_c11.h (+1/-1)
lib/vhost/rte_vhost.h (+2/-0)
lib/vhost/socket.c (+20/-8)
lib/vhost/vdpa.c (+1/-0)
lib/vhost/vduse.c (+2/-1)
lib/vhost/vhost.c (+3/-2)
lib/vhost/vhost_crypto.c (+22/-3)
lib/vhost/vhost_user.c (+4/-2)
lib/vhost/virtio_net.c (+19/-1)
Reviewer Review Type Date Requested Status
Ubuntu Sponsors sru Pending
git-ubuntu import Pending
Review via email: mp+485420@code.launchpad.net
To post a comment you must log in.

Unmerged commits

15c455e... by Arif Ali

Update changelog for 23.11.4-0ubuntu0.24.04.1

d417d7a... by Arif Ali

Import 23.11.4

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
2index 6b35c56..056b15c 100644
3--- a/.github/workflows/build.yml
4+++ b/.github/workflows/build.yml
5@@ -152,6 +152,44 @@ jobs:
6 build/meson-logs/meson-log.txt
7 build/meson-logs/testlog.txt
8
9+ windows-vm-builds:
10+ name: ${{ join(matrix.config.*, '-') }}
11+ runs-on: ${{ matrix.config.os }}
12+ strategy:
13+ fail-fast: false
14+ matrix:
15+ config:
16+ - os: windows-2022
17+ compiler: msvc
18+
19+ steps:
20+ - name: Checkout sources
21+ uses: actions/checkout@v4
22+ - name: Set up Python
23+ uses: actions/setup-python@v5
24+ with:
25+ python-version: '3.x'
26+ - name: Install dependencies
27+ run: python -m pip install meson==1.6.1 ninja
28+ - name: Configure
29+ shell: cmd
30+ run: |
31+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
32+ meson setup -Denable_stdatomic=true build
33+ - name: Build
34+ shell: cmd
35+ run: |
36+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
37+ meson compile -C build
38+ - name: Upload logs on failure
39+ if: failure()
40+ uses: actions/upload-artifact@v4
41+ with:
42+ name: meson-logs-${{ join(matrix.config.*, '-') }}
43+ path: |
44+ build/.ninja_log
45+ build/meson-logs/meson-log.txt
46+
47 prepare-container-images:
48 name: ${{ join(matrix.config.*, '-') }}
49 runs-on: ubuntu-latest
50diff --git a/.mailmap b/.mailmap
51index f288314..20fa4a2 100644
52--- a/.mailmap
53+++ b/.mailmap
54@@ -80,6 +80,7 @@ Amaranath Somalapuram <asomalap@amd.com>
55 Amine Kherbouche <amine.kherbouche@6wind.com>
56 Amin Tootoonchian <amint@icsi.berkeley.edu>
57 Ami Sabo <amis@radware.com>
58+Amir Avivi <amir.avivi@intel.com>
59 Amit Bernstein <amitbern@amazon.com>
60 Amit Gupta <agupta3@marvell.com>
61 Amit Prakash Shukla <amitprakashs@marvell.com>
62@@ -177,6 +178,7 @@ Bert van Leeuwen <bert.vanleeuwen@netronome.com>
63 Bhagyada Modali <bhagyada.modali@amd.com>
64 Bharat Mota <bmota@vmware.com>
65 Bill Hong <bhong@brocade.com>
66+Bill Xiang <xiangwencheng@dayudpu.com>
67 Billy McFall <bmcfall@redhat.com>
68 Billy O'Mahony <billy.o.mahony@intel.com>
69 Bing Zhao <bingz@nvidia.com> <bingz@mellanox.com> <bing.zhao@hxt-semitech.com>
70@@ -211,6 +213,7 @@ Chandubabu Namburu <chandu@amd.com>
71 Chang Miao <chang.miao@corigine.com>
72 Changchun Ouyang <changchun.ouyang@intel.com>
73 Changpeng Liu <changpeng.liu@intel.com>
74+Changqi Dingluo <dingluochangqi.ck@bytedance.com>
75 Changqing Wu <changqingx.wu@intel.com>
76 Chaoyong He <chaoyong.he@corigine.com>
77 Chao Zhu <chaozhu@linux.vnet.ibm.com> <bjzhuc@cn.ibm.com>
78@@ -229,6 +232,7 @@ Cheng Peng <cheng.peng5@zte.com.cn>
79 Chengwen Feng <fengchengwen@huawei.com>
80 Chenmin Sun <chenmin.sun@intel.com>
81 Chenming Chang <ccm@ccm.ink>
82+Chenxingyu Wang <wangchenxingyu@huawei.com>
83 Chenxu Di <chenxux.di@intel.com>
84 Chenyu Huang <chenyux.huang@intel.com>
85 Cheryl Houser <chouser@vmware.com>
86@@ -334,6 +338,7 @@ Dheemanth Mallikarjun <dheemanthm@vmware.com>
87 Diana Wang <na.wang@corigine.com>
88 Didier Pallard <didier.pallard@6wind.com>
89 Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
90+Dima Ruinskiy <dima.ruinskiy@intel.com>
91 Ding Zhi <zhi.ding@6wind.com>
92 Diogo Behrens <diogo.behrens@huawei.com>
93 Dirk-Holger Lenz <dirk.lenz@ng4t.com>
94@@ -438,7 +443,7 @@ Gargi Sau <gargi.sau@intel.com>
95 Gary Mussar <gmussar@ciena.com>
96 Gaurav Singh <gaurav1086@gmail.com>
97 Gautam Dawar <gdawar@solarflare.com>
98-Gavin Hu <gavin.hu@arm.com> <gavin.hu@linaro.org>
99+Gavin Hu <gahu@nvidia.com> <gavin.hu@arm.com> <gavin.hu@linaro.org>
100 Geoffrey Le Gourriérec <geoffrey.le_gourrierec@6wind.com>
101 Geoffrey Lv <geoffrey.lv@gmail.com>
102 Geoff Thorpe <geoff.thorpe@nxp.com>
103@@ -580,6 +585,7 @@ Jacek Naczyk <jacek.naczyk@intel.com>
104 Jacek Piasecki <jacekx.piasecki@intel.com>
105 Jacek Siuda <jck@semihalf.com>
106 Jacob Keller <jacob.e.keller@intel.com>
107+Jakub Buchocki <jakubx.buchocki@intel.com>
108 Jakub Chylkowski <jakubx.chylkowski@intel.com>
109 Jakub Grajciar <jgrajcia@cisco.com>
110 Jakub Neruda <neruda@netcope.com>
111@@ -636,6 +642,7 @@ Jia He <justin.he@arm.com> <jia.he@hxt-semitech.com>
112 Jianbo Liu <jianbo.liu@arm.com> <jianbo.liu@linaro.org>
113 Jianfeng Tan <jianfeng.tan@intel.com>
114 Jiangu Zhao <zhaojg@arraynetworks.com.cn>
115+Jianping Zhao <zhao305149619@gmail.com>
116 Jianwei Ma <jianwei.ma@intel.com>
117 Jianwei Mei <jianweix.mei@intel.com>
118 Jiaqi Min <jiaqix.min@intel.com>
119@@ -710,10 +717,11 @@ Julien Aube <julien_dpdk@jaube.fr>
120 Julien Castets <jcastets@scaleway.com>
121 Julien Courtat <julien.courtat@6wind.com>
122 Julien Cretin <julien.cretin@trust-in-soft.com>
123+Julien Hascoet <ju.hascoet@gmail.com>
124 Julien Massonneau <julien.massonneau@6wind.com>
125 Julien Meunier <julien.meunier@nokia.com> <julien.meunier@6wind.com>
126 Július Milan <jmilan.dev@gmail.com>
127-Junfeng Guo <junfeng.guo@intel.com>
128+Junfeng Guo <junfengg@nvidia.com> <junfeng.guo@intel.com>
129 Junjie Chen <junjie.j.chen@intel.com>
130 Junjie Wan <wanjunjie@bytedance.com>
131 Jun Qiu <jun.qiu@jaguarmicro.com>
132@@ -767,7 +775,7 @@ Kirill Rybalchenko <kirill.rybalchenko@intel.com>
133 Kishore Padmanabha <kishore.padmanabha@broadcom.com>
134 Klaus Degner <kd@allegro-packets.com>
135 Kommula Shiva Shankar <kshankar@marvell.com>
136-Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> <konstantin.ananyev@huawei.com> <konstantin.ananyev@intel.com>
137+Konstantin Ananyev <konstantin.ananyev@huawei.com> <konstantin.v.ananyev@yandex.ru> <konstantin.ananyev@intel.com>
138 Krishna Murthy <krishna.j.murthy@intel.com>
139 Krzysztof Galazka <krzysztof.galazka@intel.com>
140 Krzysztof Kanas <kkanas@marvell.com> <krzysztof.kanas@caviumnetworks.com>
141@@ -859,6 +867,7 @@ Mahesh Adulla <mahesh.adulla@amd.com>
142 Mahipal Challa <mchalla@marvell.com>
143 Mah Yock Gen <yock.gen.mah@intel.com>
144 Mairtin o Loingsigh <mairtin.oloingsigh@intel.com>
145+Malcolm Bumgardner <mbumgard@cisco.com>
146 Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
147 Mallesh Koujalagi <malleshx.koujalagi@intel.com>
148 Malvika Gupta <malvika.gupta@arm.com>
149@@ -967,6 +976,7 @@ Michal Swiatkowski <michal.swiatkowski@intel.com>
150 Michal Wilczynski <michal.wilczynski@intel.com>
151 Michel Machado <michel@digirati.com.br>
152 Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
153+Mihai Brodschi <mihai.brodschi@broadcom.com>
154 Mihai Pogonaru <pogonarumihai@gmail.com>
155 Mike Baucom <michael.baucom@broadcom.com>
156 Mike Pattrick <mkp@redhat.com>
157@@ -975,6 +985,7 @@ Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
158 Mike Ximing Chen <mike.ximing.chen@intel.com>
159 Milena Olech <milena.olech@intel.com>
160 Min Cao <min.cao@intel.com>
161+Minggang Li (Gavin) <gavinl@nvidia.com>
162 Minghuan Lian <minghuan.lian@nxp.com>
163 Mingjin Ye <mingjinx.ye@intel.com>
164 Mingshan Zhang <mingshan.zhang@intel.com>
165@@ -1018,6 +1029,7 @@ Natanael Copa <ncopa@alpinelinux.org>
166 Nathan Brown <nathan.brown@arm.com>
167 Nathan Law <nlaw@brocade.com>
168 Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
169+Nawal Kishor <nkishor@marvell.com>
170 Neel Patel <neel.patel@amd.com> <neel@pensando.io>
171 Neil Horman <nhorman@tuxdriver.com>
172 Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
173@@ -1025,6 +1037,7 @@ Nelson Escobar <neescoba@cisco.com>
174 Nemanja Marjanovic <nemanja.marjanovic@intel.com>
175 Netanel Belgazal <netanel@amazon.com>
176 Netanel Gonen <netanelg@mellanox.com>
177+Niall Meade <niall.meade@intel.com>
178 Niall Power <niall.power@intel.com>
179 Nicholas Pratte <npratte@iol.unh.edu>
180 Nick Connolly <nick.connolly@arm.com> <nick.connolly@mayadata.io>
181@@ -1046,6 +1059,7 @@ Nipun Gupta <nipun.gupta@amd.com> <nipun.gupta@nxp.com>
182 Nir Efrati <nir.efrati@intel.com>
183 Nirmoy Das <ndas@suse.de>
184 Nithin Dabilpuram <ndabilpuram@marvell.com> <nithin.dabilpuram@caviumnetworks.com>
185+Nithinsen Kaithakadan <nkaithakadan@marvell.com>
186 Nitin Saxena <nitin.saxena@caviumnetworks.com>
187 Nitzan Weller <nitzanwe@mellanox.com>
188 Nizan Zorea <nizan.zorea@intel.com>
189@@ -1053,9 +1067,11 @@ Noa Ezra <noae@mellanox.com>
190 Nobuhiro Miki <nmiki@yahoo-corp.jp>
191 Norbert Ciosek <norbertx.ciosek@intel.com>
192 Odi Assli <odia@nvidia.com>
193+Ofer Dagan <ofer.d@claroty.com>
194 Ognjen Joldzic <ognjen.joldzic@gmail.com>
195 Ola Liljedahl <ola.liljedahl@arm.com>
196 Oleg Polyakov <olegp123@walla.co.il>
197+Oleksandr Nahnybida <oleksandrn@interfacemasters.com>
198 Olga Shern <olgas@nvidia.com> <olgas@mellanox.com>
199 Olivier Gournet <ogournet@corp.free.fr>
200 Olivier Matz <olivier.matz@6wind.com>
201@@ -1115,13 +1131,14 @@ Peng Yu <penyu@amazon.com>
202 Peng Zhang <peng.zhang@corigine.com> <peng1x.zhang@intel.com>
203 Pengzhen Liu <liupengzhen3@huawei.com>
204 Peter Mccarthy <peter.mccarthy@intel.com>
205+Peter Morrow <peter@graphiant.com>
206 Peter Nilsson <peter.j.nilsson@ericsson.com>
207 Peter Spreadborough <peter.spreadborough@broadcom.com>
208 Petr Houska <t-pehous@microsoft.com>
209 Phanendra Vukkisala <pvukkisala@marvell.com>
210 Phil Yang <phil.yang@arm.com>
211 Philip Prindeville <philipp@redfish-solutions.com>
212-Pier Damouny <pdamouny@nvidia.com>
213+Pier Damouny <pdamouny@nvidia.com>
214 Pierre Pfister <ppfister@cisco.com>
215 Piotr Azarewicz <piotr.azarewicz@intel.com> <piotrx.t.azarewicz@intel.com>
216 Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl>
217@@ -1135,6 +1152,7 @@ Pradeep Satyanarayana <pradeep@us.ibm.com>
218 Prashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
219 Prashant Upadhyaya <prashant.upadhyaya@aricent.com> <praupadhyaya@gmail.com>
220 Prateek Agarwal <prateekag@cse.iitb.ac.in>
221+Praveen Kaligineedi <pkaligineedi@google.com>
222 Praveen Shetty <praveen.shetty@intel.com>
223 Pravin Pathak <pravin.pathak@intel.com>
224 Prince Takkar <ptakkar@marvell.com>
225@@ -1172,6 +1190,7 @@ Rahul Gupta <rahul.gupta@broadcom.com>
226 Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
227 Rahul Shah <rahul.r.shah@intel.com>
228 Raja Zidane <rzidane@nvidia.com>
229+Rajesh Mudimadugula <rmudimadugul@marvell.com>
230 Rajesh Ravi <rajesh.ravi@broadcom.com>
231 Rakesh Kudurumalla <rkudurumalla@marvell.com> <rkudurumalla@caviumnetworks.com>
232 Ralf Hoffmann <ralf.hoffmann@allegro-packets.com>
233@@ -1255,6 +1274,7 @@ Sampath Peechu <speechu@cisco.com>
234 Samuel Gauthier <samuel.gauthier@6wind.com>
235 Sandilya Bhagi <sbhagi@solarflare.com>
236 Sangjin Han <sangjin@eecs.berkeley.edu>
237+Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com>
238 Sankar Chokkalingam <sankarx.chokkalingam@intel.com>
239 Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com>
240 Santosh Shukla <santosh.shukla@caviumnetworks.com> <sshukla@mvista.com>
241@@ -1298,6 +1318,7 @@ Shally Verma <shallyv@marvell.com> <shally.verma@caviumnetworks.com>
242 Shani Peretz <shperetz@nvidia.com>
243 Shannon Nelson <snelson@pensando.io>
244 Shannon Zhao <zhaoshenglong@huawei.com>
245+Shaokai Zhang <felix.zhang@jaguarmicro.com>
246 Shaopeng He <shaopeng.he@intel.com>
247 Shaowei Sun <1819846787@qq.com>
248 Sharmila Podury <sharmila.podury@att.com>
249@@ -1447,6 +1468,7 @@ Timmons C. Player <timmons.player@spirent.com>
250 Timothy McDaniel <timothy.mcdaniel@intel.com>
251 Timothy Miskell <timothy.miskell@intel.com>
252 Timothy Redaelli <tredaelli@redhat.com>
253+Tim Martin <timothym@nvidia.com>
254 Tim Shearer <tim.shearer@overturenetworks.com>
255 Ting-Kai Ku <ting-kai.ku@intel.com>
256 Ting Xu <ting.xu@intel.com>
257@@ -1484,6 +1506,7 @@ Vadim Suraev <vadim.suraev@gmail.com>
258 Vakul Garg <vakul.garg@nxp.com>
259 Vamsi Attunuru <vattunuru@marvell.com>
260 Vanshika Shukla <vanshika.shukla@nxp.com>
261+Varun Lakkur Ambaji Rao <varun.la@gmail.com>
262 Varun Sethi <v.sethi@nxp.com>
263 Vasily Philipov <vasilyf@mellanox.com>
264 Veerasenareddy Burru <vburru@marvell.com>
265@@ -1596,6 +1619,7 @@ Xieming Katty <katty.xieming@huawei.com>
266 Xinfeng Zhao <xinfengx.zhao@intel.com>
267 Xingguang He <xingguang.he@intel.com>
268 Xingyou Chen <niatlantice@gmail.com>
269+Xinying Yu <xinying.yu@corigine.com>
270 Xin Long <longxin.xl@alibaba-inc.com>
271 Xi Zhang <xix.zhang@intel.com>
272 Xuan Ding <xuan.ding@intel.com>
273@@ -1612,6 +1636,7 @@ Yahui Cao <yahui.cao@intel.com>
274 Yajun Wu <yajunw@nvidia.com>
275 Yangchao Zhou <zhouyates@gmail.com>
276 Yanglong Wu <yanglong.wu@intel.com>
277+Yang Ming <ming.1.yang@nokia-sbell.com>
278 Yang Zhang <zy107165@alibaba-inc.com>
279 Yanjie Xu <yanjie.xu@intel.com>
280 Yan Xia <yanx.xia@intel.com>
281diff --git a/VERSION b/VERSION
282index d1bc17f..ccebe8d 100644
283--- a/VERSION
284+++ b/VERSION
285@@ -1 +1 @@
286-23.11.2
287+23.11.4
288diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c
289index 76c7475..5eaab63 100644
290--- a/app/dumpcap/main.c
291+++ b/app/dumpcap/main.c
292@@ -93,7 +93,6 @@ struct interface {
293 struct rte_bpf_prm *bpf_prm;
294 char name[RTE_ETH_NAME_MAX_LEN];
295
296- struct rte_rxtx_callback *rx_cb[RTE_MAX_QUEUES_PER_PORT];
297 const char *ifname;
298 const char *ifdescr;
299 };
300@@ -874,7 +873,7 @@ static ssize_t
301 pcap_write_packets(pcap_dumper_t *dumper,
302 struct rte_mbuf *pkts[], uint16_t n)
303 {
304- uint8_t temp_data[RTE_MBUF_DEFAULT_BUF_SIZE];
305+ uint8_t temp_data[RTE_ETHER_MAX_JUMBO_FRAME_LEN];
306 struct pcap_pkthdr header;
307 uint16_t i;
308 size_t total = 0;
309@@ -883,14 +882,19 @@ pcap_write_packets(pcap_dumper_t *dumper,
310
311 for (i = 0; i < n; i++) {
312 struct rte_mbuf *m = pkts[i];
313+ size_t len, caplen;
314
315- header.len = rte_pktmbuf_pkt_len(m);
316- header.caplen = RTE_MIN(header.len, sizeof(temp_data));
317+ len = caplen = rte_pktmbuf_pkt_len(m);
318+ if (unlikely(!rte_pktmbuf_is_contiguous(m) && len > sizeof(temp_data)))
319+ caplen = sizeof(temp_data);
320+
321+ header.len = len;
322+ header.caplen = caplen;
323
324 pcap_dump((u_char *)dumper, &header,
325- rte_pktmbuf_read(m, 0, header.caplen, temp_data));
326+ rte_pktmbuf_read(m, 0, caplen, temp_data));
327
328- total += sizeof(header) + header.len;
329+ total += sizeof(header) + caplen;
330 }
331
332 return total;
333diff --git a/app/proc-info/main.c b/app/proc-info/main.c
334index b672aae..4a55870 100644
335--- a/app/proc-info/main.c
336+++ b/app/proc-info/main.c
337@@ -2166,11 +2166,11 @@ main(int argc, char **argv)
338
339 if (mem_info) {
340 meminfo_display();
341- return 0;
342+ goto cleanup;
343 }
344
345 if (eventdev_xstats() > 0)
346- return 0;
347+ goto cleanup;
348
349 nb_ports = rte_eth_dev_count_avail();
350 if (nb_ports == 0)
351@@ -2251,6 +2251,7 @@ main(int argc, char **argv)
352 RTE_ETH_FOREACH_DEV(i)
353 rte_eth_dev_close(i);
354
355+cleanup:
356 ret = rte_eal_cleanup();
357 if (ret)
358 printf("Error from rte_eal_cleanup(), %d\n", ret);
359diff --git a/app/test-bbdev/test_vectors/fft_9.data b/app/test-bbdev/test_vectors/fft_9.data
360deleted file mode 100644
361index 6088707..0000000
362--- a/app/test-bbdev/test_vectors/fft_9.data
363+++ /dev/null
364@@ -1,870 +0,0 @@
365-# SPDX-License-Identifier: BSD-3-Clause
366-# Copyright(c) 2021 Intel Corporation
367-op_type =
368-RTE_BBDEV_OP_FFT
369-
370-input0 =
371-0xF62CFB88, 0xF17CFB18, 0xF6C0FA9F, 0xF773F742, 0xFCCBFAF0, 0xF908F8A6, 0xFFB3F496, 0x04C1FAC6,
372-0x07C5019B, 0x017D0139, 0x00F60299, 0x06ABFF06, 0x04E003A0, 0xFF740CAA, 0xF96F1004, 0xF5330D1C,
373-0xF5520BB9, 0xF327062F, 0xF0BF067D, 0xF29D036F, 0xEF50FFDF, 0xF1D6FE10, 0xEB1AFC5B, 0xEEAFF8ED,
374-0xEF6AF3FA, 0xEE50F275, 0xF325F63D, 0xF5D0EF1B, 0xF515F101, 0xFB83F18E, 0xF8DEEE63, 0xFA9DF473,
375-0xFB24ED8F, 0xFFBDEEDD, 0xFBF7F5FD, 0xFC56F8D8, 0x024BF447, 0x0538F24F, 0xFD20F8FB, 0xFBA9F239,
376-0xFB76F52A, 0xF9E8EE9A, 0xFE68F339, 0xFC76F468, 0xF9D3F4F8, 0xFAECE946, 0x063DEC57, 0x0B23EEAD,
377-0x094EECCE, 0x0C99EBB7, 0x11F0F617, 0x0CF2F4A6, 0x1319F6AA, 0x0D35FCA7, 0x11D4F94A, 0x14AFFA25,
378-0x11ACFFDF, 0x0FA302EA, 0x1275FEDB, 0x100F0703, 0x09E906BE, 0x04BD066D, 0x0A2508A8, 0x03B206B6,
379-0x056605D9, 0xFD1606AB, 0xFC8EFED8, 0x015102AD, 0x01BA0079, 0x012FFF86, 0xFB7EF61F, 0x06F9FC05,
380-0x05D0FF12, 0x0241FCBF, 0x05E6FDDE, 0x0654FDCC, 0x0788FBC7, 0x0783FBB1, 0x087EFAFA, 0x07D80833,
381-0x01CB05B9, 0x047A03C9, 0x082C070F, 0x017401A3, 0x0A3F0185, 0x02A90167, 0x0353FE02, 0x0566FFDF,
382-0x074E0487, 0x075CFC6D, 0x07470020, 0x0ACC019F, 0x0B85074E, 0x11EF03C3, 0x0E2D0508, 0x0B5E04CA,
383-0x0BB8088A, 0x0E85091F, 0x0B601078, 0x0CAE0DFA, 0x0F0E1394, 0x03A51A51, 0x033D1B87, 0xFEEB1855,
384-0xFDAC15F8, 0xF8AA17FD, 0xF0AC1377, 0xF15014C7, 0xF2850DF0, 0xF2AD0EB2, 0xF1500B90, 0xEC8305FB,
385-0xF4BC061B, 0xF11D033D, 0xF4BB087D, 0xF1EEFFD8, 0xF4BCFF91, 0xFCFF0393, 0xF31A04FC, 0xF6840257,
386-0xF7ECFE51, 0xF919FC35, 0xF5E3FCC3, 0xF5C60450, 0xF4A401C9, 0xF40CFD64, 0xF42B001D, 0xF4D30090,
387-0xF135F8EB, 0xF832F985, 0xF30EFAF2, 0xF50FF9E5, 0xF791F5BF, 0xFA0FF9A8, 0xF862F834, 0xF996F8AB,
388-0xFD1BF578, 0xFD28F73F, 0x0249FB2B, 0xFC90FE71, 0x0256014E, 0x0126FD72, 0x010802F3, 0x00A700E2,
389-0xFD4B046E, 0xFB3506FD, 0x015CFFFB, 0xFB9B081A, 0xF8A80A3A, 0xF6F20360, 0xF58C0218, 0xF88DF9DB,
390-0xF560FFDC, 0xF2010176, 0xEC58FCB9, 0xECF2F791, 0xEE47F641, 0xEE25F73B, 0xF700F8FA, 0xF15CF0E4,
391-0xF459EE9C, 0xF80DF177, 0xFA14F139, 0xFAF8EFD5, 0xF9BFEF89, 0xFCE8F0FD, 0xFBE1F0B8, 0x027CF069,
392-0xFCF5F137, 0x00D4F1CC, 0x0286EB70, 0x07F4EA47, 0x05BDF0B0, 0x056DEF6A, 0x05A5F263, 0x0E2AEC8B,
393-0x12A4F393, 0x0B71ED91, 0x107EF77D, 0x0D58F5C0, 0x11B1F636, 0x1198FB57, 0x1280FD41, 0x1452FB53,
394-0x0ED505D3, 0x0C0E0460, 0x0F7603BF, 0x11BB0840, 0x0FC30688, 0x08350A31, 0x06E505E3, 0x05140870,
395-0x09A60E87, 0x03910CEF, 0xFD560A8E, 0xFDB50C43, 0x02630357, 0xFE7B0924, 0xF91E0652, 0xFD94FFE2,
396-0xFFD7FD51, 0x01AA02E1, 0xFB8103A0, 0xFD23FB37, 0x05DCFBE3, 0x021500C0, 0x0408FDAE, 0x01720146,
397-0x0518FC2D, 0x04F9FE57, 0x0EA7FBCD, 0x0462FBA7, 0x0825F9B6, 0x0E47FECE, 0x0F020108, 0x0B39005E,
398-0x096701C1, 0x0B11027B, 0x0B270492, 0x08C20939, 0x070E09D8, 0x0B3B05CB, 0x0BDF099F, 0x07DC0B11,
399-0x08790B54, 0x02D50B5A, 0x06360F48, 0x08B610AB, 0x02611070, 0x01CF1436, 0x013D0C5C, 0xFB341474,
400-0x00E70F6D, 0xFBD414C2, 0xF7301127, 0xF83912C1, 0xF85E0B23, 0xF5D60B8A, 0xF4B60E18, 0xF51F0F86,
401-0xF2C30AFF, 0xFA9A0953, 0xF42F0797, 0xEFDA0D45, 0xF3370866, 0xF4A70203, 0xEF7206CE, 0xF66B0471,
402-0xF4B200E2, 0xF346FDF8, 0xF55BFEE1, 0xF1C6FC0D, 0xF89A018A, 0xF824FFFD, 0xF820FD32, 0xF129019D,
403-0xF356FF5E, 0xF7B70043, 0xF4490050, 0xF373F9BC, 0xF672FEA7, 0xF655F6EF, 0xF85EF696, 0xFCFDFAE0,
404-0xF80CF769, 0xFC94F3B6, 0xFB72FAEA, 0xFD45F600, 0x0376F540, 0xFC84FBBF, 0xFEA8FF8B, 0xFC17FE78,
405-0x0228FFC6, 0x004C0143, 0xF6740170, 0xFA6E0265, 0xFD5AFEE3, 0xFAF90113, 0xF7EA02FF, 0xF71B050A,
406-0xF1920113, 0xF446FC35, 0xF4470038, 0xF257FFAF, 0xF157F7D4, 0xF886FDBA, 0xF440F432, 0xF6F6F387,
407-0xF6F6F316, 0xF8ECF681, 0xFDDFF4BE, 0xFA82F870, 0x02C3F6D8, 0x00B5ED53, 0xFF54F5B6, 0x007AF986,
408-0x01A7F540, 0x00B4F5BD, 0xFE30F669, 0xFBDBFA3D, 0xFC22F23B, 0xFDEAF123, 0x044BF0EC, 0x069CF57D,
409-0x074FF59B, 0x04F1F354, 0x02E9F0E0, 0x0A52F558, 0x1029F647, 0x0A2AFC4F, 0x0AAFF38F, 0x0D9EF7C8,
410-0x167EF8FD, 0x0C42FE65, 0x0EA7F8FD, 0x124EFCF7, 0x14ABFEBB, 0x09800444, 0x07990B81, 0x0605057D,
411-0x056900B9, 0x072607E4, 0x06580651, 0x030103D7, 0x02A203AC, 0x01240323, 0xFE5DFD2E, 0xFD10FF1B,
412-0xFF9EFCFC, 0x0402F8C1, 0x01AAF84A, 0x044DFB7B, 0x07EEF58B, 0x061AFD52, 0x0596FC0F, 0x05ECFADA,
413-0x0A9A0143, 0x0D840441, 0x0998033D, 0x0D66059E, 0x0D2A0019, 0x0FDA0629, 0x09A50394, 0x080F054E,
414-0x06580A16, 0x070408EB, 0x05BC0555, 0x09170CB0, 0x03200D3E, 0x051F09A3, 0x05420466, 0x045F0106,
415-0x01A108B3, 0x069C0AF4, 0xFF7108B4, 0x03020862, 0x06BD0D9D, 0x05721289, 0xFE6D1340, 0xFD920936,
416-0xFECC0F9C, 0xFF9A1319, 0xFEE60C67, 0xFD3C0C12, 0xFA670B18, 0xFF0E0A37, 0xF8E90F0C, 0xFA950A82,
417-0xF87C07AC, 0xF4100C46, 0xF60A0CF8, 0xF33E05C3, 0xF3D0FFF1, 0xF2DA074A, 0xF6AD0542, 0xF6860216,
418-0xF2FE00D3, 0xF8BE005E, 0xF898054C, 0xF4520483, 0xF6060027, 0xF98301BA, 0xFF1702B5, 0xF56502DC,
419-0xFBB30118, 0xFB60FF11, 0xF8EAFE99, 0xFBEFFF19, 0xFBB1FEA7, 0xF3BAFD54, 0xF99DF969, 0xFFE10262,
420-0xFA13FD27, 0xF443FFBB, 0xF85CFE6E, 0xFA82FFD0, 0xFD24FF81, 0xF67C01C4, 0xFAC9FEAE, 0xF6FA0229,
421-0xF56703F1, 0xF71100C2, 0xF347FF38, 0xF8CDF942, 0xF3CAF96F, 0xF5F2FAFF, 0xF542F9D2, 0xF869FBAB,
422-0xFBA6F8E7, 0xF9A1F147, 0x0050F264, 0xFD3AF3A5, 0x0780F986, 0x06A8004D, 0xFFE4FC48, 0xF6E9FB83,
423-0x0133F8B5, 0x024FF9E9, 0xFC570589, 0xFFBFFD2C, 0xFB2BF952, 0x00A0FA26, 0x0231F689, 0x0454F8FF,
424-0x0723F8ED, 0x036BFBB4, 0x0780FDDD, 0x0503FDBB, 0x05D6FFCD, 0xFD33FF83, 0xFD6FFAF9, 0x049DF9C4,
425-0x038AFA93, 0x080CFBC6, 0x03A2FBD8, 0x0643FCD5, 0x0D8AFF08, 0x0F2E0813, 0x07060D8D, 0xFF530B8E,
426-0xFC59028D, 0xFA6105D9, 0xFF6F071E, 0xFBDF08D7, 0xF97E00C0, 0xF8CCFE1C, 0x00BBFD7A, 0x08FF030B,
427-0xFAA603F5, 0xFC75FE4A, 0xFBECF8B5, 0x0789FB77, 0x0A69012A, 0x02D40145, 0xFECAFCB9, 0x06C0FD4B,
428-0x078FFF2E, 0x05480284, 0x05C709A4, 0x038707D7, 0xFE8A08D5, 0xFE6D0D52, 0x01CF00FC, 0x051F063C,
429-0xFD150C96, 0xFE660A55, 0x00290DC3, 0x074D0ED2, 0x02110CB7, 0xF94005CC, 0xFD8D06A7, 0x01F204FC,
430-0x002807F5, 0x031F0E5C, 0xFA6E0782, 0xFDE00A43, 0x05FE0B30, 0x01F10971, 0xFD6C125A, 0xF9551453,
431-0xF90B10F6, 0xEED90FDF, 0xF1750A5E, 0xEFCA0849, 0xF2D10CF7, 0xEC13073D, 0xF858025D, 0xFB520191,
432-0xF40800EC, 0xF593052D, 0xF1DF05A9, 0xF2FB04F4, 0xEE2404CC, 0xE9C500E0, 0xF214FD2E, 0xF5E6F533,
433-0xFA1BF631, 0xFB2CFB19, 0xF55CFE97, 0xF5140378, 0xFB85FF65, 0xF67D02A4, 0xF967076D, 0xF5830893,
434-0xF17A0959, 0xED3E01A5, 0xF02301B6, 0xF5FE00F4, 0xF914FFAD, 0xED07FD70, 0xF508FE84, 0xF790FBD6,
435-0xF501FEA0, 0xF817F748, 0xF39AFD8C, 0xF9DAF571, 0xFBCFFAE5, 0xFDA6FA5A, 0xFC5EF927, 0xF5A90009,
436-0xF906FC1C, 0xF741FF6D, 0xF95B0070, 0xF5DB021A, 0xF55BF85F, 0xF61FFD65, 0xF798FC9A, 0xFB1FFA94,
437-0xF7ECFC7F, 0xF602FF23, 0xF1B2FBA0, 0xED04FF93, 0xEE31FC87, 0xED59F7F2, 0xF1D5ED9A, 0xF75FF263,
438-0xF797EEBA, 0x0074F0E1, 0x0390EE61, 0xFE91F59C, 0x0708F8D7, 0xFAC7FBE3, 0x0634FDAE, 0x056CFCA6,
439-0x026AFCFB, 0xFCEBF457, 0x04F6F827, 0x03ABF2C0, 0x00FFFA09, 0x00A6F799, 0x04EFFB37, 0x07EB00D1,
440-0x0209FCC1, 0xFF45F9A3, 0x021AFAA4, 0x026CF85A, 0x0382FC38, 0x0397F9A8, 0x03FFF784, 0x046CF929,
441-0x0948FD40, 0x05F1FED5, 0x0CD6003C, 0x0B36FE7F, 0x09CB009E, 0x070E07AA, 0x027400A5, 0x0996FC87,
442-0x050E0956, 0x07750630, 0x007C0B62, 0xFEDD04D8, 0x00040264, 0x00F000E7, 0xFE010492, 0xFD7E0008,
443-0x00B100AB, 0x04700276, 0x00CFFF64, 0x07EF054B, 0x08A601C7, 0x084302DE, 0x05BF08D0, 0x02780776,
444-0xF8EB070D, 0x049701D7, 0x034B0541, 0x034A0931, 0x061D091C, 0x07DA08B0, 0x015D10D3, 0x06980B55,
445-0xFC580BC3, 0x03940BF8, 0xFF8B0BCE, 0xF9870867, 0xF33B0889, 0xF83E0651, 0xFE1300C2, 0xFFD905A2,
446-0xFFDC09BC, 0xFDD60DAD, 0xFF9E03D8, 0xFF0A075D, 0xFF4B1046, 0x05360FB7, 0xF84811EC, 0xFA5E0B86,
447-0xFCAD092A, 0xFE3B0DD3, 0xFFE00C60, 0xF7471296, 0xF5AD0D6A, 0xFBB60B8D, 0xF64B0BA9, 0xF33C0D50,
448-0xF04F099A, 0xEF720174, 0xF9200A86, 0xEF5E0BA6, 0xF53C0782, 0xF06A054C, 0xEB250789, 0xF03D08E1,
449-0xEEC2FF52, 0xE7F6FB5A, 0xEFC3FA72, 0xEFCFFCF8, 0xF05EF9EB, 0xF257FDFD, 0xF9E80036, 0xF4190998,
450-0xF1BA0025, 0xF4CCFC80, 0xF30101DC, 0xF2920503, 0xF0B5018E, 0xEE1EFC67, 0xF315F529, 0xFC45F421,
451-0xFF9EFF4D, 0x0018FAE6, 0xF46100BC, 0xF7E8F880, 0xFA79038A, 0xF82BFED7, 0xF40D00E9, 0xF39CFB71,
452-0xF6FEFDE1, 0xF731FE37, 0xFA72F876, 0xFADCFBA7, 0xF9D7FD8D, 0xF99EFF50, 0xF6CC0552, 0xF62F03EF,
453-0xF109FE82, 0xF2C0FDC2, 0xF00EFBD9, 0xF352F631, 0xF431FA4F, 0xF1E5F8BE, 0xF3DFF7F8, 0xF6A4F0CD,
454-0xF4D2F089, 0x0114F634, 0xFB30F79B, 0xFBE2ED25, 0xFEDCF0DB, 0x087AF438, 0x012CF5D1, 0x074CFF17,
455-0x018BFF6F, 0x00F0F93E, 0x03EAF550, 0x0240FA47, 0x01E7FE7D, 0x01C50089, 0x041BFBC4, 0x02ECF9F9,
456-0x06EFFCA3, 0x0351FFFA, 0x03D6052A, 0x024F09A5, 0x002006C2, 0xFDDB05CA, 0xFD30FF1E, 0x02190393,
457-0xF886FCFB, 0x01E0FDB4, 0x024900D1, 0x018F052E, 0x03860646, 0x0543060E, 0x00F60892, 0x034C0AFA,
458-0xF88A0BFF, 0xFAA10B76, 0xF2D50570, 0xF26EFD3E, 0xF34DFEC1, 0xF849FDE7, 0xF74EFF99, 0xF5FDFDB3,
459-0xF8F7FE85, 0xF5EFFC0E, 0x0131F8D2, 0x002BFB2C, 0xF9E7005B, 0xFE05FC4F, 0x02B9F6D9, 0x0CF1F65D,
460-0x0C7A0229, 0x0424044B, 0x064D0266, 0x0E830254, 0x082005D2, 0x07E00865, 0x053904F7, 0x06070445,
461-0x040C0A8D, 0x031405D0, 0x034F0EDC, 0xFE690E40, 0xF8DF091A, 0xF9DF073F, 0xF7A9068A, 0xFAFC064C,
462-0xF67E0773, 0xFEBE03A6, 0xFA57FFCC, 0x00C70559, 0x01BA0734, 0xF8BD0838, 0xF68906D0, 0xFBC207FF,
463-0xFB7C1164, 0xF7E60DAA, 0xF0520FB4, 0xED7A0546, 0xF81BFEEF, 0xF90E030C, 0xF79B0252, 0xF75C09BD,
464-0xF6C207A8, 0xF60602D5, 0xF7DFFEE9, 0xF118028E, 0xF392FF9C, 0xF0CDFA76, 0xF143F847, 0xFD71F875,
465-0xF927F8D4, 0xFEDBF728, 0xFBC3FB01, 0x03480316, 0xFF82061B, 0xFFBD0042, 0xF9BD023C, 0xFF790250,
466-0xFFA90598, 0xFE350268, 0xFC77067A, 0xFA22040B, 0xF198062D, 0xFD78FB8D, 0xFC61FFAA, 0x009A0D61,
467-0xF909058A, 0xF1A8FE82, 0xF71DFE16, 0xF865FECE, 0xFDA50158, 0xF784FF86, 0xF9200453, 0xF68803AF,
468-0xF0DC037C, 0xF2FFFE8B, 0xF7E0FB00, 0xFB33FD5E, 0xF833FC81, 0xF4F5F5F1, 0xFD1C00FC, 0x002BFECD,
469-0xF6C501EA, 0xFC670232, 0xF9BFFF3E, 0xF60D03BC, 0xF30E0096, 0xF0A0F3B6, 0xF3FEF84F, 0xF8A5F6A6,
470-0xFFB6F42B, 0x0363F524, 0xFFBDF4E1, 0xFF60FAD5, 0x05C3FCC3, 0x014FF92F, 0x0316FB2D, 0xFC2401B3,
471-0x00FAFD4C, 0xFE3CF99F, 0x00E30278, 0x0129FDB0, 0xFD07FA13, 0xFFB2FC56, 0x0051FA95, 0x069602FF,
472-0x048905A6, 0x01D704F1, 0x0056FC54, 0xFBFEFC08, 0x04EDFC6B, 0x0087030B, 0x016AFAA2, 0x01EFFDB1,
473-0x0987F995, 0x0879FF4D, 0x0B0CFFB7, 0x070C02CC, 0x05C804E1, 0xFB6AFF68, 0xFF28FCFF, 0x013700F0,
474-0x0558FD07, 0x03D200E8, 0x06E7FB15, 0x052B03FD, 0x07FFFD0D, 0x0600FD6C, 0x05F80493, 0x06340137,
475-0x033706F3, 0x068D0A83, 0x02340294, 0x03CCFC2A, 0x0CEA0110, 0x0CC00A77, 0x0A8A0B85, 0x050508C7,
476-0x0BF2080B, 0x0CF91173, 0x05AF139F, 0x01CA1434, 0x009F0F28, 0xFC8811E2, 0xF1C411B6, 0xF5170F9C,
477-0xF1C20B05, 0xF5090A39, 0xF3B01083, 0xEE0F0DF9, 0xEFFE0501, 0xEF8705C5, 0xF0C60249, 0xF032FC82,
478-0xF428FDE5, 0xF2B0F831, 0xF062FB83, 0xF409FB84, 0xF4EEF536, 0xF001F338, 0xE92BF63D, 0xF68CF331,
479-0xF5F1EDA3, 0xFCB0F31E, 0xFCF9F227, 0xFB35F0FF, 0xFA9CF276, 0x0103F82E, 0xFC00F65D, 0xFED5F6AD,
480-0xF832F562, 0x006CF06F, 0xFB3CF573, 0x01F1EACA, 0x0192EB60, 0x0A01F591, 0x08EAF8B2, 0x0758FD12,
481-0x07D8FBA3, 0x0C26FE82, 0x02AEFDDF, 0x05AE0070, 0x04890509, 0x018600C3, 0xFE230726, 0xF7EE0261,
482-0xF812FE65, 0xFDA3019E, 0x00450448, 0xFACD0296, 0xEE8200D0, 0xEDC2F945, 0xF216FBD3, 0xF364FA2E,
483-0xF0D1F58B, 0xEF72F270, 0xF414EED5, 0xF97FEF9C, 0xF466EC1B, 0xF96AE958, 0xFDC7E810, 0xFCC1EB22,
484-0x02D5F0E6, 0x043BEF6F, 0x0BE6E959, 0x0A78EEF4, 0x0D36F0B9, 0x0AA4F329, 0x0926F6F9, 0x090CF37F,
485-0x0AA9F3F9, 0x0B5DF02C, 0x0BB3F3FA, 0x10F7EE6B, 0x0CEBF93A, 0x1159F769, 0x0D3EF3A2, 0x0F69F89C,
486-0x17CBF891, 0x16AD047B, 0x11EB01EB, 0x0B27FF61, 0x0EF00029, 0x0D380085, 0x0CDB034E, 0x08D001EB,
487-0x152D01EA, 0x143B0736, 0x0F3F08B0, 0x0B220BA9, 0x0FA908A7, 0x04D70FF3, 0x0319128D, 0xF98A1148,
488-0xFA030F36, 0xF412019A, 0xF7E10932, 0xFB10021B, 0xF8770325, 0xF941FF1E, 0xFB37FD19, 0x0076FE06,
489-0x0710FE7A, 0xFA5D02A0, 0xF7C702CB, 0xFFF5FD46, 0x0368FA69, 0x00D9F9BF, 0x02C2F84A, 0xFB2EFA4E,
490-0x072EF77F, 0x04B2FAA2, 0x09F6FE8D, 0x08C7FE58, 0x0B3D0083, 0x0BD701BF, 0x08C1045D, 0x0A0900B1,
491-0x07110445, 0x0A810487, 0x075605A4, 0x0804053D, 0x0F850765, 0x05FD0A16, 0x021107A2, 0x0367063E,
492-0x07D204F4, 0x0B610FD1, 0x05D41208, 0xFB40152E, 0xFE0A09F3, 0xFE9F0D80, 0xF9E413D0, 0xF01A1358,
493-0xF16B0CC8, 0xF2C9FEF1, 0xF03E04FD, 0xEF5E0565, 0xEF650660, 0xF05E04D8, 0xF162FFC3, 0xF08AFFEB,
494-0xEB77FEC1, 0xEAACFD0F, 0xEE97F425, 0xEC0AF22B, 0xED72F746, 0xECC0F344, 0xF20CECB6, 0xF963ED11,
495-0xFB69EB40, 0xFCC9ECA8, 0x0011F0C8, 0x041CF440, 0xFD85F827, 0xFC65F6D2, 0x0576EFB3, 0x0337F3A2,
496-0x00AFFB09, 0xFC9CFA7A, 0x01C9F46D, 0x02B3F1D3, 0x0511FA2C, 0x03FBFA26, 0x03A4FB6F, 0x06DDF6AE,
497-0x0797FA46, 0x06910082, 0x02EC0456, 0x075DFFF6, 0xFE5E00D7, 0x06B0FE4B, 0xFB69012D, 0xFC7FFEDF,
498-0xFA0BF977, 0x0139FAC3, 0xFE76FB3C, 0x020DFE19, 0xF784FC35, 0xF91CFDCE, 0xFBB6F74E, 0xFEEEFE68,
499-0x00ACFD45, 0xFCE402B4, 0xF571FBDC, 0xF88DF661, 0xF312F12B, 0xFB53F0AA, 0xFFC8F00E, 0x005DF1A0,
500-0xFD36EDE4, 0x01C8F2D8, 0x0504F0D8, 0x0451F3B1, 0xFE5DF804, 0x03C2F566, 0x02C7F116, 0x080CEEC0,
501-0x070FF56A, 0x093AF3A1, 0x0CAEF352, 0x0ECDEE80, 0x0F0FF592, 0x0C71F98A, 0x1153FD52, 0x1333FF76,
502-0x167D01CF, 0x0FD701A5, 0x0D0400B0, 0x0DD50277, 0x101EFDF4, 0x14710215, 0x10A107CB, 0x0BD70A69,
503-0x05950A54, 0x0B1B089C, 0x0D4904CC, 0x0A230DEA, 0x01EB07D0, 0x055A0631, 0xFBD70DF9, 0xFF710B5A,
504-0xFB530BC8, 0xF9F907E9, 0xFFDE058E, 0xF8C305A9, 0xF761007B, 0xF730FA2C, 0x0149FA16, 0x0190FBDB,
505-0xFD2DF948, 0xFC42FC29, 0x00A2FBD5, 0x035CFC54, 0x0746FA89, 0x01F4F92A, 0x0228F819, 0x066CF2EA,
506-0x088DF62E, 0x0A86F661, 0x092BF9F5, 0x100CFB7D, 0x159300A5, 0x141904E6, 0x0DC6040E, 0x0C8B03B5,
507-0x0E850500, 0x0AA60930, 0x09740B88, 0x04AE09B8, 0x0BE20703, 0x0DA7081A, 0x0B010C13, 0x08FF10D1,
508-0x0ABC0CE1, 0x03881736, 0x045517B4, 0x011A10BD, 0xFBDA0CDA, 0xFC901452, 0xF70A11A4, 0xF39E16C3,
509-0xF4B30BE6, 0xF23A08FA, 0xF41D0CD9, 0xECFF099A, 0xED1C06C0, 0xF2FF00C5, 0xF25FFBCB, 0xF0EBFEF6,
510-0xF1510048, 0xFB71FA59, 0xF414FB17, 0xEFC5FA14, 0xF4B1FEC7, 0xF791F888, 0xF71CF550, 0xFC8AF78A,
511-0xFFCAF59A, 0xFD99FB2C, 0x024DF92C, 0xFF61FACA, 0x031EFEE4, 0x053200E6, 0x00240305, 0xFA850144,
512-0xF9F602B3, 0xF642F9EC, 0xF6EA00F6, 0xF84DFE3C, 0xF4EDFAA1, 0xFE62FC1B, 0xFA67035E, 0xF7A501FB,
513-0xFC350341, 0xF8D2FC0A, 0xF99E0349, 0xF85A007F, 0xF25A00CC, 0xF58AFA28, 0xF742FA73, 0xF901FB79,
514-0xF7C20062, 0xFADCF6CD, 0xF6FEF882, 0xF44CFE65, 0x002CFB4F, 0xFA5CFFF2, 0xF38CFE56, 0xF001FB20,
515-0xF1B7F591, 0xF352F67E, 0xF504F4D2, 0xF83FF383, 0xFA0BF226, 0xF223F58E, 0xFAACEDDE, 0x00A5EAD0,
516-0xFBB5F04C, 0xFB66F131, 0xFBF1E7C8, 0x03A1EA7B, 0x0454EF37, 0x02E4EE75, 0xFDA4EB72, 0x07D1EA88,
517-0x0AA1EBCA, 0x0381EFC2, 0x02C2F05F, 0x0AE6E94D, 0x1307EB15, 0x11FAEF3C, 0x10BDF1C0, 0x0CE2F60E,
518-0x0FADF456, 0x1310FC34, 0x1157FD76, 0x0FD50049, 0x0F71FE77, 0x0B47FA90, 0x103CFFCD, 0x0749FBA8,
519-0x1354FA24, 0x0E65FFB3, 0x0A6303B1, 0x07B302CD, 0x0BDF0BB4, 0x05120848, 0x059106A3, 0xFA260772,
520-0xFD5200CC, 0xFE99024E, 0xFC66FDD6, 0xFD520066, 0x00D2FE8C, 0x01DEFAF2, 0x033EFEC8, 0x0234FDF6,
521-0xFF9DFF7F, 0xFE94FD17, 0x02E6F88D, 0x02B7F9A1, 0x0436F9CD, 0x040FFF63, 0x0153FA5F, 0x052EF764,
522-0x0657FB3F, 0x0967005A, 0x0ABDFE55, 0x0965FEA4, 0x0FEEFDE1, 0x0AADFF83, 0x13C00455, 0x08750631,
523-0x0E1A0DF9, 0x0DAE095E, 0x056C0629, 0x0C110D56, 0x0B700981, 0x060F082B, 0x07FD087B, 0x07AF10A8,
524-0x018D03A9, 0x019D0465, 0xFDAB08BD, 0xFA33014E, 0xFFD00387, 0xF94C0135, 0xFFE70279, 0xF77B0358,
525-0xF56F0307, 0xF367FB02, 0xF8B0FD66, 0xF954FFB8, 0xF67900E6, 0xF22CF748, 0xF048F201, 0xF02CF3A2,
526-0xF1FFEAA1, 0xF841E83F, 0xFB0FE94A, 0xFA48EF01, 0xFEECEE4B, 0x01AEE5FC, 0x0610E8CF, 0x0805E848,
527-0x0D55EE76, 0x0A1DF475, 0x0905F405, 0x0976EDCE, 0x0853F679, 0x0A56F4A8, 0x0E2BF634, 0x138AF843,
528-0x0EE1F81F, 0x0AB3FC46, 0x0A6AFCAD, 0x0C7CFE82, 0x12910090, 0x088B0167, 0x048006A4, 0x0A1F028A,
529-0x042501BF, 0x07810124, 0x05860043, 0xFE4C022D, 0xF976FC63, 0x03ECFDD5, 0x03EDFFF3, 0x036D0164,
530-0xFB08018D, 0x007603D2, 0x0187FC30, 0xF857041D, 0xFCF3F952, 0xF932FE3E, 0xF9D6FAF0, 0xF960F638,
531-0xFB62F2C6, 0xFC57EFC6, 0xFF50EE8F, 0x0781F073, 0x0752F477, 0x0879F164, 0x08B9F666, 0x04E3F4BB,
532-0x009DF154, 0x0994F617, 0x0CEBF63F, 0x0BD5F456, 0x09EFF66C, 0x0A5DF4EB, 0x135FF3CA, 0x1088FC05,
533-0x14BA057A, 0x0C280250, 0x0B9D028C, 0x0A2C06A5, 0x0DEB08A2, 0x0A0006A0, 0x01F40B54, 0x043A030D,
534-0x0407FEEB, 0x0238FFC6, 0xFEA20786, 0x02370385, 0x0768FBD5, 0xFD0D01A9, 0x052803E2, 0x01FBFD7A,
535-0xFB16003B, 0xFC200115, 0x03D802E6, 0xFD4106C1, 0xFC190006, 0xFBE302D1, 0xFCF6FCCA, 0x0000FAD7,
536-0x0239FCBA, 0x0190FF7F, 0x01C70257, 0x033F011E, 0xFB8CFDAB, 0x001AFBF8, 0x00C00057, 0xF911FCFE,
537-0xF5FAFBCC, 0xF812FC34, 0x0257F740, 0xFF3FF890, 0xFB7EF8B6, 0xFEEBF802, 0x015CF6C1, 0x066AF7D4,
538-0x03B0FBAE, 0x0170FB8D, 0x0316FA51, 0xFD6FFAAF, 0x03B8F996, 0xFA3CFE9D, 0xF8CCFDB7, 0x01A6F7C9,
539-0x06BFF5E4, 0x08B4FBFB, 0x0589FC60, 0xFE84FB31, 0x0233FC54, 0x0714FA63, 0xFF09003C, 0x015D01D0,
540-0xFD29FF7A, 0xFADCFEDB, 0xFD91F75C, 0xFD21FB6F, 0xFFC1FAA1, 0x004DFCBD, 0xFCF40229, 0xFFBCFCD0,
541-0x018AF45E, 0x01FEFC28, 0xFE740371, 0xFBCCFCB7, 0xF913FEAD, 0xF700FC15, 0xFAF9FBF5, 0xF288FB11,
542-0xF6C2FC68, 0xFA87F937, 0xF9C0F034, 0xF7CEF985, 0xFA01F75F, 0xF7BAEEA2, 0x04CDF17E, 0x0161F48F,
543-0xFE67F3F1, 0xFBCEF416, 0xF993ECE7, 0x060FE91B, 0x0282EE99, 0x0382F22E, 0x036AEABA, 0x06F0EA62,
544-0x08DCEB0D, 0x1043F103, 0x0EEBF557, 0x0BF6FA22, 0x0E3BF771, 0x09D6F92A, 0x0CFAF70F, 0x0D39FCDD,
545-0x0E04FB9D, 0x0AA9FC14, 0x0B2E01AD, 0x082FFEFB, 0x05BEFD3C, 0x0968FB4B, 0x0C13FE9E, 0x0524044B,
546-0x02E804B0, 0x07AAFC23, 0xFF4F046D, 0xFBD6F8E2, 0xFF50FA85, 0xFBA200D8, 0xFFFBFCE4, 0xFB31FDCD,
547-0xFEFBF8FA, 0xFFAAF666, 0x0771FA08, 0x04D8FAC1, 0x030FFB5F, 0xFADEF807, 0x05E3F3B8, 0x043FF4BD,
548-0x0536F317, 0xFE1EF575, 0xFF0FF0B3, 0x0334F351, 0x0218F427, 0x07A3F25D, 0x042AEFB5, 0x0648EFCB,
549-0x11E6F295, 0x0D39F5FC, 0x0DAFF2B6, 0x0B3CF41D, 0x10C4FBCD, 0x0C32FFA2, 0x0C2902C8, 0x0B6A05F3,
550-0x12BE0090, 0x0E0D01DF, 0x138000D2, 0x0E19024D, 0x0CA80C5C, 0x0A8509DA, 0x0BC410C2, 0x07B30C72,
551-0x05AE0D5C, 0x01C71189, 0xFF2E1193, 0xF3FD0A4F, 0xF709059D, 0xF78B05CF, 0xF6E30941, 0xF72D0669,
552-0xF58701AD, 0xF9550331, 0xF8D6FF65, 0xFB47FE6B, 0xF901F9FF, 0xF964FD51, 0xFBE9F8D4, 0xF908FC20,
553-0xF524FA29, 0xFA07F620, 0xFE8DF95A, 0x0089F944, 0x00C5FD31, 0xFC62F0FB, 0xFE7AF3BD, 0x066DF793,
554-0x03F4FD88, 0x00EAFA21, 0x02C9FE45, 0x01D7F9E6, 0xFF8BFCA0, 0x0539FF48, 0x0031FC68, 0xFF53F9EF,
555-0x031BFBB2, 0x0303FC1B, 0xFB44FB62, 0xFF43FC5A, 0x0539FB70, 0xFD8903F3, 0xFC1CFD2B, 0xFB1601E5,
556-0xFAA7FBCA, 0xFDC9FCB8, 0xF708FBAD, 0xF6A4FB0E, 0xF732F7FC, 0xF342F3F1, 0xFB91F336, 0xFCB2EF95,
557-0xFCA4F397, 0xFE9DF866, 0xFD2DF7E9, 0xFF4CF745, 0xFB7FF1F6, 0x0025F489, 0xFF88F635, 0x01B6F002,
558-0x0001F624, 0x038FEF3F, 0x01E2F00B, 0x0618EDDF, 0x09ADF5E6, 0x0617F5FF, 0x050BF571, 0x089FF045,
559-0x06A2FA1A, 0x0865F5DA, 0x060BF6E3, 0x0797F84B, 0x025CF5FD, 0xFF71F787, 0x00A8F8B4, 0x0773F63B,
560-0x0444FC4E, 0x0A8CFA46, 0x05E5FEDB, 0x05AEFCAC, 0x0595F8AB, 0x043DFD99, 0x06B802B4, 0x0CCC059D,
561-0xFF440159, 0x03FBFAB0, 0x01CA00B9, 0xFEE9FCB4, 0x040AFA3F, 0x00A6F9A6, 0x0434FB9B, 0x0282FEEB,
562-0x039EFBC0, 0xFE2DFB16, 0x05E7FEB0, 0xFF59FBFA, 0x0020FAD7, 0x0022FB54, 0xFE65F7BC, 0x0284F20E,
563-0x04D0F8BB, 0x05C9F164, 0x02F1F398, 0x052EF61B, 0x054EF90D, 0x0774F0B6, 0x04FDF895, 0x09C4F82C,
564-0x0B2DFAD1, 0x0087F78B, 0x08A9F6D7, 0x0507F454, 0x065EF617, 0x0E5EFAD8, 0x0A56F815, 0x0B63F9E9,
565-0x0C90F9FA, 0x0CA7FD02, 0x0E2DFE2C, 0x0FA00456, 0x07C5023B, 0x0AAA029A, 0x07390507, 0x06620367,
566-0x08D50791, 0x09BE0978, 0x018A0D75, 0x0793070E, 0x05BD06C8, 0x094F081A, 0x04480E95, 0xFA490E4D,
567-0xF63D0513, 0xF3C206F2, 0xF56E0110, 0xF17E0631, 0xEF65FF30, 0xEAFDFD0D, 0xF194FC0D, 0xF53FF907,
568-0xEF61F9ED, 0xFB09F297, 0xFA8EEFFB, 0xFFCBF24D, 0xF6B4F51E, 0xF3FAF56D, 0xF8DEED37, 0x0125F14A,
569-0x02D6F16F, 0x0178F1E4, 0x00DEF2D6, 0x0356F13B, 0x0BD9ECE4, 0x0C5FF1C1, 0x0BB2FB6C, 0x0B22FE0F,
570-0x0AEFF94B, 0x0AD3FEDB, 0x07BAFF43, 0x03D5FE91, 0x0C480067, 0x07D00168, 0x054902AA, 0xFD22FFF0,
571-0x074203CE, 0xFE79FF6D, 0x0442028C, 0x01350020, 0xFDF808EF, 0x008606C4, 0xF6E20886, 0xF6B20184,
572-0xFB1BFD82, 0xF758FF8F, 0xF65B0045, 0xF0150335, 0xEE0CF9FB, 0xF653F160, 0xF781F40A, 0xF7E9F5B4,
573-0xF249F98B, 0xF47EF23B, 0xFC1CEDCC, 0xFBEEEACD, 0xFAE1EEDA, 0xFEE8EECE, 0xFDFCE950, 0xFE19ECEB,
574-0x0277E5C8, 0x01C2E963, 0x06A2E7EC, 0x08BFEF64, 0x161BEB76, 0x0D16F010, 0x0A33F259, 0x1042F616,
575-0xFC9D118B, 0xFE3708FF, 0xFB5107CB, 0xF72110D4, 0xF4E60FFC, 0xF8F000A3, 0xF80A030D, 0xF68C0575,
576-0xF9070746, 0xF8F9FF89, 0xFA49FF50, 0xF94AFE4E, 0xFA4AFB07, 0xF960FE93, 0xFCE2F7DD, 0xFC24F775,
577-0x062CF543, 0x0870FBDB, 0x0B10FC9C, 0x0BBB057E, 0x0A33019F, 0x137C03A2, 0x0E96081D, 0x0AAD08A0,
578-0x00B20D85, 0x086C0CD0, 0x05430D7E, 0x06D30A95, 0x05D40EEA, 0xFEA90FB0, 0xFFA0128A, 0xFC0C170B,
579-0xF64C1284, 0xF5941833, 0xF4430F56, 0xEFE60DC9, 0xF59D0D3B, 0xF4AD07A7, 0xF2E80B8E, 0xF3820935,
580-0xF1070691, 0xF1290737, 0xF184045E, 0xEED5FCDD, 0xECE1028F, 0xE9F101A8, 0xEC25FF88, 0xF343F8D3,
581-0xF66BFC19, 0xF0F5FB52, 0xF2B1F6A1, 0xF5F7F52F, 0xF68AF594, 0xF14AF05C, 0xFB6EF17C, 0xF33CF104,
582-0xFA26EBA6, 0xFE61EB0E, 0x02FFEF52, 0x0594EC0D, 0x0BC5EC6F, 0x0D26EDAF, 0x1346F2B5, 0x1154F3DF,
583-0x0F2FF7E7, 0x1093FABB, 0x1214FABC, 0x14ADFD59, 0x12D901E3, 0x0F3303AE, 0x1442089E, 0x11E5095B,
584-0x0FAB0D58, 0x0E450CB4, 0x0AF0121F, 0xFFBE1048, 0x026A0C74, 0x038B0E1E, 0xFBD60F7A, 0xF99C073D,
585-0xFAD60CB4, 0xF9FB06BE, 0xF5FB03EB, 0xF8800454, 0xF65D07EB, 0xF4C30149, 0xF495FECA, 0xF95EFA5B,
586-0xF77FF4B1, 0xFD49F5E9, 0xFE38F76C, 0xFA4BF455, 0xFFA5F297, 0x0097F792, 0xFF25FB93, 0x0278F32D,
587-0x03E5F1F1, 0x0AE9F583, 0x0424FA13, 0x08ECF5DA, 0x0DCEF33D, 0x1402F217, 0x0FE9F5E4, 0x1288F850,
588-0x1219FA6E, 0x16C2FD56, 0x1352006B, 0x19D4FB8A, 0x16510304, 0x1B4D09A9, 0x17760DBC, 0x198D086A,
589-0x18AA0F1B, 0x17531018, 0x135A1306, 0x10E518D4, 0x0C141D1F, 0x059116FD, 0x04F617B3, 0x07B61B44,
590-0xFC391B01, 0xFD861AE0, 0xF9D1188D, 0xF53F171E, 0xF2DA13C7, 0xF3B8125C, 0xF0830B1A, 0xF1D908BD,
591-0xF1DC09B5, 0xEDCF0782, 0xF3A101BF, 0xF56AF9A9, 0xF584FD21, 0xFA7E00C7, 0xFF15FC47, 0xFA92FBA1,
592-0xF98FFBD4, 0xFF88F3EB, 0x004EF7A9, 0x01B4F85F, 0x0274F87A, 0x073DFB46, 0x06EA01DC, 0x0548FFD9,
593-0x0B7B00D4, 0x03C6FE95, 0x0995FFF8, 0x01B702D9, 0x054100B9, 0x03E30222, 0x0410031D, 0x08880271,
594-0x07E303ED, 0x09A807C9, 0x0B5608DC, 0x06800B51, 0x05060B52, 0x00E51119, 0x03920A46, 0x03C30DA4,
595-0x085F133D, 0x00C91189, 0xFFA30CBF, 0xF8DC1266, 0xF8701296, 0xF1F61479, 0xF2AA154F, 0xEDA009FE,
596-0xEE4A0860, 0xEFA80A4F, 0xEED8029F, 0xED5FFBC4, 0xEDFA0013, 0xF318FB40, 0xEDE8FD23, 0xEFD9F261,
597-0xF707F790, 0xF3FFF6C6, 0xF67DEB8D, 0xF92DEAFD, 0x01C8F49D, 0x0139F5EF, 0xFD68F506, 0x06FEF328,
598-0x06F4F1B2, 0x0611F8BE, 0x072FF62B, 0x0842FEBD, 0x0554FCE1, 0x0BD1FA63, 0x04DEF782, 0x0541F8F1,
599-0x061DFBA9, 0x03F9FA85, 0x098AFA15, 0x0D13FC8D, 0x05B902FB, 0x065AFBFD, 0x0D2B0102, 0x0D320003,
600-0x0C280411, 0x0AFB02F1, 0x0C4E0A6F, 0x0AC90508, 0x0ED1061E, 0x0E650B24, 0x07580F5F, 0x01CE1601,
601-0x00140E8F, 0x00E3099A, 0x00700DA6, 0xF9AF09ED, 0xF76E0C95, 0xF64F08C4, 0xF1ED0765, 0xF4CE00A6,
602-0xF729FDFA, 0xF7E8FAEC, 0xF918FB03, 0xF590F748, 0xFCEDF5CD, 0xFA53F7D5, 0xFD7EF0C6, 0x011EF022,
603-0x0C53EDA8, 0x0B31FA76, 0x0A69FE10, 0x09BBF6B4, 0x0C30F53F, 0x0D1AFACF, 0x0D66FABB, 0x0DA4FE19,
604-0x0DECFFC5, 0x0E59F9E0, 0x11FE003C, 0x12D304A3, 0x126C08A7, 0x0E480670, 0x0ED70911, 0x115106E6,
605-0x0D850EA5, 0x0DD60C3B, 0x0C840771, 0x0F3A0C37, 0x0DAD125B, 0x0AFE1231, 0x0BC915EC, 0x08341504,
606-0x024E16B4, 0x04C31380, 0x011212D8, 0xFCE30D7E, 0xFABA1197, 0xF8B70BE1, 0xFB1F09D6, 0xF4C20C7F,
607-0xF3F40829, 0xF7060761, 0xF0250924, 0xF0C40182, 0xF888FDBA, 0xFF22FD6F, 0xF84D028F, 0xFD02FC5E,
608-0x0017FB68, 0x0338FCE0, 0x0880040E, 0x03650041, 0x08370472, 0x0AE301B9, 0x0C25046E, 0x09140356,
609-0x05690B0E, 0x085F0B71, 0x096205FE, 0x04170C41, 0x09BD07F5, 0x05420A4D, 0x001513B0, 0x022A13C1,
610-0xFDA80CA7, 0xFFCF0DA2, 0xF8A50B21, 0x00360951, 0x016A0DD4, 0xFB8307C2, 0xFF9E0D4F, 0xFE6311F0,
611-0xFD2E1548, 0xF3C20EAE, 0xF0290C9A, 0xEE5A0F5B, 0xF2C207B6, 0xF4190847, 0xF42F02B8, 0xEF90065D,
612-0xF177012D, 0xF482FF77, 0xEF590545, 0xF175FE7E, 0xEF34FAD9, 0xF184FB9F, 0xF292F1FF, 0xF47AF40C,
613-0xF89CF31C, 0xFDADF336, 0x0124F683, 0xFF1EF95F, 0xFE2CF754, 0x013DF7F5, 0x05BCF8E4, 0x01A8F921,
614-0x047AFD08, 0xFF8DFF4B, 0xFD7DFDD2, 0xFFB2FA44, 0x007EFCC6, 0x018AFCD8, 0x05A2FECC, 0x01BD0314,
615-0x00CB020E, 0x06AF0047, 0xFFEBFE02, 0x036EFC11, 0xFF43FB37, 0x0795FF19, 0x08D20115, 0x05D80017,
616-0x05880087, 0x0A7C062A, 0x043DFF12, 0x0359FE81, 0x07870999, 0x02B7072E, 0xFF0405DC, 0xFD0600A5,
617-0x023E0457, 0x03E60B0B, 0xFA300402, 0xF77A05F4, 0xF052FF3A, 0xF46AFE8D, 0xF729FD1C, 0xF290FAD7,
618-0xF968F591, 0xF95CF1F9, 0xFA53F227, 0xFE1CF0BE, 0x01F4F371, 0x0193EF9C, 0xFFD2EAD7, 0x0358EE9F,
619-0x08B8F1DF, 0x0E3FF4D2, 0x0B3BF80D, 0x0DEBF687, 0x1385F531, 0x0FD2FD38, 0x16CAF73C, 0x14F400E7,
620-0x0C81FE0A, 0x13B2FD3C, 0x118E0317, 0x127C001E, 0x11C906CE, 0x0B5B0625, 0x0F9A0278, 0x12D80BA7,
621-0x0DF80ED8, 0x0C7008CD, 0x11F8090D, 0x0FC60E8A, 0x0D96102C, 0x078A12A2, 0x06C71243, 0x05FA13F5,
622-0x0A6F1108, 0x0DD91B05, 0x0336193F, 0x0600162B, 0xFB8013EE, 0xFA4C1829, 0xF52C1142, 0xF3330EE5,
623-0xEE38123A, 0xEB6C09D5, 0xF24902A0, 0xF35702C9, 0xF4DFFD51, 0xEFC602C8, 0xF7E6FBC3, 0xF637F721,
624-0xFC50FB1B, 0xFE1AFA4C, 0x003AF567, 0x01A1F0EC, 0x08B6F3CB, 0x0E1AF545, 0x12D5FBA5, 0x0B43FBD9,
625-0x11AD0494, 0x100C026D, 0x0F21032A, 0x12C80B2A, 0x08E711C2, 0x0A7D0F94, 0x0C751081, 0x04E50FB9,
626-0xF93EE851, 0xFCAFEC99, 0xFDFBE850, 0x022CF06A, 0x0569EF6A, 0x082CEF30, 0x012AEE1A, 0x0B09EEE9,
627-0x0A04F0E9, 0x12CDF7D8, 0x142CF83C, 0x120A00A1, 0x138E067C, 0x0F9A0915, 0x0AC91168, 0x0B660FF6,
628-0x050713F7, 0x042812BA, 0xFB541896, 0xF4AD11E3, 0xF7DA0C39, 0xF59A0ADC, 0xEE1F0C7D, 0xEE790839,
629-0xE8E10935, 0xEBA701CC, 0xE3C5FF71, 0xE20BFF1C, 0xE5A3F68E, 0xE7B9F777, 0xE465F183, 0xE4C5F044,
630-0xE97AE9E1, 0xF261DEEA, 0xF931E618, 0xF842E642, 0xF87AE382, 0x0254DFD0, 0x0828E606, 0x0041E548,
631-0x09D6E549, 0x0D4DE6B2, 0x13D6E525, 0x137EE896, 0x139FE760, 0x150EE72F, 0x1D26EE03, 0x2185EEC3,
632-0x1E9EF50A, 0x230FFE2B, 0x25E7FB78, 0x236EFEDA, 0x2568057E, 0x219D07D0, 0x1FC40DF0, 0x245A1145,
633-0x1A9F1A50, 0x121F18DC, 0x12EC1690, 0x113A17E8, 0x0B9521FE, 0x03B91CED, 0x039F182F, 0x043016B8,
634-0x01921A7F, 0xF0E0185E, 0xF2911590, 0xF3B90D97, 0xF51B13C8, 0xEDEE09C9, 0xF1E20676, 0xEE5601AB,
635-0xF29BF6BD, 0xFB42FA87, 0xFCB7FA70, 0xFF33FAF4, 0x0012FB34, 0x00DDFCED, 0x00C1F9F5, 0x03CFFD47,
636-0x008FFB21, 0x04C6FB1C, 0x096B0242, 0x060DFCDB, 0x0990FA70, 0x0C300019, 0x0B9B02BC, 0x107A04F2,
637-0x0D9706D4, 0x0DB70D86, 0x0B890D97, 0x0C040ACF, 0x0FB107D9, 0x0C9811C6, 0x09A80EE5, 0x0B671480,
638-0x08F81447, 0x040D171D, 0x02EF168E, 0x080E1797, 0x046713D5, 0xFF472002, 0xFC0E1D35, 0xFA7A1AC7,
639-0xF8CF1D17, 0xEE6B1C36, 0xECBA1997, 0xE85B1D31, 0xE7011420, 0xE9561017, 0xE3640C37, 0xE4D00777,
640-0xE8500791, 0xEF2804CB, 0xE64D03B7, 0xE81A06C9, 0xE6C90159, 0xE4D501EE, 0xEAE4013C, 0xE5470083,
641-0xE72AF94F, 0xE895F7FA, 0xEAD9F6E4, 0xEBC7F38D, 0xF2AFF8CE, 0xF783F396, 0xF75FF378, 0xF721F8FC,
642-0xF545F6EC, 0xF516F47D, 0xF95EF3C6, 0xFAF4F923, 0xF95AF34B, 0x000EEDA1, 0x028AF3E0, 0xFE4BF58A,
643-0x06CEF569, 0x09A5F3E7, 0x0C5EF7B9, 0x0E49FA3A, 0x08D104DC, 0x07AE01FA, 0x053304C6, 0x0793FF7F,
644-0x064E0A38, 0xFE440596, 0x022804BE, 0x0444085B, 0x0009081C, 0xFC4F0859, 0xF5520355, 0xF8370231,
645-0xFF57049E, 0xF4CE084C, 0xF1C40302, 0xEFFBFA02, 0xF2DDFF85, 0xF51AFAEA, 0xEDF3F836, 0xF187F74E,
646-0xF4BBFBEC, 0xF3C7F837, 0xF13FEDE7, 0xF442F02D, 0xFAC1EB66, 0x02EFEC28, 0xFFF4EC3F, 0x034FEF22,
647-0xFE8DEC54, 0x020EEA1B, 0xFF87EAAD, 0x07B0F70D, 0x0BDBEAFD, 0x174AE5CE, 0x0BD3EC35, 0x123DEBEA,
648-0x14C5EDA4, 0x1D68EDC1, 0x1DD5F6C2, 0x234EF8E7, 0x21CFFF87, 0x1C3E06F9, 0x1AE80156, 0x1CFF074E,
649-0x1FC80A34, 0x1B7A0F81, 0x19730E14, 0x166B179E, 0x192D16B9, 0x14DA191E, 0x0F651952, 0x106013F9,
650-0x09281BF0, 0x026A1DBC, 0xFC0E184F, 0xF8E5170C, 0xF9501453, 0xFB4D1B97, 0xF7BA1112, 0xF54612F6,
651-0xF6BE0AFB, 0xF4340C6C, 0xF20A101C, 0xF6E90782, 0xF3A406F3, 0xF7A60338, 0xF124065F, 0xF1CF0349,
652-0xF2E6FCD3, 0xF9EDFC96, 0xFB70FB8B, 0xFDF2FFA7, 0xFA4EF6E6, 0x0106F7EF, 0x0302F8FE, 0x0918F2CE,
653-0x0679F4DF, 0x11F2F8C7, 0x1427FD14, 0x0FA90664, 0x12F507C6, 0x137F07F9, 0x14DF09D3, 0x111D0C1D,
654-0x09280FE0, 0x0D2F13A0, 0x0FDA1274, 0x107419D8, 0x0D641A94, 0x041F1E7C, 0x0857220F, 0x018D2601,
655-0xF96E2E93, 0xEEED22F9, 0xEDF122C5, 0xE8E612A6, 0xED9A1685, 0xEBF410E2, 0xE39A0D5D, 0xE6820B09,
656-0xE70A0790, 0xE786048D, 0xE3C106EA, 0xE5F5FD26, 0xE155FD58, 0xEC17FDE0, 0xE941FBA3, 0xE938F410,
657-0xEA95F9CB, 0xEE03F211, 0xF88EF467, 0xF46DF64D, 0xF972EEF5, 0xFAC0F4F3, 0xF819F2F9, 0xFC7CEFFC,
658-0x008EF24C, 0x0568F104, 0x02DDF835, 0x0208F642, 0x017BFDA3, 0x0474FB4B, 0x03D100E0, 0xFE6DF9C6,
659-0x0602FE30, 0x035BFC25, 0x07A7F9AE, 0x0906083A, 0x0AE90969, 0x057C06F6, 0xFFA60ABF, 0x002609A9,
660-0xFE5A114B, 0xF8170B67, 0xF5750BD5, 0xF3EB0660, 0xEF4E04B6, 0xF0C201DD, 0xEFAB0027, 0xF265FBEA,
661-0xEEA2FF23, 0xEFA3FBDC, 0xF3E00259, 0xECFE0201, 0xEA3DF558, 0xF2ABF1E7, 0xFA0CEF15, 0xEF19F241,
662-0xF26BEE10, 0xF660E56C, 0xF8FDE7BF, 0x0149E38A, 0x0160E856, 0x032AED98, 0x0BCDEFE1, 0x0B31F1B6,
663-0x05FAF194, 0x08B7EB2E, 0x13ADED8E, 0x0EFAF25E, 0x1112F34E, 0x134DEFE4, 0x1554F2FC, 0x14DFF67F,
664-0x1989F8D3, 0x19F6FBDC, 0x161BFEE2, 0x192502C7, 0x1A6E076C, 0x1B0205ED, 0x137C0620, 0x16DE08BE,
665-0x1678139A, 0x0E0715E8, 0x0E6A1705, 0x0CDA1335, 0x0AEF0DA6, 0x0D3713AC, 0x08121764, 0x035819FC,
666-0xFE1E19C1, 0xFFC818D2, 0xF6EE18A2, 0xF3F21190, 0xF04413AA, 0xF1881017, 0xEF15071B, 0xE9C2003D,
667-0xF238003E, 0xF4330088, 0xF654FD53, 0xF653FCE9, 0xFA26F87E, 0x0008F993, 0xF9F2F6C6, 0xF716FC2E,
668-0xFE6BF20F, 0xFF55F1CB, 0x015FF741, 0x01F7F6DF, 0x063FF0E3, 0x0C6FF8E3, 0x139FF893, 0x15FE01E1,
669-0x1515FF14, 0x17B90109, 0x16B103F8, 0x17720735, 0x17280831, 0x1C630EA2, 0x1678108A, 0x13EA11B6,
670-0x129517E7, 0x11771F01, 0x0C8622CC, 0x063120C7, 0x057422A9, 0x0463288E, 0xFBCD29D0, 0xF4CF29E9,
671-0xF0DE2ACD, 0xECAF2571, 0xE7562335, 0xE3411DBF, 0xD8AA1B67, 0xDCF812A2, 0xD8030FE6, 0xD69B0979,
672-0xDB4E011D, 0xE081FF40, 0xDA72FD2C, 0xDF78FE51, 0xE178F4D8, 0xE573F211, 0xE350F16F, 0xE4FAED2A,
673-0xE6A0E727, 0xF0B0E5F5, 0xF297E26A, 0xFA83EA3C, 0xFA17E8A5, 0xFB6EDF78, 0x04A7E4EC, 0x0D13EF6A,
674-0x0885F3BF, 0x0A28F2F3, 0x1081F475, 0x04D3F6EB, 0x0BBAFB4D, 0x0696FAB0, 0x0EBBFCFE, 0x109BFFB7,
675-0x0E050309, 0x0C9D0584, 0x0B78091B, 0x0A490DEC, 0x04F90EBB, 0x02F41577, 0xFD1213E8, 0xF7AF1205,
676-0xF9660EC2, 0xF14D1376, 0xEBAF1039, 0xF12A0BAF, 0xF1240BF5, 0xEA9C0C10, 0xE67D0108, 0xE61DFFE0,
677-0xFF6313FA, 0xFF541A0C, 0xFED818E8, 0xF9B71169, 0xFF5A1691, 0xFA5D1C69, 0xF88118F8, 0xF9501C79,
678-0xF2B218C4, 0xEF0B1999, 0xEC9D185D, 0xECB91370, 0xE8131882, 0xE4660F2B, 0xEA8F0D4A, 0xEEFC0A0F,
679-0xE46108A4, 0xE7CA0C1C, 0xE7610475, 0xEAD8F989, 0xF00AFC14, 0xF00AFD85, 0xF37FFC37, 0xF543F69D,
680-0x000DF6F2, 0xFB6BFA94, 0xFFCEFFC8, 0xFCE102E7, 0xFEB9034C, 0x03CC0773, 0xFC0E047F, 0xFF830297,
681-0x01B00441, 0xFB5E079C, 0x00830C93, 0xFBE90C09, 0xFD860DE7, 0xF6CD092C, 0xF1D40959, 0xFC500AA1,
682-0xF2FB074B, 0xF701097F, 0xF5B3094C, 0xF18606EE, 0xF6C30095, 0xF7F30683, 0xF9740753, 0xF2080724,
683-0xEE620B28, 0xEE67067D, 0xEFDE0468, 0xEB6B070F, 0xEA5E015E, 0xF2420379, 0xE7290345, 0xE41AFEEC,
684-0xE8E3F837, 0xE2B8F621, 0xEB51F18E, 0xEA56EE19, 0xEE5FEF06, 0xE8ECE76D, 0xF51AE62D, 0xFB4DE82C,
685-0xFDE3E231, 0x009EE06B, 0x09F0E6C7, 0x0B03E834, 0x0DF0EDDA, 0x0F7DEB2C, 0x179BF08C, 0x19DCF040,
686-0x1AAAFA4F, 0x13500057, 0x15E7FFE8, 0x1A0405A5, 0x1760083F, 0x141F0C97, 0x0F250A66, 0x0EB70BE6,
687-0x05220F29, 0x0579101D, 0x035B1035, 0x047F0A00, 0xFFBF0B0F, 0xFAF707F4, 0x00840783, 0x01810772,
688-0x001306D0, 0xFB8307B8, 0xF992040E, 0xFC9A0766, 0x02120914, 0xFF2002D1, 0xFA1A04F4, 0xFC8AFE4A,
689-0xFDF300D0, 0xFED604AB, 0x000005B3, 0xFDA4FFB8, 0xFC130510, 0x0117F9C9, 0x025AFDF7, 0x032BFB79,
690-0x0466FF7A, 0x09DDFD7C, 0x09F60055, 0x0921FCE1, 0x07B9FD95, 0x0BE3FCC2, 0x09510037, 0x1236F97D,
691-0x165302FB, 0x16C509B7, 0x15780C34, 0x13D1067C, 0x187E0C18, 0x13CA153F, 0x12F01B86, 0x07E92089,
692-0x08B01B0C, 0x07C61E57, 0x00D21F88, 0xFA5C1D5D, 0xFBF01A3B, 0xFC021632, 0xF617196D, 0xF1D21367,
693-0xF122162B, 0xF34A1126, 0xEF80105A, 0xF0640C08, 0xF1600C28, 0xF4E40C23, 0xF4920AE0, 0xF0E6077A,
694-0xF74B0407, 0xFED40C13, 0xFA7B0DAE, 0xF439165A, 0xF2040CB4, 0xF7F70A43, 0xFB121109, 0xF9800DF1,
695-0xEF041318, 0xEFCA0CDC, 0xF01409C4, 0xECD608C2, 0xEF3607DA, 0xF30608A4, 0xF2DB0447, 0xF2E9FF9D,
696-0xF47C0186, 0xF2B6FEEB, 0xF1360154, 0xFA320176, 0xFD3CFF20, 0xFAE2FB17, 0xFDEF07CE, 0xFB51061C,
697-0xFA5803FA, 0xFDD7056A, 0xFD0B0437, 0xFF490496, 0xFDCE05BB, 0xFBCE092E, 0xFB25037A, 0xF92509AE,
698-0xF9880E77, 0xFDC3063A, 0xF5F805A4, 0xF4E203D8, 0xF89E05F9, 0xF38F0712, 0xF1E6083C, 0xEECB049B,
699-0xEEE301B1, 0xFAFCFF64, 0xF62401EE, 0xF4B60621, 0xF5A90067, 0xF730FE5F, 0xF536F9F5, 0xF734FF49,
700-0xF5720333, 0xF455FE9E, 0xEE7BFD8F, 0xFB93FAD9, 0xF907F8DA, 0xF2DFFD34, 0xF107F8EB, 0xF669F97B,
701-0xF7B6F440, 0xF66DF65E, 0xF85CF30E, 0xF324ECAE, 0xFC08EDD6, 0x03AFF01C, 0x031AF494, 0x02F9F1BD,
702-0x0882EEEA, 0x0A48F37F, 0x0E95F05D, 0x1427F172, 0x0F930021, 0x0D15FF92, 0x126FF9BF, 0x1250FDB1,
703-0x1345000F, 0x13CF089A, 0x0F5C0B8B, 0x084C0D30, 0x0CB00C42, 0x0C851158, 0xFFE11339, 0x04470CD8,
704-0x05250F61, 0x020B11CC, 0xFC1D0E7B, 0xF7C20F7D, 0x006A0D36, 0xFBE4045C, 0xFE9C0ADB, 0x01F91124,
705-0xFA370D8F, 0xF76C021C, 0xFAC2FF19, 0xFBF40159, 0x03E9FEC9, 0xFE660457, 0xF6E90534, 0xFE27FE71,
706-0x003400D1, 0x0299FD90, 0x00640296, 0xFE7EFF61, 0x0043FDF3, 0x02C1F9CA, 0x0C090027, 0x0B9E05D5,
707-0x0CB4FF5A, 0x0CE80365, 0x0F950154, 0x150D0915, 0x141608A4, 0x0B8F0B40, 0x0C791097, 0x12BE0B35,
708-0x0D4B1035, 0x09551441, 0x030B1919, 0x04D61950, 0x05D8172A, 0xFE611E67, 0xFF821B9C, 0xFB351C78,
709-0xFA341B0D, 0xF7E717AA, 0xF44D106F, 0xF3AE17CB, 0xED841049, 0xEC74129F, 0xF0690DB1, 0xF5150A62,
710-0xF8170D20, 0xF18C0E10, 0xF13B0AC4, 0xF2AD0471, 0xF63406C0, 0xF3510B07, 0xF44D0978, 0xF1580C12,
711-0xF76F0479, 0xF4FE06D7, 0xF2AE068E, 0xEB210B8E, 0xECCF02DE, 0xF241040E, 0xF7AE01C0, 0xF74601A9,
712-0xF927FF3B, 0xFC7701BF, 0xF713FFF6, 0xFF2C0018, 0xFB86FFC5, 0x02050098, 0xFB390910, 0xF7960A18,
713-0xFC6405D0, 0xF8C106BC, 0xFB7608D3, 0xFAA80C0D, 0xF5A10FE4, 0xF53C10CC, 0xF19C1027, 0xFA870F04,
714-0xEC2A0FC4, 0xE99D06A1, 0xEB8206CD, 0xE1C6099F, 0xE73C02B4, 0xE85BFCB0, 0xE382FCE0, 0xEB57FB6C,
715-0xECF2FC0B, 0xEF0AF7C7, 0xF146F6F1, 0xEF09F4AE, 0xEE80F2AF, 0xF7C5EEBE, 0xFB9CF2DD, 0xFC8BF882,
716-0xF885F593, 0xF95FF579, 0xF7B0F8CE, 0xFEB8F949, 0xF7C8FA59, 0xFAF7F582, 0xFF01F027, 0xFE94F4D0,
717-0xFD68F161, 0x0215F177, 0x02BFEDA0, 0x042AF11B, 0x0624EDCF, 0x0379F737, 0x0481EE7D, 0x0575EF18,
718-0x102EF5F4, 0x0EEEF09B, 0x10EAFC93, 0x0D9CFA9C, 0x123CFBD1, 0x0F8903C0, 0x0F600304, 0x1479091D,
719-0x0D920332, 0x0B810B84, 0x052F0C6E, 0x05910696, 0x0AA40789, 0x0BC005DA, 0x04C109D4, 0x016D09C4,
720-0xFFE80CE9, 0xFD4D0866, 0x077406D5, 0x02C704D5, 0xFC890315, 0x00810277, 0x0386FE1C, 0x027402AA,
721-0x022F0208, 0x0472018B, 0x03660832, 0x06B9FDBB, 0x070F0520, 0x0603063E, 0x07C2034F, 0x05BFFF30,
722-0x07E40251, 0x0A0503B1, 0x0884FE1E, 0x0A170594, 0x0B1301C2, 0x035505DF, 0x0C6001DF, 0x0B400326,
723-0x0805006F, 0x0D86003E, 0x134E05C4, 0x11050A47, 0x0FEF0E5E, 0x11B61060, 0x12A9161B, 0x105C1356,
724-0x11D91857, 0x13C11FCE, 0x0A74219D, 0x058A1B28, 0x06341916, 0x087121E9, 0x09DC2079, 0xFF6E23FB,
725-0xF2321C03, 0xF3A91A28, 0xF15E2014, 0xF2E12175, 0xEDC61CAB, 0xE3B31575, 0xEE6A163F, 0xE7421668,
726-0xE56D12CF, 0xE3C60D25, 0xEDF30D93, 0xEE4602E4, 0xE9F20645, 0xEEBB0171, 0xED6CFE29, 0xEF030236,
727-0xF1BBFFB3, 0xF581F904, 0xF570FBCE, 0xFB4DFCEF, 0xF59205C3, 0xF9DFFC49, 0xF99F0060, 0xFC1E0001,
728-0x0C1E04EE, 0x0A19025F, 0x06E70439, 0x0ACD0567, 0x0B5805A4, 0x0B990CF4, 0x078A13EA, 0xFDC50C9F,
729-0x04090A99, 0x06940977, 0x01A70D56, 0xF87C0D0E, 0xFB5B0AC5, 0xF90A0BB8, 0xF367061E, 0xF1880544,
730-0xF218FE11, 0x01C000B8, 0xFDBD021F, 0xF96506DE, 0xF758FE03, 0xFB61F604, 0xFC8FF9FF, 0xFF330218,
731-0x01E3FE24, 0x0199FADE, 0x0604FBDD, 0x003EFD2C, 0x05C8FA41, 0x06A9FC04, 0x0894FB77, 0x07AAFE5A,
732-0x0B2803B4, 0x060B048F, 0x0CD60201, 0x081A02B6, 0x073E09C6, 0x08F308CF, 0x08DD085B, 0x0A190B32,
733-0x065B0C19, 0x0A0207F0, 0x09C50AF6, 0x09571054, 0x04C716D1, 0x00FC14C4, 0x03F210CB, 0x01CF1048,
734-0x00021A8F, 0xF61418DA, 0xF6DD17BC, 0xF31615D1, 0xEFD61563, 0xF48613EB, 0xF1310D75, 0xEB640E34,
735-0xEB320E90, 0xEE3C04A9, 0xE8E307CC, 0xEAD9085F, 0xE3C20658, 0xE9610031, 0xE799FCFA, 0xE62CFEF9,
736-0xE947FBCF, 0xF1F3F4CE, 0xEEEBF59E, 0xF3BBF38C, 0xF31CF13B, 0xF3FCF085, 0xF629F572, 0xFDFEF3C1,
737-0xFC33F47F, 0xF89CF46A, 0xF9ECF821, 0xFB5BF30D, 0xFF5BF820, 0x00EAFA94, 0xFFDB0188, 0x02A9FC82,
738-0x02C0FAF2, 0xFF950069, 0x06D6FC2F, 0x031FFF9B, 0x07610689, 0xF9710D13, 0xF7F006E5, 0xF9780698,
739-0xFF74049B, 0xF31B056E, 0xF5F3080F, 0xF67401A3, 0xF323FE99, 0xF058FEC1, 0xF5D40167, 0xF465FDA6,
740-0xF79DFB4B, 0xFAB7FE59, 0xF317FD78, 0xF0F6FA44, 0xEF27F4E8, 0xF756F297, 0xF706F36A, 0xF584F683,
741-0xF410F186, 0xF73FF462, 0xFFBAEA40, 0xFB68ECD6, 0xFD67F19D, 0xFDC5ED46, 0x0108F3E1, 0xFF2DF92D,
742-0xFA9DF0D0, 0xFFF6F413, 0x067DECA6, 0x0720F5B8, 0x0DB4F057, 0x0682F07C, 0x0E24F01B, 0x0E4FF4DC,
743-0x0BF2F50B, 0x111AF404, 0x139DF90A, 0x0DC2FBB6, 0x109EFDDD, 0x101BFBF9, 0x0F7B03C7, 0x0FFB06BA,
744-0x104A0726, 0x0D8E0720, 0x0CBC0111, 0x07FE053F, 0x0715089C, 0x0C7F0B66, 0x0AAB0C6E, 0x00C209F7,
745-0x04380774, 0x0B030AC1, 0x04A20C07, 0x054B0A89, 0xFFC40A72, 0xFF3808DE, 0x0082077F, 0x031700E8,
746-0xFF040282, 0xFBF00A7F, 0xFB3605A4, 0xF83006A2, 0xFD4D06B8, 0xFB230740, 0xF99B0851, 0xFEEC0529,
747-0xFB790634, 0xF7A3FF51, 0xF934005E, 0xFC79FB92, 0xFF700284, 0xFCE0019D, 0xFF3AFA7E, 0x0651FAC0,
748-0x0482FF0A, 0x04DC0139, 0x06A6FC3C, 0x09ADFF6F, 0x0E7A054E, 0x022E0733, 0x0DE90038, 0x0FDF076E,
749-0x0E050DEF, 0x0CB41543, 0x06EF161E, 0xFF641777, 0x058115C2, 0x01AF1C06, 0xFBFE1C98, 0xFBCA1850,
750-0xF845157F, 0xF15915E3, 0xF06C167D, 0xEDB513ED, 0xEED71361, 0xF00A0D9D, 0xEB450EC6, 0xEAFA0CA7,
751-0xE887077C, 0xEDEB0606, 0xEE92028C, 0xED050605, 0xEDB1057F, 0xEE7E0581, 0xE9E3068D, 0xED5FF90A,
752-0xEA0AFD54, 0xEE84FF91, 0xEE69FE1C, 0xECD7FAA6, 0xEC16F798, 0xEFBCF605, 0xF3A8F9B9, 0xF37AF92F,
753-0xF1C0F65B, 0xF3E3F37C, 0xEF5BFA70, 0xF7ACF111, 0xF1E9EF7C, 0xF692EDF7, 0xFAFFEEAD, 0xFE84EAC4,
754-0x014AF3C3, 0xFDEFF769, 0x0721F5C9, 0x024EF290, 0x03A9F9F3, 0x00C2020E, 0xF9D500B5, 0xFEBCFF79,
755-0xFCB3088D, 0xF93B0752, 0xF9640306, 0xF3A60311, 0xF5AC00EB, 0xF65CFFDB, 0xF6EBFF67, 0xF48C0329,
756-0xF584FCC1, 0xEFBFFC76, 0xF159F83C, 0xF446F5B8, 0xF3ADF55A, 0xF42AF3DB, 0xF8C3F7AA, 0xF6D7F8C0,
757-0xF9E3F36D, 0xF6C4F166, 0xF957F356, 0xFFCEF516, 0xFDAAF3BA, 0xF9D5F48C, 0x013EF0DA, 0x0301F145,
758-0xFDF9F264, 0x02D0F4D4, 0x02C5F35B, 0x023FF4BC, 0x066EF1D0, 0x063CEBF5, 0x0684ED5A, 0x0AC0F465,
759-0x0F2DF1D1, 0x0F5CF3CD, 0x0ACCF68D, 0x1305FC13, 0x138900BD, 0x12B603C9, 0x0AE50561, 0x0B28047D,
760-0x0D6C03AB, 0x0AA00945, 0x0B1C0BA4, 0x0605105B, 0x06090B4A, 0x039A136C, 0xFE3D0B3D, 0xFC190EF2,
761-0xF87E097D, 0xFAEF07AE, 0xF3F90858, 0xEE140881, 0xF132014F, 0xF7A003CB, 0xF6C101FA, 0xF1540172,
762-0xF908FCA9, 0xF577F6A5, 0xFD2FF597, 0xFDEEFCE3, 0xF8BCF8C1, 0xFC97F982, 0xF94BF30A, 0xFBC3F7FD,
763-0xFB6DF6E8, 0x0177F3BA, 0x036BF366, 0x042CFB26, 0x00D8FA96, 0x0197F395, 0x07FAF61C, 0x0FB2FCB0,
764-0x0C7CFA6A, 0x0D99FC2C, 0x085EFDCA, 0x0B99000F, 0x0B1E01F8, 0x0AA20645, 0x0B9806F6, 0x09BC0B9E,
765-0x05470A5B, 0x01810A9B, 0x07F50966, 0x038E0561, 0x06650E04, 0x03491089, 0xFE2A1020, 0xF8E60C7E,
766-0xF97110A8, 0xF6590FFB, 0xF35C0A99, 0xF0F20CBA, 0xEB820724, 0xEE6204A7, 0xEC3EFCF7, 0xF580FF55,
767-0xF691FD75, 0xF028FD1F, 0xF36D0020, 0xF3F2F71F, 0xF785F9D3, 0xF7E3F987, 0xF754F957, 0xFC51F932,
768-0xFA2DFCD7, 0xF7E8FB34, 0xFB0CF1FD, 0x0167F8A6, 0xFDCBFE0D, 0xFEC5FAA6, 0x01F7FE1F, 0xFA2EF859,
769-0xFE76F8E6, 0x041DFEB8, 0x0023FBBF, 0x0079FE5B, 0x0593FB38, 0x0557FBD7, 0x0224FA5F, 0x05B8FDB7,
770-0x089E0309, 0x07FE0131, 0x07FD090F, 0x04C90324, 0x075505A7, 0x0BA10AE6, 0x02FA0BAB, 0xFDE50E89,
771-0xFFF80BBC, 0xF9F20DA7, 0xFAF90DC9, 0xF8640A7A, 0xF92F0E00, 0xF5740ACD, 0xF1120F17, 0xEBCA067E,
772-0xEEBF00D5, 0xEE4E05EB, 0xF0E9FDEF, 0xEE6504C5, 0xECF0FAD3, 0xF66CFAD5, 0xEDC0F4A7, 0xF273F4E9,
773-0xEFA2F545, 0xF578F562, 0xF942F379, 0xF95FF490, 0xF55DF462, 0xFEB8ED72, 0x0121F5C5, 0x01AAF8CE,
774-0xFD78F957, 0xF6DFF2ED, 0xF969F142, 0xFF6DF1A8, 0x0810F784, 0x03A2F957, 0x0983F64A, 0x0B8DF51D,
775-0x0868F2E1, 0x0D37F5F5, 0x0F01F588, 0x0B32016F, 0x108C02BA, 0x0EEA054C, 0x0D570A27, 0x10B3036A,
776-0x12A50AB5, 0x0DE20FC2, 0x05B31421, 0x07EC14D3, 0x032C125F, 0xFEF8111C, 0xF82811C6, 0xF8670CD5,
777-0xF96C0D76, 0xF1400D9B, 0xF1EC07C5, 0xEC7D0522, 0xEA3C02F1, 0xEB040569, 0xEA95FB0E, 0xEC76FAC0,
778-0xF0E6F7EA, 0xF4FBF785, 0xFE1AF489, 0x0194F342, 0xFFEAFA85, 0x0084F2A3, 0xFE99FA9D, 0x03B1FAF2
779-
780-output0 =
781-0xFBF20264, 0xFB14007E, 0xFB2CFE4A, 0xFC4DFC44, 0xFE49FAE0, 0x00C8FA6A, 0x035DFB04, 0x05A0FC9A,
782-0x073DFEFC, 0x07FE01E1, 0x07C604FB, 0x069407F9, 0x04780A90, 0x019E0C78, 0xFE460D7C, 0xFAC30D7F,
783-0xF76D0C87, 0xF4920ABC, 0xF2660861, 0xF0F705C1, 0xF032031B, 0xEFF40096, 0xF018FE3A, 0xF089FC01,
784-0xF149F9E3, 0xF265F7E6, 0xF3E8F626, 0xF5C7F4CE, 0xF7DFF402, 0xF9F6F3D2, 0xFBD1F42E, 0xFD45F4EA,
785-0xFE45F5CF, 0xFEE4F6AE, 0xFF40F774, 0xFF73F824, 0xFF81F8CD, 0xFF55F976, 0xFED3FA07, 0xFDF1FA4E,
786-0xFCC8FA07, 0xFBA1F900, 0xFAE5F731, 0xFAFDF4D4, 0xFC2CF259, 0xFE71F049, 0x0182EF1F, 0x04E1EF1F,
787-0x0802F040, 0x0A77F239, 0x0C0FF499, 0x0CDBF6F3, 0x0D1EF903, 0x0D27FABC, 0x0D31FC43, 0x0D47FDD3,
788-0x0D49FF9B, 0x0CF801A7, 0x0C1903D5, 0x0A8B05DE, 0x0859076F, 0x05BB0845, 0x0302083E, 0x00840762,
789-0xFE8805DC, 0xFD3703EE, 0xFC9C01DD, 0xFCA7FFE4, 0xFD36FE2F, 0xFE24FCD6, 0xFF49FBE1, 0x0088FB4C,
790-0x01CAFB0E, 0x0300FB1B, 0x0422FB6D, 0x0525FBFF, 0x05FBFCCF, 0x0690FDD6, 0x06CCFF02, 0x069B002F,
791-0x05FB012F, 0x050101CC, 0x03E101E0, 0x02E0015D, 0x0248005E, 0x024CFF21, 0x02F8FDF7, 0x0431FD2C,
792-0x05B5FCF1, 0x073AFD4B, 0x0886FE18, 0x0980FF22, 0x0A390037, 0x0AD70143, 0x0B84025A, 0x0C4F03AA,
793-0x0D1C056B, 0x0DAA07BD, 0x0DA30A96, 0x0CBC0DB9, 0x0ACD10C4, 0x07E61348, 0x044714E9, 0x00511572,
794-0xFC7014DE, 0xF9021355, 0xF6431119, 0xF4510E76, 0xF32C0BB2, 0xF2BC0908, 0xF2E306A0, 0xF3790495,
795-0xF45A02F3, 0xF55F01BC, 0xF66B00E8, 0xF7650064, 0xF842001F, 0xF8FC0006, 0xF993000F, 0xFA080034,
796-0xFA550071, 0xFA7100BD, 0xFA510108, 0xF9F20138, 0xF9620130, 0xF8BA00D8, 0xF8210028, 0xF7BEFF2B,
797-0xF7AEFDFE, 0xF7FEFCC6, 0xF8A7FBA6, 0xF998FAB8, 0xFABCFA0A, 0xFBFFF99E, 0xFD56F976, 0xFEBAF997,
798-0x001FFA08, 0x0171FAD5, 0x0292FBFE, 0x0363FD7A, 0x03C6FF2E, 0x03AC00F2, 0x0316029D, 0x021A040D,
799-0x00D2052C, 0xFF5E05F4, 0xFDD4066B, 0xFC410698, 0xFAAA0684, 0xF911062E, 0xF77A0590, 0xF5EE04A2,
800-0xF47F035C, 0xF34601BE, 0xF25DFFCF, 0xF1DFFDA3, 0xF1E2FB57, 0xF270F913, 0xF385F706, 0xF508F55A,
801-0xF6CEF430, 0xF8A0F392, 0xFA46F370, 0xFB95F3A0, 0xFC80F3EA, 0xFD15F416, 0xFD7EF3FE, 0xFDF2F39A,
802-0xFEA0F300, 0xFFA2F25B, 0x00F7F1D9, 0x0284F19F, 0x0426F1B8, 0x05BEF21D, 0x073BF2BA, 0x08A0F37E,
803-0x09F7F463, 0x0B47F575, 0x0C8AF6C5, 0x0DAAF860, 0x0E85FA45, 0x0EFBFC5D, 0x0EFEFE84, 0x0E910090,
804-0x0DCB0263, 0x0CCE03F1, 0x0BB50540, 0x0A8E0662, 0x09550767, 0x07FC0857, 0x066F0925, 0x04A809B8,
805-0x02AF09F1, 0x009E09B4, 0xFE9D08F3, 0xFCDA07B2, 0xFB7D0607, 0xFAA70419, 0xFA650218, 0xFAB00036,
806-0xFB6FFE9F, 0xFC79FD70, 0xFD9BFCB1, 0xFEA8FC50, 0xFF83FC29, 0x0026FC0E, 0x00A8FBD9, 0x0132FB77,
807-0x01F3FAF7, 0x030AFA7F, 0x0478FA47, 0x061DFA82, 0x07BEFB48, 0x091CFC90, 0x0A05FE2E, 0x0A64FFE3,
808-0x0A4C0175, 0x09E802BB, 0x096D03AE, 0x09050466, 0x08C40507, 0x08A305B8, 0x08870690, 0x08520790,
809-0x07EA08A9, 0x074809C3, 0x066E0ACA, 0x05680BB0, 0x04400C72, 0x02FA0D0F, 0x01970D84, 0x00170DC5,
810-0xFE840DC3, 0xFCEF0D73, 0xFB770CCF, 0xFA380BE6, 0xF94A0AD1, 0xF8B309B8, 0xF86408BE, 0xF83E07FB,
811-0xF8190771, 0xF7D4070D, 0xF75D06A9, 0xF6BB061E, 0xF60F054A, 0xF5850426, 0xF54E02C4, 0xF58B0151,
812-0xF6400009, 0xF74EFF25, 0xF87EFEC8, 0xF989FEF2, 0xFA31FF7F, 0xFA55002F, 0xF9F700BA, 0xF93F00E5,
813-0xF86A0093, 0xF7BAFFC9, 0xF760FEAB, 0xF771FD69, 0xF7EBFC33, 0xF8B8FB28, 0xF9C2FA58, 0xFAF7F9C8,
814-0xFC4EF97D, 0xFDBCF983, 0xFF31F9EB, 0x008BFAC2, 0x019DFC04, 0x023CFD92, 0x024EFF39, 0x01D700BF,
815-0x00FA01F1, 0xFFED02BD, 0xFEDF0330, 0xFDEB036E, 0xFD09039D, 0xFC1803CE, 0xFAF503F0, 0xF99003D7,
816-0xF7FE034B, 0xF677022B, 0xF549007A, 0xF4B1FE68, 0xF4CEFC42, 0xF58FFA56, 0xF6C0F8D9, 0xF821F7DC,
817-0xF97EF749, 0xFAC2F702, 0xFBEFF6EC, 0xFD11F704, 0xFE26F75C, 0xFF11F803, 0xFFA1F8F0, 0xFFAAF9F6,
818-0xFF1EFAC5, 0xFE22FB0A, 0xFD11FA8D, 0xFC5AF955, 0xFC5DF7AA, 0xFD3FF600, 0xFEDDF4CE, 0x00D7F460,
819-0x02B7F4B8, 0x041FF594, 0x04F3F68F, 0x055CF74B, 0x05B5F7A1, 0x0658F7B0, 0x0775F7CD, 0x08F9F85F,
820-0x0A8DF9AA, 0x0BC0FBB3, 0x0C30FE37, 0x0BB200C7, 0x0A6002F3, 0x088B0471, 0x06920532, 0x04C2055C,
821-0x033B052B, 0x01ED04D4, 0x00B50465, 0xFF7803C8, 0xFE3C02D6, 0xFD2E016F, 0xFC8FFF97, 0xFC9CFD80,
822-0xFD6FFB7A, 0xFEF1F9DB, 0x00E6F8E0, 0x02FBF89D, 0x04E7F8FE, 0x067DF9D2, 0x07B1FAE2, 0x0890FC07,
823-0x0933FD2F, 0x09A9FE5B, 0x09F7FF90, 0x0A1500D1, 0x09FA0214, 0x09A3034A, 0x09140462, 0x08570550,
824-0x077A060B, 0x06860690, 0x058706D7, 0x048C06D5, 0x03B20687, 0x031D05F7, 0x02F20547, 0x034004AF,
825-0x03F50474, 0x04D604C8, 0x058F05BC, 0x05CA072B, 0x055008C3, 0x04210A1D, 0x02790AE4, 0x00BA0AF0,
826-0xFF480A5C, 0xFE660976, 0xFE1A08A2, 0xFE2D0831, 0xFE440842, 0xFE0808B2, 0xFD470934, 0xFC0D096B,
827-0xFA970917, 0xF93E0825, 0xF85106BC, 0xF7FB0524, 0xF83403AC, 0xF8D0028B, 0xF99201D3, 0xFA480173,
828-0xFAD90149, 0xFB450135, 0xFB9C0127, 0xFBE9011F, 0xFC2F0125, 0xFC65013D, 0xFC80015E, 0xFC7B0178,
829-0xFC610179, 0xFC480159, 0xFC460120, 0xFC6400E6, 0xFC9D00BF, 0xFCDF00B8, 0xFD1300CE, 0xFD3000F0,
830-0xFD3C010E, 0xFD440123, 0xFD56013C, 0xFD6F0170, 0xFD7101D1, 0xFD340255, 0xFC9502D5, 0xFB8E030E,
831-0xFA4702BB, 0xF91401B8, 0xF8580013, 0xF865FE16, 0xF95AFC33, 0xFB13FADD, 0xFD30FA65, 0xFF36FAD7,
832-0xFA04FDBF, 0xFB68FC07, 0xFD74FB2D, 0xFF99FB6A, 0x0142FC9D, 0x0208FE5D, 0x01CA001D, 0x00B8015B,
833-0xFF3801C5, 0xFDC50149, 0xFCCE0013, 0xFC98FE79, 0xFD3AFCE6, 0xFE96FBBE, 0x0063FB4E, 0x023EFBBA,
834-0x03B7FCF1, 0x0471FEAC, 0x043B0077, 0x032801CC, 0x01960238, 0x001E018E, 0xFF66FFFB, 0xFFE8FE10,
835-0x01BBFC92, 0x047CFC42, 0x0766FD91, 0x0987006D, 0x0A19043C, 0x08C6080B, 0x05CF0ADD, 0x01F30C00,
836-0xFE2E0B49, 0xFB63091F, 0xFA0E0647, 0xFA24039A, 0xFB2D01B4, 0xFC8000C4, 0xFD8B008F, 0xFE12009B,
837-0xFE340072, 0xFE55FFDC, 0xFEDFFEF6, 0x000DFE1F, 0x01C8FDCA, 0x03B8FE45, 0x0561FF97, 0x065B017E,
838-0x067C0389, 0x05DD0549, 0x04CF0677, 0x03B2070A, 0x02D2072C, 0x024B0722, 0x020E072B, 0x01EF0768,
839-0x01BC07D7, 0x01570859, 0x00B908C7, 0xFFF608FE, 0xFF3008EC, 0xFE900894, 0xFE3A0809, 0xFE4A0775,
840-0xFEC9070D, 0xFFA30713, 0x00A007BF, 0x0165092D, 0x01850B45, 0x009E0DB0, 0xFE850FE1, 0xFB601136,
841-0xF7AE112F, 0xF42D0F9D, 0xF1A50CC1, 0xF09C0943, 0xF12B0601, 0xF2EC03C4, 0xF51702FA, 0xF6C8038B,
842-0xF75304E5, 0xF6840629, 0xF4AF0687, 0xF2930584, 0xF116032E, 0xF0ED0012, 0xF25AFD0F, 0xF51DFB01,
843-0xF884FA7C, 0xFBAFFB9C, 0xFDD6FE03, 0xFE8500FF, 0xFDBA03C5, 0xFBD005B2, 0xF9630672, 0xF7100608,
844-0xF55004C4, 0xF45B0317, 0xF424016F, 0xF4710014, 0xF4F7FF1F, 0xF578FE76, 0xF5DAFDEB, 0xF62DFD4F,
845-0xF69CFC90, 0xF759FBC3, 0xF87DFB23, 0xF9F3FAF6, 0xFB78FB72, 0xFCAAFC9C, 0xFD2CFE3D, 0xFCCDFFE6,
846-0xFBA3011B, 0xFA0E017E, 0xF89800F8, 0xF7C2FFCF, 0xF7C9FE88, 0xF88AFDBC, 0xF985FDD0, 0xFA0BFEC3,
847-0xF989001E, 0xF7CF011E, 0xF53200F7, 0xF27BFF2E, 0xF0A6FBD0, 0xF088F781, 0xF279F346, 0xF633F034,
848-0xFAE1EF0D, 0xFF69EFFF, 0x02CAF29C, 0x0470F602, 0x0458F934, 0x0304FB67, 0x013EFC43, 0xFFCDFBEE,
849-0xFF32FAE8, 0xFF8BF9D2, 0x0099F934, 0x01EBF950, 0x0307FA1A, 0x0399FB4D, 0x0388FC86, 0x02EEFD6D,
850-0x0211FDC8, 0x0141FD8A, 0x00CCFCCF, 0x00E5FBD3, 0x01A0FAE4, 0x02E3FA50, 0x0479FA4F, 0x0612FAF9,
851-0x075FFC3A, 0x0827FDDC, 0x0857FF94, 0x0807011E, 0x076D0256, 0x06BE033F, 0x061B03FC, 0x057E04B6,
852-0x04BD057E, 0x03AD063A, 0x023A06AB, 0x00880684, 0xFEEF0595, 0xFDE403EE, 0xFDC801E7, 0xFEBD000B,
853-0x008FFEE9, 0x02BBFEDF, 0x049FFFEE, 0x05B401BF, 0x05BD03BC, 0x04DE054B, 0x038C0608, 0x025C05E7,
854-0x01C70534, 0x02020474, 0x02E8042A, 0x041004AD, 0x04F20607, 0x051B07F4, 0x044D09FB, 0x02950B97,
855-0x00420C5C, 0xFDCF0C15, 0xFBC00ACE, 0xFA8408D3, 0xFA56069D, 0xFB3404B0, 0xFCDA0382, 0xFED10358,
856-0x00940433, 0x01AF05D0, 0x01E107BD, 0x01360978, 0xFFF90AA3, 0xFE9A0B1D, 0xFD7E0B10, 0xFCD90AD5,
857-0xFC950ACE, 0xFC630B33, 0xFBDF0BF9, 0xFAC80CD0, 0xF91D0D4B, 0xF72D0D13, 0xF56E0C17, 0xF44D0A95,
858-0xF3F60908, 0xF43D07EF, 0xF4AA078D, 0xF4B107CC, 0xF3F4083A, 0xF26F083B, 0xF086074C, 0xEEE30541,
859-0xEE32025F, 0xEED8FF47, 0xF0CDFCC2, 0xF397FB71, 0xF673FB97, 0xF89BFD01, 0xF986FF1B, 0xF9120122,
860-0xF78A0262, 0xF587026F, 0xF3BE013E, 0xF2CCFF21, 0xF30AFCAB, 0xF47DFA85, 0xF6D1F941, 0xF977F935,
861-0xFBC7FA61, 0xFD2FFC70, 0xFD5CFECB, 0xFC5700C4, 0xFA8401C9, 0xF88C0196, 0xF7210050, 0xF6C6FE7C,
862-0xF79AFCD5, 0xF94AFC08, 0xFB2AFC72, 0xFC75FDFD, 0xFC970022, 0xFB66021D, 0xF92F0337, 0xF6950309,
863-0xF454019B, 0xF2F5FF5B, 0xF2A4FCE2, 0xF32FFAB4, 0xF42FF90F, 0xF541F7E0, 0xF63AF6E3, 0xF733F5D5,
864-0xF872F4A5, 0xFA3AF387, 0xFC97F2DC, 0xFF4BF306, 0x01DEF430, 0x03CBF634, 0x04B6F8A0, 0x0496FAE3,
865-0x03B7FC7F, 0x0298FD39, 0x01C0FD2C, 0x0188FCB2, 0x0205FC44, 0x0307FC49, 0x0431FCF9, 0x051EFE53,
866-0x05790023, 0x05150216, 0x03EF03CD, 0x023004F0, 0x00270541, 0xFE3F04A6, 0xFCEC0341, 0xFC8F016C,
867-0xFD53FFB5, 0xFF0FFEBD, 0x0143FF02, 0x033000AD, 0x040E0378, 0x035606B0, 0x00F4096C, 0xFD5A0AD5,
868-0xF95F0A74, 0xF5FA085D, 0xF3E80524, 0xF36E01A3, 0xF44FFEAB, 0xF5EEFCB3, 0xF797FBBD, 0xF8CCFB65,
869-0xF975FB1D, 0xF9DAFA78, 0xFA76F95A, 0xFBB6F805, 0xFDC0F6F6, 0x0060F6AB, 0x031DF767, 0x056DF91D,
870-0x06EDFB72, 0x077FFDEC, 0x074F001E, 0x06B201D5, 0x06000318, 0x0569041F, 0x04EA0526, 0x04590654,
871-0x037907A1, 0x022108DA, 0x004E09B8, 0xFE2A09F4, 0xFC040968, 0xFA3D0817, 0xF92C0639, 0xF9080429,
872-0xF9D7025E, 0xFB660148, 0xFD4B0137, 0xFEF9023F, 0xFFE4042A, 0xFFA9067C, 0xFE31088F, 0xFBC209C4,
873-0xF8F009B6, 0xF6730861, 0xF4E80626, 0xF49B03B0, 0xF56A01B5, 0xF6CF00B7, 0xF81400CE, 0xF89801A2,
874-0xF80F028C, 0xF69E02D7, 0xF4D30206, 0xF36B0002, 0xF311FD2B, 0xF41EFA2F, 0xF67EF7D1, 0xF9B5F6A8,
875-0xFD12F6F0, 0xFFE4F882, 0x01AEFAE8, 0x024AFD86, 0x01DEFFD2, 0x00CC0173, 0xFF840254, 0xFE650298,
876-0xFDA00287, 0xFD34026A, 0xFCFC0275, 0xFCC002B3, 0xFC53030A, 0xFBA8034B, 0xFAD40345, 0xFA0B02E4,
877-0xF986023B, 0xF969017E, 0xF9AB00F6, 0xFA1800D8, 0xFA5B012F, 0xFA2601C9, 0xF9550245, 0xF80D0239,
878-0xF6B6015C, 0xF5DAFFB8, 0xF5ECFDAB, 0xF718FBD3, 0xF91CFAD7, 0xFB5DFB1F, 0xFD11FCA8, 0xFD8EFEF4,
879-0xFC890134, 0xFA3C028D, 0xF7540265, 0xF4BA0098, 0xF343FD8B, 0xF36CFA02, 0xF535F6E0, 0xF82BF4DF,
880-0xFB92F459, 0xFEAAF540, 0x00E1F729, 0x01F7F982, 0x01FAFBB7, 0x0137FD61, 0x0013FE4D, 0xFEF3FE81,
881-0xFE24FE28, 0xFDD2FD88, 0xFE04FCE9, 0xFE9DFC8F, 0xFF67FCA3, 0x001DFD2F, 0x007DFE14, 0x0061FF15,
882-0xFFCAFFE8, 0xFEE8004F, 0xFE030031, 0xFD69FFA6, 0xFD47FEEF, 0xFD9DFE5D, 0xFE39FE2E, 0xFECDFE73,
883-0x05D2FCB5, 0x06AFFEB0, 0x067500D9, 0x0538028D, 0x03660351, 0x01A002FF, 0x007801D7, 0x00430058,
884-0x00FBFF18, 0x024DFE89, 0x03BAFED3, 0x04CBFFD8, 0x05330140, 0x04E3029D, 0x04060392, 0x02F003E8,
885-0x0201039B, 0x019002DA, 0x01D101F7, 0x02CB015A, 0x044D0167, 0x05F90262, 0x0750045B, 0x07D4071C,
886-0x07300A34, 0x054F0D10, 0x026E0F25, 0xFF05101C, 0xFBA60FEB, 0xF8C80ED5, 0xF6A00D47, 0xF51C0BAD,
887-0xF3F60A41, 0xF2E008FF, 0xF1AF07AD, 0xF077060A, 0xEF7D03F4, 0xEF12018A, 0xEF64FF21, 0xF05DFD22,
888-0xF1A4FBD3, 0xF2C2FB33, 0xF35CFAF3, 0xF35CFA96, 0xF308F9AD, 0xF2E3F80E, 0xF374F5EE, 0xF507F3D9,
889-0xF782F270, 0xFA66F22E, 0xFCFCF32B, 0xFE9FF50C, 0xFEF7F723, 0xFE24F8AF, 0xFCACF922, 0xFB50F851,
890-0xFAC4F686, 0xFB72F45F, 0xFD60F297, 0x0030F1C9, 0x0348F244, 0x0601F3FF, 0x07DBF6A2, 0x0893F9AE,
891-0x082EFC9D, 0x06E8FF08, 0x051D00B5, 0x032C019E, 0x016101E9, 0xFFE601D0, 0xFEBB0195, 0xFDC10166,
892-0xFCC60153, 0xFB9A0148, 0xFA220113, 0xF8680077, 0xF69AFF45, 0xF500FD67, 0xF3E4FAF5, 0xF37CF825,
893-0xF3E0F543, 0xF500F294, 0xF6B4F04A, 0xF8CBEE7B, 0xFB20ED27, 0xFD9CEC48, 0x0034EBDF, 0x02D9EBF6,
894-0x0570EC9E, 0x07CAEDDF, 0x09ABEFA5, 0x0AE2F1BF, 0x0B58F3DD, 0x0B1DF5AC, 0x0A70F6E6, 0x09A9F76E,
895-0x0923F755, 0x0928F6D9, 0x09D5F652, 0x0B1BF61D, 0x0CBDF680, 0x0E66F79D, 0x0FBAF969, 0x106BFBAA,
896-0x1051FE09, 0x0F740022, 0x0E0D01A0, 0x0C7F0253, 0x0B3A0245, 0x0AA101BE, 0x0AE20138, 0x0BE4013A,
897-0x0D430232, 0x0E61044B, 0x0E990754, 0x0D6F0AC5, 0x0ABB0DDE, 0x06C10FDD, 0x02221039, 0xFDB00ECA,
898-0xFA380BD9, 0xF8460807, 0xF8010420, 0xF92800E3, 0xFB2BFECC, 0xFD5BFDFB, 0xFF1AFE35, 0x000CFF00,
899-0x0021FFCE, 0xFF95002B, 0xFED3FFD6, 0xFE50FED8, 0xFE66FD70, 0xFF3BFC04, 0x00BCFAF9, 0x02A6FA9B,
900-0x049AFB03, 0x063FFC1A, 0x0758FDA3, 0x07D4FF4E, 0x07C700D9, 0x0763021B, 0x06DA030E, 0x065303C4,
901-0x05DA045A, 0x056B04E4, 0x04FC0567, 0x048905DB, 0x041E063D, 0x03D20695, 0x03AF0705, 0x03AA07BA,
902-0x039208DA, 0x03190A6B, 0x01F00C3C, 0xFFE70DEF, 0xFD0A0F0B, 0xF9AA0F27, 0xF64D0E14, 0xF3810BEF,
903-0xF1B40923, 0xF1070640, 0xF14703D2, 0xF1FF022E, 0xF2A50156, 0xF2C90100, 0xF23D00B1, 0xF123FFEE,
904-0xEFD9FE66, 0xEEDDFC0B, 0xEE9DF913, 0xEF59F5E2, 0xF11AF2ED, 0xF3B0F099, 0xF6CBEF28, 0xFA0BEEB2,
905-0xFD16EF29, 0xFFA5F060, 0x0185F218, 0x02A0F406, 0x02FCF5DE, 0x02BCF75E, 0x021CF854, 0x0167F8B1,
906-0x00E6F887, 0x00D1F80B, 0x013DF784, 0x021DF738, 0x033FF75E, 0x0461F809, 0x0544F92C, 0x05B5FA9F,
907-0x059FFC2B, 0x0503FD99, 0x03F9FEBA, 0x02A4FF6D, 0x012FFFA0, 0xFFCAFF51, 0xFEA4FE8B, 0xFDE6FD71,
908-0xFDADFC32, 0xFDFEFB0F, 0xFEBEFA46, 0xFFB1FA07, 0x0089FA5D, 0x00F2FB29, 0x00B5FC20, 0xFFC5FCDE,
909-0xFE50FD01, 0xFCB3FC48, 0xFB66FAAE, 0xFADAF86A, 0xFB54F5ED, 0xFCD6F3BC, 0xFF1FF250, 0x01B5F1ED,
910-0x040DF291, 0x05B0F3EF, 0x0664F589, 0x063AF6D6, 0x058DF76B, 0x04E0F724, 0x04B6F627, 0x0567F4DF,
911-0x0702F3D5, 0x0949F385, 0x0BC3F432, 0x0DECF5D5, 0x0F58F821, 0x0FDCFAA1, 0x0F8FFCE2, 0x0EC3FE97,
912-0x0DDBFFB3, 0x0D28005F, 0x0CCC00E6, 0x0CB40192, 0x0CAA028A, 0x0C6C03C8, 0x0BD00524, 0x0AD00663,
913-0x098A075A, 0x082A07FD, 0x06D7085E, 0x059A08A0, 0x045E08E0, 0x02FA091E, 0x01500936, 0xFF5E08ED,
914-0xFD4C0808, 0xFB680669, 0xFA0F0422, 0xF98C017A, 0xF9FCFED6, 0xFB45FCA3, 0xFD16FB31, 0xFF03FA9B,
915-0x00A3FABE, 0x01B1FB49, 0x0220FBD4, 0x021EFC01, 0x0206FB9E, 0x0241FAB2, 0x0326F981, 0x04DDF878,
916-0x074AF80E, 0x0A15F8A2, 0x0CB9FA59, 0x0EACFD0D, 0x0F850056, 0x0F1F03A1, 0x0DA5065B, 0x0B88081B,
917-0x095E08C4, 0x07B4088D, 0x06DF07EF, 0x06E5077A, 0x077C07A8, 0x082408B2, 0x08550A7F, 0x07B10CB4,
918-0x061A0ED2, 0x03BE1067, 0x00F91132, 0xFE30112F, 0xFBAF108F, 0xF98C0F96, 0xF7B60E77, 0xF6040D42,
919-0xF45A0BDC, 0xF2C20A1B, 0xF16F07E3, 0xF0A80542, 0xF0A70278, 0xF179FFE6, 0xF2EEFDE9, 0xF4A6FCB6,
920-0xF631FC40, 0xF73EFC3A, 0xF7BAFC38, 0xF7DDFBD7, 0xF80EFAED, 0xF8C0F99F, 0xFA3BF854, 0xFC78F793,
921-0xFF21F7CF, 0x01A3F938, 0x0363FBA7, 0x03F2FEA5, 0x032C018E, 0x014703C8, 0xFEBF04EA, 0xFC2A04DA,
922-0xFA1303CB, 0xF8D00228, 0xF876006E, 0xF8DCFF0D, 0xF9ACFE48, 0xFA81FE31, 0xFB02FEA7, 0xFAF5FF61,
923-0xFA490008, 0xF91D0047, 0xF7B7FFE4, 0xF673FECE, 0xF5ACFD28, 0xF5A1FB41, 0xF663F981, 0xF7C4F850,
924-0xF965F7F0, 0xFACEF866, 0xFB92F978, 0xFB76FAB4, 0xFA83FB9C, 0xF907FBC9, 0xF777FB10, 0xF64AF98D,
925-0xF5D3F794, 0xF624F58F, 0xF716F3DC, 0xF85BF2A9, 0xF9A6F1EF, 0xFAC4F182, 0xFBB1F129, 0xFC88F0BF,
926-0xFD74F040, 0xFE90EFC9, 0xFFDBEF83, 0x0133EF8A, 0x0268EFDD, 0x0355F057, 0x03F6F0C1, 0x046BF0EB,
927-0x04F3F0C0, 0x05D0F058, 0x072EEFF2, 0x090FEFE2, 0x0B41F076, 0x0D6EF1D8, 0x0F2DF400, 0x1025F6AD,
928-0x1027F979, 0x0F3FFBEC, 0x0DB4FDA4, 0x0BF9FE70, 0x0A8EFE61, 0x09D8FDCD, 0x0A01FD35, 0x0AE0FD21,
929-0x0C08FDF3, 0x0CDCFFBD, 0x0CCB0235, 0x0B8204C5, 0x090B06BD, 0x05D60786, 0x029506E0, 0x000304F7,
930-0xFEA30253, 0xFE96FFAB, 0xFF96FDA2, 0x0114FC90, 0x0277FC6D, 0x0351FCE0, 0x0384FD6B, 0x0340FDA8,
931-0x02E4FD6B, 0x02C7FCCD, 0x0316FC12, 0x03C5FB84, 0x04A0FB4A, 0x0570FB5C, 0x0618FB92, 0x06A8FBC1,
932-0x074AFBDE, 0x0827FC07, 0x0944FC79, 0x0A78FD6B, 0x0B74FEF2, 0x0BE700EF, 0x0BA10311, 0x0AA504FE,
933-0x09290670, 0x077B0752, 0x05D907BA, 0x045B07D9, 0x02F507D3, 0x018607AB, 0xFFFF0740, 0xFE740667,
934-0xFFB4FF1B, 0xFEF80021, 0xFDCE00CD, 0xFC7500FA, 0xFB3200AF, 0xFA35001D, 0xF981FF7F, 0xF8F3FF04,
935-0xF851FEB3, 0xF768FE6B, 0xF625FDEA, 0xF4A2FCEA, 0xF323FB3B, 0xF200F8D6, 0xF18BF5E4, 0xF1FFF2B0,
936-0xF36AEF99, 0xF5B4ECF8, 0xF8A3EB14, 0xFBE9EA15, 0xFF32EA01, 0x0231EABF, 0x04AAEC1D, 0x067EEDD7,
937-0x07ABEFA6, 0x084FF14C, 0x089CF2A3, 0x08CDF3A5, 0x0916F46A, 0x0991F520, 0x0A38F5F9, 0x0AEAF71B,
938-0x0B78F892, 0x0BAFFA4F, 0x0B70FC28, 0x0AB2FDEB, 0x0985FF6A, 0x08080083, 0x06640126, 0x04C10151,
939-0x0343010E, 0x020A0072, 0x012EFF9E, 0x00BFFEB9, 0x00B6FDF5, 0x00F9FD81, 0x0150FD7D, 0x0176FDEA,
940-0x0127FEA1, 0x0039FF55, 0xFEAFFFA6, 0xFCC2FF3B, 0xFADCFDE0, 0xF979FB9E, 0xF905F8BF, 0xF9BFF5C2,
941-0xFB9BF336, 0xFE47F194, 0x013DF11F, 0x03EBF1C8, 0x05DAF33B, 0x06D4F4F5, 0x06EEF66D, 0x0686F73F,
942-0x061BF74B, 0x0628F6BE, 0x06FCF603, 0x089AF59E, 0x0ABEF602, 0x0CECF76B, 0x0E9CF9CB, 0x0F61FCD0,
943-0x0F07FFFE, 0x0D9F02D4, 0x0B7304F0, 0x08E90624, 0x06670679, 0x0434061C, 0x0277054B, 0x0135043E,
944-0x0063031E, 0xFFF50205, 0xFFDD0106, 0x0013003A, 0x007FFFBA, 0x00FDFF9B, 0x015BFFDC, 0x01660061,
945-0x010100F0, 0x00350143, 0xFF330121, 0xFE4A0077, 0xFDCAFF65, 0xFDE5FE36, 0xFE99FD47, 0xFFADFCE8,
946-0x00C3FD3C, 0x0179FE2E, 0x0187FF74, 0x00D700AA, 0xFF8B0171, 0xFDED018D, 0xFC5A00EF, 0xFB25FFB3,
947-0xFA83FE18, 0xFA8AFC66, 0xFB2EFAE4, 0xFC4BF9CA, 0xFDACF93C, 0xFF11F949, 0x003BF9E6, 0x00EDFAEB,
948-0x0104FC18, 0x007AFD1C, 0xFF76FDAB, 0xFE43FD90, 0xFD42FCC6, 0xFCCCFB7E, 0xFD18FA14, 0xFE1EF8F5,
949-0xFF9FF87F, 0x0131F8DC, 0x0260F9FA, 0x02D7FB88, 0x0279FD16, 0x0167FE3A, 0xFFF7FEAC, 0xFE91FE5E,
950-0xFD91FD78, 0xFD2BFC4A, 0xFD66FB2C, 0xFE1AFA65, 0xFF07FA1C, 0xFFEEFA56, 0x0097FAF9, 0x00E3FBDE,
951-0x00C4FCDE, 0x003BFDD1, 0xFF4FFE97, 0xFE10FF0F, 0xFC97FF1E, 0xFB07FEAB, 0xF994FDAC, 0xF875FC2E,
952-0xF7DDFA59, 0xF7E6F86E, 0xF888F6B6, 0xF997F56E, 0xFACAF4B3, 0xFBD3F477, 0xFC76F482, 0xFCA5F483,
953-0xFC80F42B, 0xFC54F34D, 0xFC7CF1EC, 0xFD46F042, 0xFED8EEAD, 0x011CED94, 0x03CCED43, 0x0681EDDB,
954-0x08D9EF42, 0x0A8EF135, 0x0B85F35D, 0x0BD3F56B, 0x0BA7F72C, 0x0B39F890, 0x0AB9F9A1, 0x0A40FA77,
955-0x09D8FB2D, 0x097CFBD5, 0x0928FC79, 0x08D4FD21, 0x0878FDD7, 0x0802FE9F, 0x075DFF76, 0x066F0045,
956-0x052E00E7, 0x03A6012A, 0x020200E6, 0x0087000C, 0xFF79FEB9, 0xFF0AFD2B, 0xFF40FBB8, 0xFFF2FAAA,
957-0x00D5FA28, 0x0197FA29, 0x01FCFA78, 0x01F4FACE, 0x019BFAE9, 0x0125FAAC, 0x00CAFA1C, 0x00ABF95A,
958-0x00CBF88B, 0x011AF7C4, 0x0186F700, 0x0213F62E, 0x02DAF545, 0x0406F455, 0x05B3F394, 0x07D9F34D,
959-0x0A3EF3C6, 0x0C80F51C, 0x0E37F72D, 0x0F17F9A1, 0x0F15FBFF, 0x0E6EFDE0, 0x0D8DFF10, 0x0CEAFFA9,
960-0x0CD00006, 0x0D46009F, 0x0E0401DD, 0x0E9203E8, 0x0E6E069C, 0x0D40098E, 0x0AF60C34, 0x07C90E0F,
961-0x042B0ED0, 0x009B0E6D, 0xFD870D19, 0xFB300B2A, 0xF9A108FD, 0xF8C106DC, 0xF86104F2, 0xF854034F,
962-0xF87801ED, 0xF8B700C4, 0xF905FFCB, 0xF957FEFC, 0xF9A3FE4D, 0xF9E0FDB3, 0xFA0CFD1A, 0xFA33FC6F,
963-0xFA6CFBA7, 0xFAD3FACB, 0xFB7FF9F3, 0xFC74F946, 0xFDA2F8EB, 0xFEE1F8FC, 0xFFFFF97E, 0x00CDFA5A,
964-0x012BFB63, 0x0114FC65, 0x009DFD30, 0xFFEEFDA4, 0xFF35FDBB, 0xFE9DFD83, 0xFE41FD1C, 0xFE2DFCAD,
965-0xFE56FC5B, 0xFEA3FC43, 0xFEF0FC74, 0xFF14FCEC, 0xFEE9FD93, 0xFE53FE42, 0xFD4AFEC1, 0xFBE2FED7,
966-0xFA4EFE52, 0xF8D8FD1D, 0xF7D3FB4A, 0xF785F914, 0xF80FF6D8, 0xF961F4F9, 0xFB3AF3CB, 0xFD32F372,
967-0xFEE1F3DA, 0xFFF8F4BA, 0x005BF5AC, 0x002DF64F, 0xFFBAF666, 0xFF64F5E9, 0xFF7AF508, 0x0024F415,
968-0x0155F365, 0x02D6F334, 0x045BF397, 0x059FF479, 0x0679F5A8, 0x06DFF6EC, 0x06E0F816, 0x069BF90D,
969-0x062DF9C9, 0x05A9FA4B, 0x051FFA96, 0x049BFAAB, 0x042FFA89, 0x03F0FA39, 0x03F7F9D2, 0x044DF978,
970-0x04EBF955, 0x05ACF990, 0x065DFA38, 0x06C3FB3E, 0x06B2FC76, 0x0618FD9E, 0x0507FE76, 0x03B2FEC9,
971-0x025FFE86, 0x0155FDBF, 0x00C7FCA8, 0x00CBFB88, 0x014DFAA5, 0x0219FA36, 0x02E8FA4C, 0x0370FAD0,
972-0x0381FB8A, 0x030DFC2C, 0x0234FC6E, 0x0139FC21, 0x0070FB41, 0x0020F9F9, 0x0073F892, 0x0165F762,
973-0x02C7F6AD, 0x044DF696, 0x05ABF711, 0x06A8F7F2, 0x072CF8F9, 0x0741F9EB, 0x070AFA9D, 0x06B4FAFD,
974-0x0669FB0F, 0x0649FAE5, 0x0669FA98, 0x06D6FA46, 0x0795FA11, 0x089CFA1F, 0x09D0FA96, 0x0B01FB8E,
975-0x0BF1FD08, 0x0C66FEE0, 0x0C3B00D9, 0x0B7302A4, 0x0A3A03FE, 0x08DC04C9, 0x07AA0517, 0x06D90525,
976-0x06710546, 0x064705C0, 0x060A06B3, 0x0566080D, 0x041E098B, 0x021F0AD5, 0xFF890B96, 0xFC9B0B95,
977-0xF9A30ABA, 0xF6EE0910, 0xF4B806BA, 0xF32E03E7, 0xF26C00D0, 0xF27DFDB5, 0xF357FADA, 0xF4D6F87F,
978-0xF6BAF6D3, 0xF8AEF5E3, 0xFA64F590, 0xFBA7F593, 0xFC72F596, 0xFCF6F550, 0xFD86F4A3, 0xFE79F3AA,
979-0x0004F2B5, 0x0227F225, 0x04A6F24D, 0x0720F353, 0x0930F523, 0x0A8CF779, 0x0B1CF9FD, 0x0AEFFC60,
980-0x0A35FE6B, 0x09220009, 0x07E2013B, 0x06940209, 0x05510282, 0x042C02B1, 0x033C02AD, 0x028C0297,
981-0x0216029A, 0x01B802D9, 0x013D0361, 0x006B041A, 0xFF1D04CB, 0xFD550527, 0xFB4104F0, 0xF92E040B,
982-0xF7690287, 0xF624009A, 0xF56EFE85, 0xF531FC7A, 0xF54AFA90, 0xF59EF8C3, 0xF62AF706, 0xF6F9F559,
983-0xF817F3D1, 0xF97CF28D, 0xFB04F1A9, 0xFC7DF11F, 0xFDC1F0C5, 0xFED4F05A, 0xFFECEFAD, 0x0161EEBD,
984-0x0387EDD0, 0x0678ED62, 0x09F7EDFF, 0x0D73EFFF, 0x102DF35C, 0x1180F7A2, 0x1119FC0C, 0x0F1FFFC4,
985-0x09F7080F, 0x07C60A68, 0x04E00BB1, 0x01E00BBC, 0xFF5E0AB7, 0xFDB80917, 0xFCF8076B, 0xFCD2061F,
986-0xFCD40555, 0xFC9804D9, 0xFBF90445, 0xFB27032F, 0xFA930165, 0xFAC2FF0C, 0xFC13FC9D, 0xFE89FABE,
987-0x01CAFA06, 0x052CFAC5, 0x07F4FCE1, 0x098FFFDF, 0x09C6030E, 0x08C805BE, 0x0717077E, 0x0556083D,
988-0x04070843, 0x03650811, 0x03500829, 0x036108D9, 0x03190A1F, 0x02150BA8, 0x00360CF2, 0xFDB40D81,
989-0xFB040D0C, 0xF8B60B9B, 0xF7370986, 0xF6B50750, 0xF709057D, 0xF7CF0461, 0xF8890406, 0xF8D10430,
990-0xF8790476, 0xF7990472, 0xF67C03E0, 0xF58202BA, 0xF4F70131, 0xF4FAFF95, 0xF570FE33, 0xF61DFD3A,
991-0xF6B5FCA6, 0xF700FC4B, 0xF6EAFBE1, 0xF68CFB25, 0xF622F9EA, 0xF5F7F828, 0xF652F5FD, 0xF765F3A8,
992-0xF942F178, 0xFBD8EFBF, 0xFEF3EEC2, 0x0244EEA9, 0x0570EF79, 0x0826F10C, 0x0A2CF31A, 0x0B77F54B,
993-0x0C28F751, 0x0C84F902, 0x0CD6FA64, 0x0D52FBAC, 0x0DFCFD25, 0x0E9FFF11, 0x0EE2017E, 0x0E690441,
994-0x0D0006F5, 0x0AB20921, 0x07D20A61, 0x04DC0A8F, 0x024D09CF, 0x00740880, 0xFF5C0716, 0xFECE05ED,
995-0xFE6D0526, 0xFDE604A0, 0xFD130410, 0xFC0C0326, 0xFB1C01B3, 0xFA9CFFC4, 0xFACFFD9E, 0xFBC4FBA2,
996-0xFD4EFA28, 0xFF1AF962, 0x00C7F949, 0x0211F9A7, 0x02DAFA2D, 0x0336FA90, 0x0359FAA1, 0x0383FA58,
997-0x03E8F9CB, 0x04A6F926, 0x05BFF897, 0x0723F847, 0x08B2F84C, 0x0A4BF8AD, 0x0BD0F961, 0x0D2EFA58,
998-0x0E5FFB7C, 0x0F66FCBA, 0x1051FE0D, 0x112FFF7A, 0x12030116, 0x12BF02F7, 0x1342052E, 0x136007B4,
999-0x12ED0A6B, 0x11D10D1C, 0x10130F87, 0x0DD51178, 0x0B5112D4, 0x08BE139E, 0x064213F5, 0x03E813FC,
1000-0x01A313CC, 0xFF5C1365, 0xFD0712AF, 0xFAB21185, 0xF8870FCF, 0xF6C30D8D, 0xF5A10AE4, 0xF5450816,
1001-0xF5AE0573, 0xF6B6033F, 0xF81A01A3, 0xF99300A1, 0xFAE50019, 0xFBF1FFD7, 0xFCBDFFA5, 0xFD67FF5D,
1002-0xFE1FFEF7, 0xFF0CFE8B, 0x0041FE4A, 0x01ABFE6A, 0x0315FF14, 0x0433004C, 0x04BA01E6, 0x047D038D,
1003-0x038804D8, 0x021E056E, 0x00B10526, 0xFFBE041F, 0xFF9B02B9, 0x005F017B, 0x01CC00DE, 0x036B0125,
1004-0x04B40240, 0x054803D5, 0x05130564, 0x04500683, 0x036F0709, 0x02DB0721, 0x02C60732, 0x030D07AE,
1005-0x034608D8, 0x02E80A9B, 0x018F0C8D, 0xFF290E12, 0xFC070E9D, 0xF8BF0DE4, 0xF5F10C02, 0xF4130963,
1006-0xF3430698, 0xF34A041C, 0xF3C4022A, 0xF44A00B2, 0xF4A6FF6F, 0xF4E2FE16, 0xF537FC7D, 0xF5ECFAAF,
1007-0xF72DF8E9, 0xF8F9F777, 0xFB20F696, 0xFD5BF65D, 0xFF68F6BE, 0x011DF78E, 0x026BF8A3, 0x0351F9DB,
1008-0x03D3FB1F, 0x03EFFC5B, 0x03A3FD70, 0x02FAFE35, 0x021AFE7F, 0x013EFE3C, 0x00AFFD78, 0x00A3FC6B,
1009-0x012BFB5F, 0x022BFA9B, 0x0369FA48, 0x04A4FA61, 0x05B2FABF, 0x0692FB34, 0x0765FBA0, 0x0854FC0F,
1010-0x0978FCAC, 0x0ABFFDB3, 0x0BEEFF4C, 0x0CB30177, 0x0CC40403, 0x0BF80699, 0x0A5B08DB, 0x08220A7E,
1011-0x05980B5F, 0x030A0B80, 0x00AF0AFD, 0xFEA50A00, 0xFCF708AB, 0xFBA40719, 0xFAAC0559, 0xFA100377,
1012-0xF9D4017F, 0xF9FBFF7D, 0xFA8EFD82, 0xFB92FBA0, 0xFD0EF9F5, 0xFEFDF8AA, 0x0148F7ED, 0x03B9F7E8,
1013-0x0601F8A9, 0x07CAFA13, 0x08D2FBD7, 0x0909FD89, 0x08A5FEC0, 0x080CFF42, 0x07BAFF21, 0x0806FEB5,
1014-0x08FDFE7D, 0x0A5AFEE5, 0x0B9D0018, 0x0C4701E0, 0x0C1603C2, 0x0B270530, 0x09EE05CF, 0x090405A3,
1015-0x08DE0512, 0x099504BD, 0x0AD50532, 0x0BFF06AF, 0x0C6D0901, 0x0BB90B98, 0x09EA0DC6, 0x076C0F07,
1016-0x04DB0F36, 0x02C20E93, 0x015C0D97, 0x008B0CBB, 0xFFF20C39, 0xFF2F0BFB, 0xFE110BAF, 0xFCAF0AF6,
1017-0xFB60099C, 0xFA8B07B1, 0xFA780582, 0xFB310375, 0xFC8801DF, 0xFE3100E5, 0xFFEA007F, 0x018B008E,
1018-0x030E00F8, 0x047101B8, 0x05A702D9, 0x0687045C, 0x06E00624, 0x069707EE, 0x05BC096D, 0x04920A65,
1019-0x03730AD7, 0x02A50AFF, 0x022F0B38, 0x01D10BCC, 0x01210CC0, 0xFFC60DC4, 0xFDB30E50, 0xFB430DE6,
1020-0xF91F0C57, 0xF7F709F1, 0xF832076D, 0xF9AA05A8, 0xFBB60546, 0xFD5E0663, 0xFDCA087A, 0xFC980A9B,
1021-0xFA0E0BCB, 0xF6FD0B69, 0xF4680976, 0xF318068C, 0xF34C039A, 0xF4A60179, 0xF65F0093, 0xF7A200C0,
1022-0xF7EC0161, 0xF73E01AF, 0xF6120118, 0xF51DFF77, 0xF501FD21, 0xF607FAB0, 0xF810F8C8, 0xFAAFF7D4,
1023-0xFD58F7EE, 0xFF99F8E5, 0x0133FA65, 0x021FFC1B, 0x026EFDCB, 0x023EFF50, 0x01A50094, 0x00B9017E,
1024-0xFF9C01F5, 0xFE8001EF, 0xFD9B017B, 0xFD1700CC, 0xFCF40022, 0xFD0BFFAF, 0xFD1BFF7F, 0xFCEDFF67,
1025-0xFC78FF20, 0xFBEDFE66, 0xFBAAFD28, 0xFC0AFB9C, 0xFD39FA30, 0xFF11F95F, 0x0124F978, 0x02E8FA75,
1026-0x03F2FC02, 0x0423FD98, 0x03B7FEC5, 0x031EFF5B, 0x02C3FF85, 0x02D5FFA9, 0x0324002F, 0x03420146,
1027-0x02B402BA, 0x0136040B, 0xFEEB049D, 0xFC500402, 0xFA16022E, 0xF8D3FF7A, 0xF8CBFC86, 0xF9DDF9F3,
1028-0xFB98F825, 0xFD75F727, 0xFF18F6B6, 0x006AF676, 0x0198F623, 0x02EBF5B3, 0x0495F55D, 0x0692F56B,
1029-0x08A4F617, 0x0A74F763, 0x0BBAF919, 0x0C60FAE6, 0x0C85FC7F, 0x0C68FDC2, 0x0C45FEBC, 0x0C37FF98,
1030-0x0C30007C, 0x0C0D016F, 0x0BB40256, 0x0B2D0305, 0x0AA5035F, 0x0A580372, 0x0A6C0374, 0x0ADD03AD,
1031-0x0B740453, 0x0BE3056B, 0x0BEC06C7, 0x0B810818, 0x0ACE0922, 0x0A1F09D8, 0x09B40A6D, 0x09930B3B,
1032-0x09790C92, 0x08EE0E85, 0x077910CC, 0x04DE12D8, 0x01411400, 0xFD2813C8, 0xF94D1210, 0xF65C0F26,
1033-0xF4B90BA4, 0xF45D0838, 0xF4EE055F, 0xF5E60344, 0xF6D701BD, 0xF7940070, 0xF836FF0B, 0xF908FD6A,
1034-0xFA58FBAB, 0xFC50FA1D, 0xFEE0F91B, 0x01C8F8EA, 0x04B0F9A2, 0x0747FB35, 0x0950FD7A, 0x0AA2003F,
1035-0x0B240358, 0x0AB8068F, 0x094A09A0, 0x06D80C30, 0x038D0DD5, 0xFFC90E37, 0xFC1C0D2C, 0xF9230AD9,
1036-0xF8490132, 0xF8E1FDFD, 0xFA6EFB73, 0xFC76F9C2, 0xFE90F8CC, 0x0093F849, 0x0295F805, 0x04CAF7FF,
1037-0x0752F877, 0x0A0FF9C6, 0x0C98FC31, 0x0E58FFB2, 0x0EC603E6, 0x0D9E0828, 0x0AFE0BBE, 0x075F0E1D,
1038-0x036A0F0D, 0xFFBF0EB8, 0xFCC50D86, 0xFA930BF3, 0xF9000A60, 0xF7C508F8, 0xF69E07B3, 0xF5680667,
1039-0xF42504E6, 0xF2EE0312, 0xF1E700DE, 0xF134FE51, 0xF0F5FB76, 0xF149F864, 0xF250F540, 0xF41FF240,
1040-0xF6B4EFAD, 0xF9EAEDD4, 0xFD70ECEE, 0x00DFED05, 0x03D2EDEE, 0x0609EF4E, 0x0780F0B7, 0x086DF1CF,
1041-0x092EF26C, 0x0A21F2A4, 0x0B80F2BC, 0x0D51F307, 0x0F69F3C9, 0x1185F51F, 0x1365F6F7, 0x14E4F928,
1042-0x1601FB88, 0x16CBFE00, 0x17550093, 0x179A0350, 0x177E0645, 0x16D70963, 0x157F0C7D, 0x136C0F50,
1043-0x10BA1193, 0x0DA71317, 0x0A8413CD, 0x079713D4, 0x050A1363, 0x02DF12BB, 0x00F7120A, 0xFF1F115A,
1044-0xFD2B108F, 0xFB0C0F71, 0xF8E10DC1, 0xF6F00B52, 0xF59E0827, 0xF54D047A, 0xF63F00BB, 0xF877FD7A,
1045-0xFBADFB3F, 0xFF5BFA62, 0x02DDFAF0, 0x059AFCA1, 0x0738FEEC, 0x07B0012F, 0x074E02E6, 0x069803D1,
1046-0x06120407, 0x061803E2, 0x06B803DC, 0x07B70458, 0x08AC057E, 0x092F072E, 0x09040912, 0x082D0AC5,
1047-0x06E80BFE, 0x05890CA7, 0x045A0CE1, 0x037B0CEC, 0x02DD0D04, 0x02530D45, 0x01AF0DA6, 0x00DF0E01,
1048-0xFFF30E2F, 0xFF160E27, 0xFE6D0E05, 0xFE010E00, 0xFDAE0E4E, 0xFD290F03, 0xFC1F0FFE, 0xFA5A10E8,
1049-0xF7DE114E, 0xF4F510C7, 0xF21E0F21, 0xEFE80C73, 0xEEC8091E, 0xEEEE05B7, 0xF03E02D4, 0xF24E00EC,
1050-0xF48F002C, 0xF66F0077, 0xF783016B, 0xF7A40285, 0xF6F10342, 0xF5C5034B, 0xF4960281, 0xF3D3010A,
1051-0xF3C8FF3C, 0xF484FD86, 0xF5DCFC4E, 0xF774FBCF, 0xF8E4FC0E, 0xF9CDFCD9, 0xF9FAFDD2, 0xF96FFE8F,
1052-0xF864FEB6, 0xF736FE14, 0xF650FCAB, 0xF60FFAB3, 0xF6A9F885, 0xF827F68C, 0xFA5DF528, 0xFCFAF49B,
1053-0xFF9CF4FB, 0x01E0F631, 0x037CF7FD, 0x0449FA06, 0x0452FBEF, 0x03C7FD70, 0x02F3FE63, 0x0224FECE,
1054-0x0195FEDB, 0x015BFECB, 0x0165FED9, 0x0182FF27, 0x017AFFB0, 0x0126004F, 0x008000CD, 0xFFA400FC,
1055-0xFEC600CB, 0xFE18004A, 0xFDB4FFA8, 0xFD91FF12, 0xFD89FEA5, 0xFD6EFE59, 0xFD26FE05, 0xFCBAFD76,
1056-0xFC5BFC89, 0xFC4EFB42, 0xFCCAF9D7, 0xFDDEF89B, 0xFF5FF7E0, 0x00F5F7D4, 0x0235F865, 0x02D3F943,
1057-0x02BCF9F8, 0x0229FA18, 0x018BF965, 0x016AF7ED, 0x0230F60A, 0x0407F447, 0x06C9F32E, 0x0A0CF323,
1058-0x0D45F440, 0x0FF4F659, 0x11CAF90B, 0x12B6FBE2, 0x12E2FE7E, 0x129A00AD, 0x122C026C, 0x11D203E2,
1059-0x119E0548, 0x118106CE, 0x11500891, 0x10DB0A90, 0x0FF80CAE, 0x0E910EC0, 0x0CA6108E, 0x0A4F11E9,
1060-0x07B612AB, 0x051512C5, 0x02A8123F, 0x00A4113C, 0xFF270FF2, 0xFE360EA3, 0xFDB30D87, 0xFD680CC0,
1061-0xFD190C4A, 0xFC950C05, 0xFBCB0BB8, 0xFACE0B30, 0xF9CB0A4E, 0xF8F60916, 0xF87407AA, 0xF84B0636,
1062-0xF86404DB, 0xF89C039C, 0xF8DE025E, 0xF93800FB, 0xF9DEFF5D, 0xFB13FD9E, 0xFD0DFC0A, 0xFFC7FB15,
1063-0x02F4FB29, 0x060BFC7D, 0x086AFEF1, 0x09980208, 0x09720511, 0x08460763, 0x06B308A0, 0x057708DD,
1064-0x051908A0, 0x05B608AB, 0x06EA09B0, 0x07EC0C04, 0x07E00F74, 0x0624134D, 0x02961696, 0xFDA51864,
1065-0xF831182E, 0xF33F15F4, 0xEFA5123F, 0xEDCC0DEB, 0xED9C09D8, 0xEE9006A8, 0xEFF80494, 0xF136036D,
1066-0xF1F202C2, 0xF22B0216, 0xF2230115, 0xF23BFFAB, 0xF2C2FE03, 0xF3D5FC6E, 0xF55EFB3B, 0xF718FA96,
1067-0xF8B9FA7F, 0xFA07FAC7, 0xFAF3FB2D, 0xFB95FB78, 0xFC26FB90, 0xFCDAFB86, 0xFDD0FB8F, 0xFEF6FBEA,
1068-0x0015FCC1, 0x00DAFE11, 0x00FEFFA2, 0x00670112, 0xFF3701F9, 0xFDD00211, 0xFCB40155, 0xFC550011,
1069-0xFCECFECD, 0xFE57FE20, 0x001EFE7B, 0x019AFFF7, 0x0229024C, 0x016A04DD, 0xFF6206F2, 0xFC7707F0,
1070-0xF951078D, 0xF6A005E1, 0xF4E5035A, 0xF450008D, 0xF4C2FE04, 0xF5E0FC1C, 0xF73EFAEF, 0xF87FFA64,
1071-0xF968FA3D, 0xF9E8FA38, 0xFA08FA16, 0xF9E9F9A8, 0xF9BBF8CE, 0xF9BCF77C, 0xFA30F5C2, 0xFB5AF3D7,
1072-0xFD5CF218, 0x0025F0F3, 0x0363F0CD, 0x0693F1D1, 0x0923F3E0, 0x0AA2F688, 0x0AF4F92B, 0x0A55FB34,
1073-0x094DFC4D, 0x0875FC7D, 0x0841FC24, 0x08D0FBC8, 0x09EBFBDF, 0x0B26FC9E, 0x0C17FDEA, 0x0C85FF70,
1074-0x0C7E00D7, 0x0C4401F0, 0x0C2002CA, 0x0C3703A4, 0x0C6E04C7, 0x0C7A0650, 0x0C08081D, 0x0AF109D4,
1075-0x09530B13, 0x078E0B9D, 0x06140B85, 0x05350B29, 0x04F10B07, 0x04EE0B85, 0x04A00CBA, 0x03810E5D,
1076-0x01520FD9, 0xFE361086, 0xFAAE0FED, 0xF76C0DEF, 0xF5120AD2, 0xF4080720, 0xF45C037E, 0xF5CE0078,
1077-0xF7EEFE60, 0xFA42FD47, 0xFC60FD0C, 0xFE02FD68, 0xFF08FE07, 0xFF7BFE93, 0xFF87FEC6, 0xFF78FE75,
1078-0xFFA6FD9E, 0x0067FC75, 0x01E8FB55, 0x0421FAAF, 0x06C6FAE0, 0x0961FC0E, 0x0B79FE17, 0x0CC00098,
1079-0x0D30031A, 0x0D08053E, 0x0CB006E8, 0x0C820845, 0x0C9E09AF, 0x0CDB0B7F, 0x0CDE0DD9, 0x0C43109E,
1080-0x0AD51373, 0x08A015F1, 0x05E917D5, 0x0309191B, 0x003519F4, 0xFD661AA3, 0xFA5F1B44, 0xF6D61BB1,
1081-0xF2AC1B84, 0xEE111A42, 0xE9861798, 0xE5B8138B, 0xE33F0E83, 0xE261092B, 0xE300043B, 0xE4A7002F,
1082-0xE6BDFD2E, 0xE8C3FB08, 0xEA78F95E, 0xEBE2F7D2, 0xED34F62B, 0xEEABF463, 0xF070F294, 0xF293F0E3,
1083-0xF511EF6A, 0xF7E8EE40, 0xFB1DED81, 0xFEAAED5A, 0x026EEE0B, 0x0616EFC6, 0x0928F28F, 0x0B2AF61E,
1084-0x0BCFF9E5, 0x0B2AFD36, 0x09AFFF84, 0x0814009E, 0x070800CB, 0x06EE00AA, 0x07B000F5, 0x08C80230,
1085-0x097E046E, 0x0936074E, 0x07B00A26, 0x051F0C4F, 0x02040D69, 0xFEEF0D76, 0xFC3E0CC2, 0xF9FF0BAB,
1086-0xF8020A64, 0xF61208D9, 0xF42A06BF, 0xF29903D2, 0xF1EB000F, 0xF2A9FBDC, 0xF517F7F6, 0xF8FEF532,
1087-0x09A104D6, 0x092507A7, 0x080A09FC, 0x06A60BCC, 0x05330D3F, 0x03B50E88, 0x02090FC2, 0x000110D7,
1088-0xFD8C118D, 0xFAC9119D, 0xF80610E1, 0xF59D0F67, 0xF3D20D70, 0xF2B10B54, 0xF2100957, 0xF1AC078C,
1089-0xF15205D0, 0xF10003E1, 0xF0F1018F, 0xF184FEE4, 0xF309FC30, 0xF595F9F7, 0xF8E5F8C2, 0xFC6DF8E2,
1090-0xFF81FA4E, 0x0198FC9F, 0x0279FF33, 0x024D0171, 0x018A02F6, 0x00B803BC, 0x003D040E, 0x0032045A,
1091-0x006304FF, 0x006A0618, 0xFFE70778, 0xFEB108B6, 0xFCE80963, 0xFAF10937, 0xF9490834, 0xF85806A4,
1092-0xF84804FE, 0xF8FB03BC, 0xFA16032C, 0xFB2C0360, 0xFBDC042A, 0xFBF5053B, 0xFB790641, 0xFA8F0703,
1093-0xF969076C, 0xF82F0788, 0xF6EE076A, 0xF59A0721, 0xF42506A0, 0xF28705CA, 0xF0D50474, 0xEF3E0280,
1094-0xEE05FFEA, 0xED6BFCCE, 0xEDA2F964, 0xEEBFF5F6, 0xF0B7F2CD, 0xF368F021, 0xF6A5EE1A, 0xFA3DECCB,
1095-0xFE05EC3B, 0x01D6EC69, 0x058CED54, 0x0903EEF4, 0x0C14F139, 0x0E9BF409, 0x107EF73E, 0x11AFFAAD,
1096-0x122DFE2D, 0x1205019D, 0x114104E5, 0x0FE907F0, 0x0E020AA6, 0x0B920CE6, 0x08AE0E84, 0x05830F55,
1097-0x02570F3F, 0xFF7C0E49, 0xFD430CA3, 0xFBDB0A9F, 0xFB47089E, 0xFB5B06F3, 0xFBCA05C8, 0xFC42051B,
1098-0xFC8C04BC, 0xFC9A0470, 0xFC850406, 0xFC7C036F, 0xFCA702C1, 0xFD0F022A, 0xFD9B01D0, 0xFE1901BD,
1099-0xFE5C01D6, 0xFE5201E2, 0xFE1701AA, 0xFDE60110, 0xFE040027, 0xFE9AFF2A, 0xFFA8FE62, 0x00FAFE0B,
1100-0x0245FE31, 0x0349FEAB, 0x03EDFF30, 0x0455FF77, 0x04D0FF60, 0x05B8FF09, 0x0745FEC9, 0x0971FF13,
1101-0x0BF1004D, 0x0E4302A6, 0x0FDD0600, 0x105109FC, 0x0F710E12, 0x0D5311B8, 0x0A451486, 0x06B11647,
1102-0x030016F9, 0xFF8416BE, 0xFC7115CD, 0xF9DD145C, 0xF7CB1298, 0xF63610A3, 0xF5110E94, 0xF4540C79,
1103-0xF3F70A5A, 0xF3FC083C, 0xF46C0629, 0xF5520433, 0xF6B9027D, 0xF89A0138, 0xFAD50098, 0xFD2B00C7,
1104-0xFF4A01CD, 0x00DC038A, 0x01A005B7, 0x018007F6, 0x009109EC, 0xFF100B58, 0xFD450C1F, 0xFB750C4B,
1105-0xF9C90BFE, 0xF8510B58, 0xF70C0A6F, 0xF5FA0947, 0xF52907DD, 0xF4B20639, 0xF4B40475, 0xF53F02C2,
1106-0xF6490159, 0xF7A80068, 0xF91F0002, 0xFA72001B, 0xFB780088, 0xFC270118, 0xFC8F01A2, 0xFCCD0213,
1107-0xFCFC026F, 0xFD2802C4, 0xFD4F0320, 0xFD630388, 0xFD5C03F5, 0xFD38045A, 0xFCFE04AF, 0xFCB504F3,
1108-0xFC62052A, 0xFBFD0558, 0xFB7D0571, 0xFAE30563, 0xFA3E0516, 0xF9B2047E, 0xF96A03A7, 0xF98802BA,
1109-0xFA1201F0, 0xFAE90182, 0xFBD2018E, 0xFC8B020A, 0xFCE002CD, 0xFCC40396, 0xFC4C042F, 0xFBA6047C,
1110-0xFAFE0484, 0xFA6E0463, 0xF9EE043B, 0xF9630416, 0xF8AE03E4, 0xF7C4037A, 0xF6BD02A9, 0xF5CF0156,
1111-0xF53CFF84, 0xF53EFD60, 0xF5F1FB2C, 0xF74EF92E, 0xF930F79C, 0xFB64F693, 0xFDBBF615, 0x000FF618,
1112-0x0249F68B, 0x045BF75E, 0x0638F886, 0x07D6F9F5, 0x092DFB9E, 0x0A39FD73, 0x0AFAFF68, 0x0B71017A,
1113-0x0B9703A8, 0x0B5805EF, 0x0A9C083B, 0x094C0A62, 0x076C0C29, 0x051F0D53, 0x02AC0DB8, 0x006B0D5B,
1114-0xFEA80C6D, 0xFD880B42, 0xFCF90A33, 0xFCBD0979, 0xFC840919, 0xFC1008E8, 0xFB53089C, 0xFA7307F6,
1115-0xF9BB06E2, 0xF9710581, 0xF9B80420, 0xFA7A0312, 0xFB6E028C, 0xFC3A0288, 0xFC9B02CA, 0xFC8102F7,
1116-0xFC1B02BC, 0xFBBE01F7, 0xFBC900BF, 0xFC76FF5E, 0xFDCFFE32, 0xFFA5FD89, 0x01ACFD8B, 0x039BFE31,
1117-0x053AFF54, 0x067800C3, 0x07590259, 0x07E90404, 0x083305BD, 0x08330783, 0x07DF094B, 0x07340B00,
1118-0x06390C8B, 0x04FF0DDB, 0x039B0EEE, 0x021A0FC9, 0x007A1073, 0xFEB210E8, 0xFCBB110F, 0xFAA210C7,
1119-0xF88E0FF1, 0xF6BC0E85, 0xF56C0CA1, 0xF4C80A82, 0xF4D80874, 0xF57B06BD, 0xF6750582, 0xF78604C7,
1120-0xF8810470, 0xF9560458, 0xFA0A0467, 0xFAAA0496, 0xFB3704F1, 0xFB9F0585, 0xFBBD064D, 0xFB6E0726,
1121-0xFAA407D5, 0xF9790818, 0xF82A07C0, 0xF70C06C3, 0xF66F0548, 0xF685039C, 0xF754021A, 0xF8B10113,
1122-0xFA5400B6, 0xFBE8010B, 0xFD2601EE, 0xFDE50324, 0xFE1D046B, 0xFDE8058D, 0xFD72066C, 0xFCEB0709,
1123-0xFC760780, 0xFC1C07FC, 0xFBC308A5, 0xFB3B098E, 0xFA450AA3, 0xF8B40BAA, 0xF67C0C4C, 0xF3C90C2E,
1124-0xF0F50B13, 0xEE7708F3, 0xECBE0605, 0xEC0B02B3, 0xEC64FF75, 0xED8EFCAF, 0xEF2DFA8F, 0xF0E9F908,
1125-0xF292F7E6, 0xF42AF6ED, 0xF5DCF605, 0xF7D7F547, 0xFA29F4F4, 0xFCA6F555, 0xFEEDF691, 0x008AF888,
1126-0x0125FAD7, 0x00AEFCF1, 0xFF65FE51, 0xFDCCFEAE, 0xFC74FE13, 0xFBCDFCD8, 0xFBF8FB7D, 0xFCCCFA75,
1127-0xFDE8F9F9, 0xFEE8F9FB, 0xFF91FA34, 0xFFEAFA4D, 0x0031FA0C, 0x00BDF975, 0x01D4F8C4, 0x0385F85A,
1128-0x05A1F893, 0x07CBF9A4, 0x0994FB84, 0x0AA6FDF3, 0x0AD6008F, 0x0A3202F6, 0x08EF04DC, 0x075B061F,
1129-0x05BE06C1, 0x045306E5, 0x033606BC, 0x02680678, 0x01D4063D, 0x0157061E, 0x00CC0611, 0x001C05FB,
1130-0xFF4A05B0, 0xFE74050D, 0xFDD00404, 0xFD9A02AC, 0xFDFF0142, 0xFF010016, 0x0072FF76, 0x01FFFF89,
1131-0x03460043, 0x0401015F, 0x041A0280, 0x03B9034F, 0x032E039F, 0x02D00380, 0x02D40333, 0x03370308,
1132-0x03C10339, 0x042303C7, 0x041E047C, 0x03A804FF, 0x02F70500, 0x02700462, 0x027D034F, 0x035F022C,
1133-0x05110178, 0x0744019E, 0x097B02C9, 0x0B3A04DD, 0x0C2A0783, 0x0C310A4C, 0x0B730CD8, 0x0A350EF2,
1134-0x08BF1099, 0x073E11E9, 0x05BE130C, 0x042E141C, 0x0271151B, 0x007615F4, 0xFE381689, 0xFBCB16BE,
1135-0xF9481684, 0xF6CB15D8, 0xF46C14BC, 0xF2401339, 0xF05B1156, 0xEED20F21, 0xEDB90CAD, 0xED200A17,
1136-0xED0B0782, 0xED6E050F, 0xEE3702D6, 0xEF4E00E5, 0xF0A0FF3D, 0xF222FDE2, 0xF3CAFCD8, 0xF58DFC2C,
1137-0xF752FBE7, 0xF8FBFC0C, 0xFA65FC8B, 0xFB73FD44, 0xFC22FE0C, 0xFC7FFEBC, 0xFCADFF3E, 0xFCCEFF93,
1138-0x0429FC0A, 0x0619FD70, 0x0767FF76, 0x07EC01C0, 0x07B103F8, 0x06E305E6, 0x05B60773, 0x044F08A6,
1139-0x02BA0988, 0x00F70A17, 0xFF0B0A3B, 0xFD1009D7, 0xFB3A08DA, 0xF9C80751, 0xF8F1056D, 0xF8CC0378,
1140-0xF94701BD, 0xFA2A0071, 0xFB34FFA1, 0xFC28FF36, 0xFCECFF04, 0xFD83FEDC, 0xFE07FEA3, 0xFE99FE59,
1141-0xFF4EFE0D, 0x002BFDD9, 0x0127FDD1, 0x0231FE00, 0x033AFE68, 0x0435FF08, 0x0514FFE0, 0x05C700EB,
1142-0x063D021D, 0x0666035F, 0x06400490, 0x05DD058F, 0x05620646, 0x04FC06BA, 0x04D1070A, 0x04EE076A,
1143-0x0540080B, 0x05990910, 0x05C00A79, 0x05840C2D, 0x04CA0DFE, 0x038E0FBA, 0x01E01139, 0xFFD81263,
1144-0xFD8F1325, 0xFB1D1374, 0xF89C1344, 0xF6301290, 0xF4031160, 0xF23C0FD4, 0xF0F00E1F, 0xF0140C7A,
1145-0xEF7D0B0D, 0xEEEE09DE, 0xEE3408CA, 0xED3E078E, 0xEC2D05EA, 0xEB4B03BA, 0xEAEE0112, 0xEB59FE36,
1146-0xEC9BFB8C, 0xEE88F96E, 0xF0CDF811, 0xF30CF774, 0xF501F766, 0xF691F7A3, 0xF7CCF7F3, 0xF8D8F83A,
1147-0xF9D7F87E, 0xFAD2F8D5, 0xFBC0F94E, 0xFC89F9E6, 0xFD27FA88, 0xFDA7FB1D, 0xFE26FB9F, 0xFEC2FC28,
1148-0xFF7FFCE8, 0x0037FE0D, 0x00A2FFA8, 0x00730197, 0xFF750387, 0xFDAC050D, 0xFB5905C9, 0xF8E9058F,
1149-0xF6D00473, 0xF56402C2, 0xF4C000E3, 0xF4C8FF33, 0xF53BFDEC, 0xF5CDFD17, 0xF646FC99, 0xF68AFC47,
1150-0xF699FBF8, 0xF680FB90, 0xF652FAFD, 0xF623FA35, 0xF60BF92F, 0xF629F7EC, 0xF6A4F67D, 0xF79AF50D,
1151-0xF911F3DB, 0xFAE8F328, 0xFCD6F31F, 0xFE82F3B8, 0xFF9DF4B9, 0x0009F5C1, 0xFFE5F66A, 0xFF87F673,
1152-0xFF5BF5D9, 0xFFBBF4D7, 0x00CBF3D1, 0x0272F328, 0x0465F317, 0x064FF3A5, 0x07EEF4A7, 0x092FF5E1,
1153-0x0A25F721, 0x0AF5F85B, 0x0BB9F9A1, 0x0C6EFB12, 0x0CF0FCBF, 0x0D13FE9A, 0x0CBB0071, 0x0BF00207,
1154-0x0AE0032D, 0x09D103D7, 0x08FD0427, 0x087F0459, 0x084604A9, 0x08230539, 0x07DD0604, 0x074F06E3,
1155-0x067707A5, 0x05710820, 0x046A084B, 0x038A0836, 0x02E20805, 0x026D07D9, 0x021407C7, 0x01C007CF,
1156-0x016107E9, 0x00F2080A, 0x0071082D, 0xFFD8084D, 0xFF1F0864, 0xFE3C085D, 0xFD310818, 0xFC180774,
1157-0xFB21065F, 0xFA8704E3, 0xFA7E032F, 0xFB160188, 0xFC3A0036, 0xFDB0FF66, 0xFF35FF1C, 0x0096FF38,
1158-0x01C1FF86, 0x02D0FFDC, 0x03F00032, 0x054A00AA, 0x06E30183, 0x089302FC, 0x0A060537, 0x0ADD081F,
1159-0x0AC80B6E, 0x09A70EBA, 0x07911197, 0x04CF13B5, 0x01BD14F5, 0xFEB21567, 0xFBE9153B, 0xF97314AB,
1160-0xF74613DF, 0xF54C12EB, 0xF37311C8, 0xF1BF1064, 0xF0480EB6, 0xEF330CC6, 0xEE9D0AB8, 0xEE9308C1,
1161-0xEEFE071C, 0xEFAE05F2, 0xF05D0552, 0xF0C9051F, 0xF0C30521, 0xF045050B, 0xEF72049B, 0xEE8E03AC,
1162-0xEDE60245, 0xEDB60098, 0xEE12FEF1, 0xEEDDFD9C, 0xEFD5FCC4, 0xF0A5FC65, 0xF10EFC48, 0xF0FAFC17,
1163-0xF08EFB7C, 0xF01AFA44, 0xF006F871, 0xF0A7F641, 0xF22CF416, 0xF487F261, 0xF777F17A, 0xFA99F191,
1164-0xFD86F2A3, 0xFFE5F485, 0x017EF6F1, 0x0239F995, 0x021BFC27, 0x0142FE65, 0xFFDB001D, 0xFE200132,
1165-0xFC51019E, 0xFAAA0174, 0xF95500E0, 0xF8600015, 0xF7BFFF43, 0xF74DFE85, 0xF6E5FDD5, 0xF674FD18,
1166-0xF604FC28, 0xF5BBFAF2, 0xF5CDF985, 0xF65BF810, 0xF766F6D7, 0xF8C0F614, 0xFA20F5DD, 0xFB3EF615,
1167-0xFBF2F67D, 0xFC43F6CA, 0xFC67F6CB, 0xFCA4F67E, 0xFD2BF611, 0xFE01F5CA, 0xFEF5F5DA, 0xFFBCF647,
1168-0x001AF6D9, 0x0002F737, 0xFFAFF70C, 0xFF8EF636, 0x0014F4E3, 0x018BF386, 0x03ECF2B0, 0x06D9F2DD,
1169-0x09BDF43B, 0x0C03F6A1, 0x0D47F999, 0x0D7DFC94, 0x0CE5FF1F, 0x0BED010B, 0x0AF80273, 0x0A3A03A1,
1170-0x09A204E5, 0x08F2066B, 0x07DC0823, 0x062F09CC, 0x03ED0B10, 0x014B0BAC, 0xFE980B82, 0xFC220AA8,
1171-0xFA19094D, 0xF88A07A8, 0xF76B05DF, 0xF6AC0404, 0xF649021A, 0xF64D002C, 0xF6C3FE53, 0xF7A8FCB9,
1172-0xF8E1FB87, 0xFA37FAD7, 0xFB6CFA9C, 0xFC51FAAB, 0xFCDDFAC4, 0xFD2BFAB0, 0xFD72FA56, 0xFDEAF9C2,
1173-0xFEB6F923, 0xFFD4F8AE, 0x0123F887, 0x0278F8B7, 0x03B2F92C, 0x04CBF9C8, 0x05D1FA79, 0x06D8FB48,
1174-0x07E8FC51, 0x08E6FDB5, 0x099FFF7F, 0x09D50195, 0x096403B5, 0x0851058B, 0x06D606D1, 0x054D076F,
1175-0x04130787, 0x035B076C, 0x031D0785, 0x0311081E, 0x02CA094B, 0x01E20AD8, 0x001D0C5B, 0xFD860D53,
1176-0xFA6F0D57, 0xF7570C39, 0xF4C30A10, 0xF31A0733, 0xF285041B, 0xF2F0013D, 0xF416FEF1, 0xF59CFD59,
1177-0xF72CFC6D, 0xF88CFBFE, 0xF9A4FBD5, 0xFA7DFBC2, 0xFB33FBA9, 0xFBE3FB86, 0xFCA1FB67, 0xFD71FB62,
1178-0xFE48FB89, 0xFF0FFBE3, 0xFFB0FC69, 0x0019FD07, 0x0047FDA3, 0x0042FE24, 0x001DFE78, 0xFFF3FE99,
1179-0xFFD9FE8B, 0xFFE3FE5A, 0x001FFE19, 0x0093FDDD, 0x013DFDBB, 0x0219FDCA, 0x0318FE22, 0x0421FED4,
1180-0x0510FFED, 0x05BE0166, 0x06030328, 0x05C60509, 0x050206D8, 0x03C90866, 0x023F0997, 0x008E0A62,
1181-0xFED40AD5, 0xFD210B04, 0xFB6F0B01, 0xF9B00ACC, 0xF7DF0A51, 0xF6060977, 0xF4480827, 0xF2D60664,
1182-0xF1DD044E, 0xF174021A, 0xF1920002, 0xF212FE2C, 0xF2C3FCA4, 0xF382FB53, 0xF448FA18, 0xF52AF8DB,
1183-0xF64EF7A5, 0xF7CDF69C, 0xF99DF5FD, 0xFB85F5FA, 0xFD32F69A, 0xFE50F7AE, 0xFEB1F8D9, 0xFE65F9AA,
1184-0xFDC0F9CC, 0xFD38F926, 0xFD40F7E9, 0xFE1AF67F, 0xFFC3F561, 0x01F5F4EE, 0x0444F54A, 0x0651F659,
1185-0x07E6F7D0, 0x0907F965, 0x09E4FAEB, 0x0AB5FC6A, 0x0B94FE14, 0x0C690025, 0x0CED02C0, 0x0CC505CE,
1186-0x0BAA0902, 0x098C0BE9, 0x069C0E17, 0x033B0F48, 0xFFDD0F7A, 0xFCD90EE1, 0xFA570DD0, 0xF8420C92,
1187-0xF6690B47, 0xF49709DB, 0xF2BE0817, 0xF10505C0, 0xEFBE02B9, 0xEF51FF22, 0xF00EFB56, 0xF20EF7DC,
1188-0xF523F53C, 0xF8DDF3DC, 0xFCAAF3E2, 0xFFF9F529, 0x025EF752, 0x03AAF9DF, 0x03EDFC55, 0x0368FE5A
1189-
1190-
1191-in_sequence_size =
1192-408
1193-
1194-in_leading_padding =
1195-0
1196-
1197-out_sequence_size =
1198-408
1199-
1200-out_leading_depadding =
1201-0
1202-
1203-window_index =
1204-2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1205-
1206-cs_bitmap =
1207-1
1208-
1209-num_antennas_log2 =
1210-3
1211-
1212-ifft_log2 =
1213-9
1214-
1215-fft_log2 =
1216-9
1217-
1218-cs_time_adjustment =
1219-0
1220-
1221-ifft_shift =
1222-4
1223-
1224-fft_shift =
1225-5
1226-
1227-ncs_reciprocal =
1228-5461
1229-
1230-op_flags =
1231-RTE_BBDEV_FFT_CS_ADJUSTMENT, RTE_BBDEV_FFT_WINDOWING
1232-
1233-expected_status =
1234-OK
1235diff --git a/app/test-bbdev/test_vectors/fft_byp_28.data b/app/test-bbdev/test_vectors/fft_byp_28.data
1236index bc875fc..7b7ca7a 100644
1237--- a/app/test-bbdev/test_vectors/fft_byp_28.data
1238+++ b/app/test-bbdev/test_vectors/fft_byp_28.data
1239@@ -30,30 +30,30 @@ input0 =
1240 0xF7B50127, 0x0C83E9D9, 0x046B181F, 0x08B612A4, 0x024E0B91, 0x01000207, 0xFC97F83A, 0xF8B40DD4
1241
1242 output0 =
1243-0xFFF0FE8A, 0x01B3FE2F, 0x020EFFF3, 0x000C005A, 0x0040012B, 0xFF70015F, 0xFF40FD66, 0x0120FCAD,
1244-0x01DAFE8E, 0xFF05FFC8, 0x00EE0080, 0x00350269, 0x0094FCA0, 0x0398FD13, 0x03240016, 0xFF7AFEFE,
1245-0x006401AB, 0xFDB70295, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1246-0xFB2C034A, 0xFC8F0175, 0xFE6402D8, 0x00810097, 0x015C007D, 0x01760158, 0xFAB702B3, 0xFBC0008C,
1247-0xFDE80195, 0x0050FFB2, 0x012BFFF2, 0x00EB00CD, 0xFAB30041, 0xFCDDFFFF, 0xFD200228, 0xFFD70030,
1248-0x004A0030, 0x004A00A4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1249-0x0157004F, 0x01B2FFA3, 0x025EFFFE, 0xFE5D048C, 0xFAC301F3, 0xFD5BFE59, 0xFFE10181, 0x0151FF78,
1250-0x035B00E8, 0xFE3C030C, 0xFB1CFFA5, 0xFE84FC85, 0xFDB80124, 0x0063FF8B, 0x01FC0236, 0xFEEE01EE,
1251-0xFD31FF7F, 0xFFA1FDC2, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1252-0x034202FC, 0xFFFF0471, 0xFE8B012F, 0x002B0237, 0x00A10164, 0x017301DA, 0x029803A6, 0xFE8A03A1,
1253-0xFE8EFF93, 0xFECC031E, 0xFF180338, 0xFEFE0385, 0x0199041C, 0xFE1B02C8, 0xFF6EFF4A, 0xFEAE0180,
1254-0xFE6A0189, 0xFE610144, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1255-0x0143FD7B, 0x03030124, 0xFF5B02E4, 0x00A6FFE1, 0x001901AD, 0xFE4D0120, 0x0109FD68, 0x01A90075,
1256-0xFE9C0115, 0x01AB0028, 0xFF9D0119, 0xFEACFF0B, 0x01C2FCFD, 0x0211000C, 0xFF02005C, 0x00D600A9,
1257-0xFFAD0038, 0x001EFF0E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1258-0x0180FE7E, 0x0186FED1, 0x0133FED6, 0xFE52FFE6, 0xFFCB00C9, 0xFEE70242, 0x00ACFE85, 0x019DFF6D,
1259-0x00B5005F, 0xFF0501FC, 0xFE9100E4, 0xFFA90070, 0x00D0FDE8, 0x017DFEDA, 0x008AFF87, 0xFDF101B9,
1260-0xFE30001D, 0xFFCD005C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1261-0x032A0018, 0x0472FEFA, 0x05900042, 0x0034FE3D, 0x00AEFF8E, 0xFF5D0008, 0x031F0119, 0x055100BB,
1262-0x05AE02EC, 0x0036FE6A, 0x00100002, 0xFE78FFDC, 0x03D40175, 0x04410261, 0x035502CE, 0x00A0FE4E,
1263-0x001EFFCF, 0xFE9DFF4C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
1264-0xFF8AFE0D, 0x01F3FFD6, 0x002A023F, 0x005FFF16, 0x020C003C, 0x00E601EA, 0x003DFE48, 0x025A00FD,
1265-0xFFA5031A, 0x004C0068, 0x011500DC, 0x00A101A5, 0x0087FD60, 0x01BC01B5, 0xFD6602EA, 0x006A01B3,
1266-0x00090192, 0x002A0131, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
1267+0xFFF0FE8A, 0x01B3FE2F, 0x020EFFF3, 0xFC0901D2, 0x027501DE, 0xFF660279, 0x00ADFA89, 0xFE72FF52,
1268+0x0450FD29, 0xFB34FF92, 0x032C0136, 0xFE780346, 0x01BFFAC9, 0x00DDFF9A, 0x068FFF1F, 0xFB6DFF18,
1269+0x02D9034F, 0xFCFF0289, 0x0101FEA7, 0xFD2D016A, 0x02E40068, 0x00000000, 0x00000000, 0x00000000,
1270+0xFB2C034A, 0xFC8F0175, 0xFE6402D8, 0x0054FD1C, 0xFFA403AA, 0x02E1000F, 0xFBBE06CD, 0xFB8FFDEA,
1271+0xFF910362, 0x0031FCA4, 0x00BA02DD, 0x0138FE72, 0xFBC80412, 0xFC67FD73, 0xFEDA0415, 0x00D3FD1C,
1272+0xFDCA02DA, 0x0260FF7E, 0x0055046F, 0x0033FCD9, 0x0115029F, 0x00000000, 0x00000000, 0x00000000,
1273+0x0157004F, 0x01B2FFA3, 0x025EFFFE, 0xFF090623, 0xFAA8024A, 0xFF63FD71, 0xFD3DFEE3, 0x025000C5,
1274+0x010A0140, 0xFEFA0575, 0xFA6BFF7D, 0x0177FCA0, 0xFC05FF1E, 0x01D500C8, 0xFFC20139, 0xFE1A0397,
1275+0xFD29003C, 0x020FFDE0, 0xFE3FFCB4, 0x00740264, 0xFEA4FEEA, 0x00000000, 0x00000000, 0x00000000,
1276+0x034202FC, 0xFFFF0471, 0xFE8B012F, 0xFF440324, 0x0224032D, 0x02A6FF74, 0x04D00629, 0xFC86FEE6,
1277+0xFE59041B, 0xFD140405, 0x00830542, 0x008401C8, 0x034707AB, 0xFCCEFCE1, 0xFE6304CE, 0xFD2A022A,
1278+0xFF88041C, 0x0080FF16, 0x005502F2, 0x0006FB55, 0xFE420451, 0x00000000, 0x00000000, 0x00000000,
1279+0x0143FD7B, 0x03030124, 0xFF5B02E4, 0x0064FE8F, 0xFDE7013A, 0xFEBA0406, 0x01DFFF4B, 0x023F00C1,
1280+0x0035FF5C, 0x01D9FF2E, 0xFD26FFAA, 0xFEB902C3, 0x020FFF39, 0x02F600F7, 0x0144FE3F, 0x00DEFE9B,
1281+0xFE25FE61, 0xFDC20265, 0xFFA00261, 0x00D00119, 0x02A9FE77, 0x00000000, 0x00000000, 0x00000000,
1282+0x0180FE7E, 0x0186FED1, 0x0133FED6, 0xFF9B01B2, 0xFD94FF7A, 0x019B0480, 0xFD99FFDF, 0x02210198,
1283+0x03B600C2, 0xFFE6037E, 0xFC71FF70, 0x01D90323, 0xFDA0FE73, 0x00DE01A8, 0x04810088, 0xFE5A033B,
1284+0xFBEDFDBF, 0x01340495, 0xFC67FFF8, 0xFE9A0247, 0x03A402B8, 0x00000000, 0x00000000, 0x00000000,
1285+0x032A0018, 0x0472FEFA, 0x05900042, 0xFEF6FE6B, 0x0155FDD4, 0xFD290258, 0x02FE0438, 0x077BFE5F,
1286+0x0447033F, 0xFEC5FC97, 0xFF6EFFE3, 0xFD27020C, 0x03810467, 0x05140185, 0x0498032B, 0x0001FE27,
1287+0x014EFE85, 0xFBFD0004, 0xFE8E0309, 0x018BFE07, 0xFF8601E0, 0x00000000, 0x00000000, 0x00000000,
1288+0xFF8AFE0D, 0x01F3FFD6, 0x002A023F, 0x0341029B, 0x01F2FC54, 0x009D030A, 0xFE5FFE5B, 0x039B01AC,
1289+0xFF260308, 0x023404C9, 0x01D3FCFC, 0x006402DF, 0x0043FC95, 0x02E90289, 0xFC41012D, 0x020E070B,
1290+0x01D0FD78, 0xFFA001E1, 0xFEA900C2, 0x022801E2, 0x007CFD4D, 0x00000000, 0x00000000, 0x00000000
1291
1292
1293 in_sequence_size =
1294diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
1295index d9304e4..d40f0fb 100644
1296--- a/app/test-pmd/cmdline.c
1297+++ b/app/test-pmd/cmdline.c
1298@@ -3120,6 +3120,9 @@ cmd_config_dcb_parsed(void *parsed_result,
1299 uint8_t pfc_en;
1300 int ret;
1301
1302+ if (port_id_is_invalid(port_id, ENABLED_WARN))
1303+ return;
1304+
1305 port = &ports[port_id];
1306 /** Check if the port is not started **/
1307 if (port->port_status != RTE_PORT_STOPPED) {
1308@@ -6322,6 +6325,9 @@ cmd_priority_flow_ctrl_set_parsed(void *parsed_result,
1309 int rx_fc_enable, tx_fc_enable;
1310 int ret;
1311
1312+ if (port_id_is_invalid(res->port_id, ENABLED_WARN))
1313+ return;
1314+
1315 /*
1316 * Rx on/off, flow control is enabled/disabled on RX side. This can indicate
1317 * the RTE_ETH_FC_TX_PAUSE, Transmit pause frame at the Rx side.
1318@@ -11049,7 +11055,7 @@ cmd_rx_offload_get_configuration_parsed(
1319 struct cmd_rx_offload_get_configuration_result *res = parsed_result;
1320 struct rte_eth_dev_info dev_info;
1321 portid_t port_id = res->port_id;
1322- struct rte_port *port = &ports[port_id];
1323+ struct rte_port *port;
1324 struct rte_eth_conf dev_conf;
1325 uint64_t port_offloads;
1326 uint64_t queue_offloads;
1327@@ -11057,12 +11063,13 @@ cmd_rx_offload_get_configuration_parsed(
1328 int q;
1329 int ret;
1330
1331- printf("Rx Offloading Configuration of port %d :\n", port_id);
1332-
1333 ret = eth_dev_conf_get_print_err(port_id, &dev_conf);
1334 if (ret != 0)
1335 return;
1336
1337+ port = &ports[port_id];
1338+ printf("Rx Offloading Configuration of port %d :\n", port_id);
1339+
1340 port_offloads = dev_conf.rxmode.offloads;
1341 printf(" Port :");
1342 print_rx_offloads(port_offloads);
1343@@ -11163,12 +11170,17 @@ static void
1344 config_port_rx_offload(portid_t port_id, char *name, bool on)
1345 {
1346 struct rte_eth_dev_info dev_info;
1347- struct rte_port *port = &ports[port_id];
1348+ struct rte_port *port;
1349 uint16_t nb_rx_queues;
1350 uint64_t offload;
1351 int q;
1352 int ret;
1353
1354+ ret = eth_dev_info_get_print_err(port_id, &dev_info);
1355+ if (ret != 0)
1356+ return;
1357+
1358+ port = &ports[port_id];
1359 if (port->port_status != RTE_PORT_STOPPED) {
1360 fprintf(stderr,
1361 "Error: Can't config offload when Port %d is not stopped\n",
1362@@ -11176,10 +11188,6 @@ config_port_rx_offload(portid_t port_id, char *name, bool on)
1363 return;
1364 }
1365
1366- ret = eth_dev_info_get_print_err(port_id, &dev_info);
1367- if (ret != 0)
1368- return;
1369-
1370 if (!strcmp(name, "all")) {
1371 offload = dev_info.rx_offload_capa;
1372 } else {
1373@@ -11365,10 +11373,15 @@ cmd_config_per_queue_rx_offload_parsed(void *parsed_result,
1374 struct rte_eth_dev_info dev_info;
1375 portid_t port_id = res->port_id;
1376 uint16_t queue_id = res->queue_id;
1377- struct rte_port *port = &ports[port_id];
1378+ struct rte_port *port;
1379 uint64_t offload;
1380 int ret;
1381
1382+ ret = eth_dev_info_get_print_err(port_id, &dev_info);
1383+ if (ret != 0)
1384+ return;
1385+
1386+ port = &ports[port_id];
1387 if (port->port_status != RTE_PORT_STOPPED) {
1388 fprintf(stderr,
1389 "Error: Can't config offload when Port %d is not stopped\n",
1390@@ -11376,10 +11389,6 @@ cmd_config_per_queue_rx_offload_parsed(void *parsed_result,
1391 return;
1392 }
1393
1394- ret = eth_dev_info_get_print_err(port_id, &dev_info);
1395- if (ret != 0)
1396- return;
1397-
1398 if (queue_id >= dev_info.nb_rx_queues) {
1399 fprintf(stderr,
1400 "Error: input queue_id should be 0 ... %d\n",
1401@@ -11567,7 +11576,7 @@ cmd_tx_offload_get_configuration_parsed(
1402 struct cmd_tx_offload_get_configuration_result *res = parsed_result;
1403 struct rte_eth_dev_info dev_info;
1404 portid_t port_id = res->port_id;
1405- struct rte_port *port = &ports[port_id];
1406+ struct rte_port *port;
1407 struct rte_eth_conf dev_conf;
1408 uint64_t port_offloads;
1409 uint64_t queue_offloads;
1410@@ -11575,12 +11584,12 @@ cmd_tx_offload_get_configuration_parsed(
1411 int q;
1412 int ret;
1413
1414- printf("Tx Offloading Configuration of port %d :\n", port_id);
1415-
1416 ret = eth_dev_conf_get_print_err(port_id, &dev_conf);
1417 if (ret != 0)
1418 return;
1419
1420+ printf("Tx Offloading Configuration of port %d :\n", port_id);
1421+ port = &ports[port_id];
1422 port_offloads = dev_conf.txmode.offloads;
1423 printf(" Port :");
1424 print_tx_offloads(port_offloads);
1425@@ -11685,12 +11694,17 @@ static void
1426 config_port_tx_offload(portid_t port_id, char *name, bool on)
1427 {
1428 struct rte_eth_dev_info dev_info;
1429- struct rte_port *port = &ports[port_id];
1430+ struct rte_port *port;
1431 uint16_t nb_tx_queues;
1432 uint64_t offload;
1433 int q;
1434 int ret;
1435
1436+ ret = eth_dev_info_get_print_err(port_id, &dev_info);
1437+ if (ret != 0)
1438+ return;
1439+
1440+ port = &ports[port_id];
1441 if (port->port_status != RTE_PORT_STOPPED) {
1442 fprintf(stderr,
1443 "Error: Can't config offload when Port %d is not stopped\n",
1444@@ -11698,10 +11712,6 @@ config_port_tx_offload(portid_t port_id, char *name, bool on)
1445 return;
1446 }
1447
1448- ret = eth_dev_info_get_print_err(port_id, &dev_info);
1449- if (ret != 0)
1450- return;
1451-
1452 if (!strcmp(name, "all")) {
1453 offload = dev_info.tx_offload_capa;
1454 } else {
1455@@ -11891,10 +11901,15 @@ cmd_config_per_queue_tx_offload_parsed(void *parsed_result,
1456 struct rte_eth_dev_info dev_info;
1457 portid_t port_id = res->port_id;
1458 uint16_t queue_id = res->queue_id;
1459- struct rte_port *port = &ports[port_id];
1460+ struct rte_port *port;
1461 uint64_t offload;
1462 int ret;
1463
1464+ ret = eth_dev_info_get_print_err(port_id, &dev_info);
1465+ if (ret != 0)
1466+ return;
1467+
1468+ port = &ports[port_id];
1469 if (port->port_status != RTE_PORT_STOPPED) {
1470 fprintf(stderr,
1471 "Error: Can't config offload when Port %d is not stopped\n",
1472@@ -11902,10 +11917,6 @@ cmd_config_per_queue_tx_offload_parsed(void *parsed_result,
1473 return;
1474 }
1475
1476- ret = eth_dev_info_get_print_err(port_id, &dev_info);
1477- if (ret != 0)
1478- return;
1479-
1480 if (queue_id >= dev_info.nb_tx_queues) {
1481 fprintf(stderr,
1482 "Error: input queue_id should be 0 ... %d\n",
1483@@ -13047,240 +13058,240 @@ static cmdline_parse_inst_t cmd_config_tx_affinity_map = {
1484
1485 /* list of instructions */
1486 static cmdline_parse_ctx_t builtin_ctx[] = {
1487- (cmdline_parse_inst_t *)&cmd_help_brief,
1488- (cmdline_parse_inst_t *)&cmd_help_long,
1489- (cmdline_parse_inst_t *)&cmd_quit,
1490- (cmdline_parse_inst_t *)&cmd_load_from_file,
1491- (cmdline_parse_inst_t *)&cmd_showport,
1492- (cmdline_parse_inst_t *)&cmd_showqueue,
1493- (cmdline_parse_inst_t *)&cmd_showeeprom,
1494- (cmdline_parse_inst_t *)&cmd_showportall,
1495- (cmdline_parse_inst_t *)&cmd_representor_info,
1496- (cmdline_parse_inst_t *)&cmd_showdevice,
1497- (cmdline_parse_inst_t *)&cmd_showcfg,
1498- (cmdline_parse_inst_t *)&cmd_showfwdall,
1499- (cmdline_parse_inst_t *)&cmd_start,
1500- (cmdline_parse_inst_t *)&cmd_start_tx_first,
1501- (cmdline_parse_inst_t *)&cmd_start_tx_first_n,
1502- (cmdline_parse_inst_t *)&cmd_set_link_up,
1503- (cmdline_parse_inst_t *)&cmd_set_link_down,
1504- (cmdline_parse_inst_t *)&cmd_reset,
1505- (cmdline_parse_inst_t *)&cmd_set_numbers,
1506- (cmdline_parse_inst_t *)&cmd_set_log,
1507- (cmdline_parse_inst_t *)&cmd_set_rxoffs,
1508- (cmdline_parse_inst_t *)&cmd_set_rxpkts,
1509- (cmdline_parse_inst_t *)&cmd_set_rxhdrs,
1510- (cmdline_parse_inst_t *)&cmd_set_txpkts,
1511- (cmdline_parse_inst_t *)&cmd_set_txsplit,
1512- (cmdline_parse_inst_t *)&cmd_set_txtimes,
1513- (cmdline_parse_inst_t *)&cmd_set_fwd_list,
1514- (cmdline_parse_inst_t *)&cmd_set_fwd_mask,
1515- (cmdline_parse_inst_t *)&cmd_set_fwd_mode,
1516- (cmdline_parse_inst_t *)&cmd_set_fwd_retry_mode,
1517- (cmdline_parse_inst_t *)&cmd_set_burst_tx_retry,
1518- (cmdline_parse_inst_t *)&cmd_set_promisc_mode_one,
1519- (cmdline_parse_inst_t *)&cmd_set_promisc_mode_all,
1520- (cmdline_parse_inst_t *)&cmd_set_allmulti_mode_one,
1521- (cmdline_parse_inst_t *)&cmd_set_allmulti_mode_all,
1522- (cmdline_parse_inst_t *)&cmd_set_flush_rx,
1523- (cmdline_parse_inst_t *)&cmd_set_link_check,
1524- (cmdline_parse_inst_t *)&cmd_vlan_offload,
1525- (cmdline_parse_inst_t *)&cmd_vlan_tpid,
1526- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter_all,
1527- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter,
1528- (cmdline_parse_inst_t *)&cmd_tx_vlan_set,
1529- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_qinq,
1530- (cmdline_parse_inst_t *)&cmd_tx_vlan_reset,
1531- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_pvid,
1532- (cmdline_parse_inst_t *)&cmd_csum_set,
1533- (cmdline_parse_inst_t *)&cmd_csum_show,
1534- (cmdline_parse_inst_t *)&cmd_csum_tunnel,
1535- (cmdline_parse_inst_t *)&cmd_csum_mac_swap,
1536- (cmdline_parse_inst_t *)&cmd_tso_set,
1537- (cmdline_parse_inst_t *)&cmd_tso_show,
1538- (cmdline_parse_inst_t *)&cmd_tunnel_tso_set,
1539- (cmdline_parse_inst_t *)&cmd_tunnel_tso_show,
1540+ &cmd_help_brief,
1541+ &cmd_help_long,
1542+ &cmd_quit,
1543+ &cmd_load_from_file,
1544+ &cmd_showport,
1545+ &cmd_showqueue,
1546+ &cmd_showeeprom,
1547+ &cmd_showportall,
1548+ &cmd_representor_info,
1549+ &cmd_showdevice,
1550+ &cmd_showcfg,
1551+ &cmd_showfwdall,
1552+ &cmd_start,
1553+ &cmd_start_tx_first,
1554+ &cmd_start_tx_first_n,
1555+ &cmd_set_link_up,
1556+ &cmd_set_link_down,
1557+ &cmd_reset,
1558+ &cmd_set_numbers,
1559+ &cmd_set_log,
1560+ &cmd_set_rxoffs,
1561+ &cmd_set_rxpkts,
1562+ &cmd_set_rxhdrs,
1563+ &cmd_set_txpkts,
1564+ &cmd_set_txsplit,
1565+ &cmd_set_txtimes,
1566+ &cmd_set_fwd_list,
1567+ &cmd_set_fwd_mask,
1568+ &cmd_set_fwd_mode,
1569+ &cmd_set_fwd_retry_mode,
1570+ &cmd_set_burst_tx_retry,
1571+ &cmd_set_promisc_mode_one,
1572+ &cmd_set_promisc_mode_all,
1573+ &cmd_set_allmulti_mode_one,
1574+ &cmd_set_allmulti_mode_all,
1575+ &cmd_set_flush_rx,
1576+ &cmd_set_link_check,
1577+ &cmd_vlan_offload,
1578+ &cmd_vlan_tpid,
1579+ &cmd_rx_vlan_filter_all,
1580+ &cmd_rx_vlan_filter,
1581+ &cmd_tx_vlan_set,
1582+ &cmd_tx_vlan_set_qinq,
1583+ &cmd_tx_vlan_reset,
1584+ &cmd_tx_vlan_set_pvid,
1585+ &cmd_csum_set,
1586+ &cmd_csum_show,
1587+ &cmd_csum_tunnel,
1588+ &cmd_csum_mac_swap,
1589+ &cmd_tso_set,
1590+ &cmd_tso_show,
1591+ &cmd_tunnel_tso_set,
1592+ &cmd_tunnel_tso_show,
1593 #ifdef RTE_LIB_GRO
1594- (cmdline_parse_inst_t *)&cmd_gro_enable,
1595- (cmdline_parse_inst_t *)&cmd_gro_flush,
1596- (cmdline_parse_inst_t *)&cmd_gro_show,
1597+ &cmd_gro_enable,
1598+ &cmd_gro_flush,
1599+ &cmd_gro_show,
1600 #endif
1601 #ifdef RTE_LIB_GSO
1602- (cmdline_parse_inst_t *)&cmd_gso_enable,
1603- (cmdline_parse_inst_t *)&cmd_gso_size,
1604- (cmdline_parse_inst_t *)&cmd_gso_show,
1605+ &cmd_gso_enable,
1606+ &cmd_gso_size,
1607+ &cmd_gso_show,
1608 #endif
1609- (cmdline_parse_inst_t *)&cmd_link_flow_control_set,
1610- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_rx,
1611- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_tx,
1612- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_hw,
1613- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_lw,
1614- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_pt,
1615- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_xon,
1616- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_macfwd,
1617- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_autoneg,
1618- (cmdline_parse_inst_t *)&cmd_link_flow_control_show,
1619- (cmdline_parse_inst_t *)&cmd_priority_flow_control_set,
1620- (cmdline_parse_inst_t *)&cmd_queue_priority_flow_control_set,
1621- (cmdline_parse_inst_t *)&cmd_config_dcb,
1622- (cmdline_parse_inst_t *)&cmd_read_rxd_txd,
1623- (cmdline_parse_inst_t *)&cmd_stop,
1624- (cmdline_parse_inst_t *)&cmd_mac_addr,
1625- (cmdline_parse_inst_t *)&cmd_set_fwd_eth_peer,
1626- (cmdline_parse_inst_t *)&cmd_set_qmap,
1627- (cmdline_parse_inst_t *)&cmd_set_xstats_hide_zero,
1628- (cmdline_parse_inst_t *)&cmd_set_record_core_cycles,
1629- (cmdline_parse_inst_t *)&cmd_set_record_burst_stats,
1630- (cmdline_parse_inst_t *)&cmd_operate_port,
1631- (cmdline_parse_inst_t *)&cmd_operate_specific_port,
1632- (cmdline_parse_inst_t *)&cmd_operate_attach_port,
1633- (cmdline_parse_inst_t *)&cmd_operate_detach_port,
1634- (cmdline_parse_inst_t *)&cmd_operate_detach_device,
1635- (cmdline_parse_inst_t *)&cmd_set_port_setup_on,
1636- (cmdline_parse_inst_t *)&cmd_config_speed_all,
1637- (cmdline_parse_inst_t *)&cmd_config_speed_specific,
1638- (cmdline_parse_inst_t *)&cmd_config_loopback_all,
1639- (cmdline_parse_inst_t *)&cmd_config_loopback_specific,
1640- (cmdline_parse_inst_t *)&cmd_config_rx_tx,
1641- (cmdline_parse_inst_t *)&cmd_config_mtu,
1642- (cmdline_parse_inst_t *)&cmd_config_max_pkt_len,
1643- (cmdline_parse_inst_t *)&cmd_config_max_lro_pkt_size,
1644- (cmdline_parse_inst_t *)&cmd_config_rx_mode_flag,
1645- (cmdline_parse_inst_t *)&cmd_config_rss,
1646- (cmdline_parse_inst_t *)&cmd_config_rxtx_ring_size,
1647- (cmdline_parse_inst_t *)&cmd_config_rxtx_queue,
1648- (cmdline_parse_inst_t *)&cmd_config_deferred_start_rxtx_queue,
1649- (cmdline_parse_inst_t *)&cmd_setup_rxtx_queue,
1650- (cmdline_parse_inst_t *)&cmd_config_rss_reta,
1651- (cmdline_parse_inst_t *)&cmd_showport_reta,
1652- (cmdline_parse_inst_t *)&cmd_showport_macs,
1653- (cmdline_parse_inst_t *)&cmd_show_port_flow_transfer_proxy,
1654- (cmdline_parse_inst_t *)&cmd_config_burst,
1655- (cmdline_parse_inst_t *)&cmd_config_thresh,
1656- (cmdline_parse_inst_t *)&cmd_config_threshold,
1657- (cmdline_parse_inst_t *)&cmd_set_uc_hash_filter,
1658- (cmdline_parse_inst_t *)&cmd_set_uc_all_hash_filter,
1659- (cmdline_parse_inst_t *)&cmd_vf_mac_addr_filter,
1660- (cmdline_parse_inst_t *)&cmd_queue_rate_limit,
1661- (cmdline_parse_inst_t *)&cmd_tunnel_udp_config,
1662- (cmdline_parse_inst_t *)&cmd_showport_rss_hash,
1663- (cmdline_parse_inst_t *)&cmd_showport_rss_hash_key,
1664- (cmdline_parse_inst_t *)&cmd_showport_rss_hash_algo,
1665- (cmdline_parse_inst_t *)&cmd_config_rss_hash_key,
1666- (cmdline_parse_inst_t *)&cmd_cleanup_txq_mbufs,
1667- (cmdline_parse_inst_t *)&cmd_dump,
1668- (cmdline_parse_inst_t *)&cmd_dump_one,
1669- (cmdline_parse_inst_t *)&cmd_flow,
1670- (cmdline_parse_inst_t *)&cmd_show_port_meter_cap,
1671- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_srtcm,
1672- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm,
1673- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm_rfc4115,
1674- (cmdline_parse_inst_t *)&cmd_del_port_meter_profile,
1675- (cmdline_parse_inst_t *)&cmd_create_port_meter,
1676- (cmdline_parse_inst_t *)&cmd_enable_port_meter,
1677- (cmdline_parse_inst_t *)&cmd_disable_port_meter,
1678- (cmdline_parse_inst_t *)&cmd_del_port_meter,
1679- (cmdline_parse_inst_t *)&cmd_del_port_meter_policy,
1680- (cmdline_parse_inst_t *)&cmd_set_port_meter_profile,
1681- (cmdline_parse_inst_t *)&cmd_set_port_meter_dscp_table,
1682- (cmdline_parse_inst_t *)&cmd_set_port_meter_vlan_table,
1683- (cmdline_parse_inst_t *)&cmd_set_port_meter_in_proto,
1684- (cmdline_parse_inst_t *)&cmd_get_port_meter_in_proto,
1685- (cmdline_parse_inst_t *)&cmd_get_port_meter_in_proto_prio,
1686- (cmdline_parse_inst_t *)&cmd_set_port_meter_stats_mask,
1687- (cmdline_parse_inst_t *)&cmd_show_port_meter_stats,
1688- (cmdline_parse_inst_t *)&cmd_mcast_addr,
1689- (cmdline_parse_inst_t *)&cmd_mcast_addr_flush,
1690- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_anti_spoof,
1691- (cmdline_parse_inst_t *)&cmd_set_vf_mac_anti_spoof,
1692- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_stripq,
1693- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_insert,
1694- (cmdline_parse_inst_t *)&cmd_set_tx_loopback,
1695- (cmdline_parse_inst_t *)&cmd_set_all_queues_drop_en,
1696- (cmdline_parse_inst_t *)&cmd_set_vf_traffic,
1697- (cmdline_parse_inst_t *)&cmd_set_vf_rxmode,
1698- (cmdline_parse_inst_t *)&cmd_vf_rate_limit,
1699- (cmdline_parse_inst_t *)&cmd_vf_rxvlan_filter,
1700- (cmdline_parse_inst_t *)&cmd_set_vf_mac_addr,
1701- (cmdline_parse_inst_t *)&cmd_set_vxlan,
1702- (cmdline_parse_inst_t *)&cmd_set_vxlan_tos_ttl,
1703- (cmdline_parse_inst_t *)&cmd_set_vxlan_with_vlan,
1704- (cmdline_parse_inst_t *)&cmd_set_nvgre,
1705- (cmdline_parse_inst_t *)&cmd_set_nvgre_with_vlan,
1706- (cmdline_parse_inst_t *)&cmd_set_l2_encap,
1707- (cmdline_parse_inst_t *)&cmd_set_l2_encap_with_vlan,
1708- (cmdline_parse_inst_t *)&cmd_set_l2_decap,
1709- (cmdline_parse_inst_t *)&cmd_set_l2_decap_with_vlan,
1710- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap,
1711- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap_with_vlan,
1712- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap,
1713- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap_with_vlan,
1714- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap,
1715- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap_with_vlan,
1716- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap,
1717- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap_with_vlan,
1718- (cmdline_parse_inst_t *)&cmd_set_conntrack_common,
1719- (cmdline_parse_inst_t *)&cmd_set_conntrack_dir,
1720- (cmdline_parse_inst_t *)&cmd_show_vf_stats,
1721- (cmdline_parse_inst_t *)&cmd_clear_vf_stats,
1722- (cmdline_parse_inst_t *)&cmd_show_port_supported_ptypes,
1723- (cmdline_parse_inst_t *)&cmd_set_port_ptypes,
1724- (cmdline_parse_inst_t *)&cmd_show_port_tm_cap,
1725- (cmdline_parse_inst_t *)&cmd_show_port_tm_level_cap,
1726- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_cap,
1727- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_type,
1728- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_stats,
1729- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shaper_profile,
1730- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shaper_profile,
1731- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shared_shaper,
1732- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shared_shaper,
1733- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_wred_profile,
1734- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_wred_profile,
1735- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_shaper_profile,
1736- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node,
1737- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node_pmode,
1738- (cmdline_parse_inst_t *)&cmd_add_port_tm_leaf_node,
1739- (cmdline_parse_inst_t *)&cmd_del_port_tm_node,
1740- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,
1741- (cmdline_parse_inst_t *)&cmd_suspend_port_tm_node,
1742- (cmdline_parse_inst_t *)&cmd_resume_port_tm_node,
1743- (cmdline_parse_inst_t *)&cmd_port_tm_hierarchy_commit,
1744- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_ecn,
1745- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_dscp,
1746- (cmdline_parse_inst_t *)&cmd_port_tm_mark_vlan_dei,
1747- (cmdline_parse_inst_t *)&cmd_cfg_tunnel_udp_port,
1748- (cmdline_parse_inst_t *)&cmd_rx_offload_get_capa,
1749- (cmdline_parse_inst_t *)&cmd_rx_offload_get_configuration,
1750- (cmdline_parse_inst_t *)&cmd_config_per_port_rx_offload,
1751- (cmdline_parse_inst_t *)&cmd_config_all_port_rx_offload,
1752- (cmdline_parse_inst_t *)&cmd_config_per_queue_rx_offload,
1753- (cmdline_parse_inst_t *)&cmd_tx_offload_get_capa,
1754- (cmdline_parse_inst_t *)&cmd_tx_offload_get_configuration,
1755- (cmdline_parse_inst_t *)&cmd_config_per_port_tx_offload,
1756- (cmdline_parse_inst_t *)&cmd_config_all_port_tx_offload,
1757- (cmdline_parse_inst_t *)&cmd_config_per_queue_tx_offload,
1758+ &cmd_link_flow_control_set,
1759+ &cmd_link_flow_control_set_rx,
1760+ &cmd_link_flow_control_set_tx,
1761+ &cmd_link_flow_control_set_hw,
1762+ &cmd_link_flow_control_set_lw,
1763+ &cmd_link_flow_control_set_pt,
1764+ &cmd_link_flow_control_set_xon,
1765+ &cmd_link_flow_control_set_macfwd,
1766+ &cmd_link_flow_control_set_autoneg,
1767+ &cmd_link_flow_control_show,
1768+ &cmd_priority_flow_control_set,
1769+ &cmd_queue_priority_flow_control_set,
1770+ &cmd_config_dcb,
1771+ &cmd_read_rxd_txd,
1772+ &cmd_stop,
1773+ &cmd_mac_addr,
1774+ &cmd_set_fwd_eth_peer,
1775+ &cmd_set_qmap,
1776+ &cmd_set_xstats_hide_zero,
1777+ &cmd_set_record_core_cycles,
1778+ &cmd_set_record_burst_stats,
1779+ &cmd_operate_port,
1780+ &cmd_operate_specific_port,
1781+ &cmd_operate_attach_port,
1782+ &cmd_operate_detach_port,
1783+ &cmd_operate_detach_device,
1784+ &cmd_set_port_setup_on,
1785+ &cmd_config_speed_all,
1786+ &cmd_config_speed_specific,
1787+ &cmd_config_loopback_all,
1788+ &cmd_config_loopback_specific,
1789+ &cmd_config_rx_tx,
1790+ &cmd_config_mtu,
1791+ &cmd_config_max_pkt_len,
1792+ &cmd_config_max_lro_pkt_size,
1793+ &cmd_config_rx_mode_flag,
1794+ &cmd_config_rss,
1795+ &cmd_config_rxtx_ring_size,
1796+ &cmd_config_rxtx_queue,
1797+ &cmd_config_deferred_start_rxtx_queue,
1798+ &cmd_setup_rxtx_queue,
1799+ &cmd_config_rss_reta,
1800+ &cmd_showport_reta,
1801+ &cmd_showport_macs,
1802+ &cmd_show_port_flow_transfer_proxy,
1803+ &cmd_config_burst,
1804+ &cmd_config_thresh,
1805+ &cmd_config_threshold,
1806+ &cmd_set_uc_hash_filter,
1807+ &cmd_set_uc_all_hash_filter,
1808+ &cmd_vf_mac_addr_filter,
1809+ &cmd_queue_rate_limit,
1810+ &cmd_tunnel_udp_config,
1811+ &cmd_showport_rss_hash,
1812+ &cmd_showport_rss_hash_key,
1813+ &cmd_showport_rss_hash_algo,
1814+ &cmd_config_rss_hash_key,
1815+ &cmd_cleanup_txq_mbufs,
1816+ &cmd_dump,
1817+ &cmd_dump_one,
1818+ &cmd_flow,
1819+ &cmd_show_port_meter_cap,
1820+ &cmd_add_port_meter_profile_srtcm,
1821+ &cmd_add_port_meter_profile_trtcm,
1822+ &cmd_add_port_meter_profile_trtcm_rfc4115,
1823+ &cmd_del_port_meter_profile,
1824+ &cmd_create_port_meter,
1825+ &cmd_enable_port_meter,
1826+ &cmd_disable_port_meter,
1827+ &cmd_del_port_meter,
1828+ &cmd_del_port_meter_policy,
1829+ &cmd_set_port_meter_profile,
1830+ &cmd_set_port_meter_dscp_table,
1831+ &cmd_set_port_meter_vlan_table,
1832+ &cmd_set_port_meter_in_proto,
1833+ &cmd_get_port_meter_in_proto,
1834+ &cmd_get_port_meter_in_proto_prio,
1835+ &cmd_set_port_meter_stats_mask,
1836+ &cmd_show_port_meter_stats,
1837+ &cmd_mcast_addr,
1838+ &cmd_mcast_addr_flush,
1839+ &cmd_set_vf_vlan_anti_spoof,
1840+ &cmd_set_vf_mac_anti_spoof,
1841+ &cmd_set_vf_vlan_stripq,
1842+ &cmd_set_vf_vlan_insert,
1843+ &cmd_set_tx_loopback,
1844+ &cmd_set_all_queues_drop_en,
1845+ &cmd_set_vf_traffic,
1846+ &cmd_set_vf_rxmode,
1847+ &cmd_vf_rate_limit,
1848+ &cmd_vf_rxvlan_filter,
1849+ &cmd_set_vf_mac_addr,
1850+ &cmd_set_vxlan,
1851+ &cmd_set_vxlan_tos_ttl,
1852+ &cmd_set_vxlan_with_vlan,
1853+ &cmd_set_nvgre,
1854+ &cmd_set_nvgre_with_vlan,
1855+ &cmd_set_l2_encap,
1856+ &cmd_set_l2_encap_with_vlan,
1857+ &cmd_set_l2_decap,
1858+ &cmd_set_l2_decap_with_vlan,
1859+ &cmd_set_mplsogre_encap,
1860+ &cmd_set_mplsogre_encap_with_vlan,
1861+ &cmd_set_mplsogre_decap,
1862+ &cmd_set_mplsogre_decap_with_vlan,
1863+ &cmd_set_mplsoudp_encap,
1864+ &cmd_set_mplsoudp_encap_with_vlan,
1865+ &cmd_set_mplsoudp_decap,
1866+ &cmd_set_mplsoudp_decap_with_vlan,
1867+ &cmd_set_conntrack_common,
1868+ &cmd_set_conntrack_dir,
1869+ &cmd_show_vf_stats,
1870+ &cmd_clear_vf_stats,
1871+ &cmd_show_port_supported_ptypes,
1872+ &cmd_set_port_ptypes,
1873+ &cmd_show_port_tm_cap,
1874+ &cmd_show_port_tm_level_cap,
1875+ &cmd_show_port_tm_node_cap,
1876+ &cmd_show_port_tm_node_type,
1877+ &cmd_show_port_tm_node_stats,
1878+ &cmd_add_port_tm_node_shaper_profile,
1879+ &cmd_del_port_tm_node_shaper_profile,
1880+ &cmd_add_port_tm_node_shared_shaper,
1881+ &cmd_del_port_tm_node_shared_shaper,
1882+ &cmd_add_port_tm_node_wred_profile,
1883+ &cmd_del_port_tm_node_wred_profile,
1884+ &cmd_set_port_tm_node_shaper_profile,
1885+ &cmd_add_port_tm_nonleaf_node,
1886+ &cmd_add_port_tm_nonleaf_node_pmode,
1887+ &cmd_add_port_tm_leaf_node,
1888+ &cmd_del_port_tm_node,
1889+ &cmd_set_port_tm_node_parent,
1890+ &cmd_suspend_port_tm_node,
1891+ &cmd_resume_port_tm_node,
1892+ &cmd_port_tm_hierarchy_commit,
1893+ &cmd_port_tm_mark_ip_ecn,
1894+ &cmd_port_tm_mark_ip_dscp,
1895+ &cmd_port_tm_mark_vlan_dei,
1896+ &cmd_cfg_tunnel_udp_port,
1897+ &cmd_rx_offload_get_capa,
1898+ &cmd_rx_offload_get_configuration,
1899+ &cmd_config_per_port_rx_offload,
1900+ &cmd_config_all_port_rx_offload,
1901+ &cmd_config_per_queue_rx_offload,
1902+ &cmd_tx_offload_get_capa,
1903+ &cmd_tx_offload_get_configuration,
1904+ &cmd_config_per_port_tx_offload,
1905+ &cmd_config_all_port_tx_offload,
1906+ &cmd_config_per_queue_tx_offload,
1907 #ifdef RTE_LIB_BPF
1908- (cmdline_parse_inst_t *)&cmd_operate_bpf_ld_parse,
1909- (cmdline_parse_inst_t *)&cmd_operate_bpf_unld_parse,
1910+ &cmd_operate_bpf_ld_parse,
1911+ &cmd_operate_bpf_unld_parse,
1912 #endif
1913- (cmdline_parse_inst_t *)&cmd_config_tx_metadata_specific,
1914- (cmdline_parse_inst_t *)&cmd_show_tx_metadata,
1915- (cmdline_parse_inst_t *)&cmd_show_rx_tx_desc_status,
1916- (cmdline_parse_inst_t *)&cmd_show_rx_queue_desc_used_count,
1917- (cmdline_parse_inst_t *)&cmd_set_raw,
1918- (cmdline_parse_inst_t *)&cmd_show_set_raw,
1919- (cmdline_parse_inst_t *)&cmd_show_set_raw_all,
1920- (cmdline_parse_inst_t *)&cmd_config_tx_dynf_specific,
1921- (cmdline_parse_inst_t *)&cmd_show_fec_mode,
1922- (cmdline_parse_inst_t *)&cmd_set_fec_mode,
1923- (cmdline_parse_inst_t *)&cmd_set_rxq_avail_thresh,
1924- (cmdline_parse_inst_t *)&cmd_show_capability,
1925- (cmdline_parse_inst_t *)&cmd_set_flex_is_pattern,
1926- (cmdline_parse_inst_t *)&cmd_set_flex_spec_pattern,
1927- (cmdline_parse_inst_t *)&cmd_show_port_cman_capa,
1928- (cmdline_parse_inst_t *)&cmd_show_port_cman_config,
1929- (cmdline_parse_inst_t *)&cmd_set_port_cman_config,
1930- (cmdline_parse_inst_t *)&cmd_config_tx_affinity_map,
1931+ &cmd_config_tx_metadata_specific,
1932+ &cmd_show_tx_metadata,
1933+ &cmd_show_rx_tx_desc_status,
1934+ &cmd_show_rx_queue_desc_used_count,
1935+ &cmd_set_raw,
1936+ &cmd_show_set_raw,
1937+ &cmd_show_set_raw_all,
1938+ &cmd_config_tx_dynf_specific,
1939+ &cmd_show_fec_mode,
1940+ &cmd_set_fec_mode,
1941+ &cmd_set_rxq_avail_thresh,
1942+ &cmd_show_capability,
1943+ &cmd_set_flex_is_pattern,
1944+ &cmd_set_flex_spec_pattern,
1945+ &cmd_show_port_cman_capa,
1946+ &cmd_show_port_cman_config,
1947+ &cmd_set_port_cman_config,
1948+ &cmd_config_tx_affinity_map,
1949 NULL,
1950 };
1951
1952diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
1953index 7e6e06a..661c72c 100644
1954--- a/app/test-pmd/cmdline_flow.c
1955+++ b/app/test-pmd/cmdline_flow.c
1956@@ -105,7 +105,6 @@ enum index {
1957 HASH,
1958
1959 /* Flex arguments */
1960- FLEX_ITEM_INIT,
1961 FLEX_ITEM_CREATE,
1962 FLEX_ITEM_DESTROY,
1963
1964@@ -1249,7 +1248,6 @@ struct parse_action_priv {
1965 })
1966
1967 static const enum index next_flex_item[] = {
1968- FLEX_ITEM_INIT,
1969 FLEX_ITEM_CREATE,
1970 FLEX_ITEM_DESTROY,
1971 ZERO,
1972@@ -3932,15 +3930,6 @@ static const struct token token_list[] = {
1973 .next = NEXT(next_flex_item),
1974 .call = parse_flex,
1975 },
1976- [FLEX_ITEM_INIT] = {
1977- .name = "init",
1978- .help = "flex item init",
1979- .args = ARGS(ARGS_ENTRY(struct buffer, args.flex.token),
1980- ARGS_ENTRY(struct buffer, port)),
1981- .next = NEXT(NEXT_ENTRY(COMMON_FLEX_TOKEN),
1982- NEXT_ENTRY(COMMON_PORT_ID)),
1983- .call = parse_flex
1984- },
1985 [FLEX_ITEM_CREATE] = {
1986 .name = "create",
1987 .help = "flex item create",
1988@@ -10720,7 +10709,6 @@ parse_flex(struct context *ctx, const struct token *token,
1989 switch (ctx->curr) {
1990 default:
1991 break;
1992- case FLEX_ITEM_INIT:
1993 case FLEX_ITEM_CREATE:
1994 case FLEX_ITEM_DESTROY:
1995 out->command = ctx->curr;
1996@@ -12123,7 +12111,7 @@ comp_names_to_index(struct context *ctx, const struct token *token,
1997 RTE_SET_USED(token);
1998 if (!buf)
1999 return names_size;
2000- if (names[ent] && ent < names_size)
2001+ if (ent < names_size && names[ent] != NULL)
2002 return rte_strscpy(buf, names[ent], size);
2003 return -1;
2004
2005diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
2006index 40e4e83..a70086c 100644
2007--- a/app/test-pmd/config.c
2008+++ b/app/test-pmd/config.c
2009@@ -2219,7 +2219,7 @@ port_meter_policy_add(portid_t port_id, uint32_t policy_id,
2010 for (act_n = 0, start = act;
2011 act->type != RTE_FLOW_ACTION_TYPE_END; act++)
2012 act_n++;
2013- if (act_n && act->type == RTE_FLOW_ACTION_TYPE_END)
2014+ if (act_n > 0)
2015 policy.actions[i] = start;
2016 else
2017 policy.actions[i] = NULL;
2018@@ -3913,8 +3913,10 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
2019 }
2020 type = (enum age_action_context_type *)contexts[idx];
2021 switch (*type) {
2022- case ACTION_AGE_CONTEXT_TYPE_FLOW:
2023+ case ACTION_AGE_CONTEXT_TYPE_FLOW: {
2024+ uint64_t flow_id;
2025 ctx.pf = container_of(type, struct port_flow, age_type);
2026+ flow_id = ctx.pf->id;
2027 printf("%-20s\t%" PRIu64 "\t%" PRIu32 "\t%" PRIu32
2028 "\t%c%c%c\t\n",
2029 "Flow",
2030@@ -3925,9 +3927,10 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
2031 ctx.pf->rule.attr->egress ? 'e' : '-',
2032 ctx.pf->rule.attr->transfer ? 't' : '-');
2033 if (destroy && !port_flow_destroy(port_id, 1,
2034- &ctx.pf->id, false))
2035+ &flow_id, false))
2036 total++;
2037 break;
2038+ }
2039 case ACTION_AGE_CONTEXT_TYPE_INDIRECT_ACTION:
2040 ctx.pia = container_of(type,
2041 struct port_indirect_action, age_type);
2042@@ -6906,8 +6909,8 @@ port_dcb_info_display(portid_t port_id)
2043 printf("\n TC : ");
2044 for (i = 0; i < dcb_info.nb_tcs; i++)
2045 printf("\t%4d", i);
2046- printf("\n Priority : ");
2047- for (i = 0; i < dcb_info.nb_tcs; i++)
2048+ printf("\n Prio2TC : ");
2049+ for (i = 0; i < RTE_ETH_DCB_NUM_USER_PRIORITIES; i++)
2050 printf("\t%4d", dcb_info.prio_tc[i]);
2051 printf("\n BW percent :");
2052 for (i = 0; i < dcb_info.nb_tcs; i++)
2053diff --git a/app/test/test_common.c b/app/test/test_common.c
2054index 21eb228..6dbd7fc 100644
2055--- a/app/test/test_common.c
2056+++ b/app/test/test_common.c
2057@@ -9,11 +9,12 @@
2058 #include <rte_common.h>
2059 #include <rte_bitops.h>
2060 #include <rte_hexdump.h>
2061+#include <rte_random.h>
2062 #include <rte_pause.h>
2063
2064 #include "test.h"
2065
2066-#define MAX_NUM 1 << 20
2067+#define MAX_NUM (1 << 20)
2068
2069 #define FAIL(x)\
2070 {printf(x "() test failed!\n");\
2071@@ -218,19 +219,21 @@ test_align(void)
2072 }
2073 }
2074
2075- for (p = 1; p <= MAX_NUM / 2; p++) {
2076- for (i = 1; i <= MAX_NUM / 2; i++) {
2077- val = RTE_ALIGN_MUL_CEIL(i, p);
2078- if (val % p != 0 || val < i)
2079- FAIL_ALIGN("RTE_ALIGN_MUL_CEIL", i, p);
2080- val = RTE_ALIGN_MUL_FLOOR(i, p);
2081- if (val % p != 0 || val > i)
2082- FAIL_ALIGN("RTE_ALIGN_MUL_FLOOR", i, p);
2083- val = RTE_ALIGN_MUL_NEAR(i, p);
2084- if (val % p != 0 || ((val != RTE_ALIGN_MUL_CEIL(i, p))
2085- & (val != RTE_ALIGN_MUL_FLOOR(i, p))))
2086- FAIL_ALIGN("RTE_ALIGN_MUL_NEAR", i, p);
2087- }
2088+ /* testing the whole space of 2^20^2 takes too long. */
2089+ for (j = 1; j <= MAX_NUM ; j++) {
2090+ i = rte_rand_max(MAX_NUM - 1) + 1;
2091+ p = rte_rand_max(MAX_NUM - 1) + 1;
2092+
2093+ val = RTE_ALIGN_MUL_CEIL(i, p);
2094+ if (val % p != 0 || val < i)
2095+ FAIL_ALIGN("RTE_ALIGN_MUL_CEIL", i, p);
2096+ val = RTE_ALIGN_MUL_FLOOR(i, p);
2097+ if (val % p != 0 || val > i)
2098+ FAIL_ALIGN("RTE_ALIGN_MUL_FLOOR", i, p);
2099+ val = RTE_ALIGN_MUL_NEAR(i, p);
2100+ if (val % p != 0 || ((val != RTE_ALIGN_MUL_CEIL(i, p))
2101+ & (val != RTE_ALIGN_MUL_FLOOR(i, p))))
2102+ FAIL_ALIGN("RTE_ALIGN_MUL_NEAR", i, p);
2103 }
2104
2105 return 0;
2106diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
2107index 6cd38ae..fb5a3e7 100644
2108--- a/app/test/test_cryptodev.c
2109+++ b/app/test/test_cryptodev.c
2110@@ -12270,6 +12270,8 @@ test_authenticated_encryption_oop(const struct aead_test_data *tdata)
2111 struct crypto_testsuite_params *ts_params = &testsuite_params;
2112 struct crypto_unittest_params *ut_params = &unittest_params;
2113
2114+ uint32_t i;
2115+ uint8_t *buffer_oop;
2116 int retval;
2117 uint8_t *ciphertext, *auth_tag;
2118 uint16_t plaintext_pad_len;
2119@@ -12342,6 +12344,16 @@ test_authenticated_encryption_oop(const struct aead_test_data *tdata)
2120 ut_params->op->sym->cipher.data.offset);
2121 auth_tag = ciphertext + plaintext_pad_len;
2122
2123+ /* Check if the data within the offset range is not overwritten in the OOP */
2124+ buffer_oop = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *);
2125+ for (i = 0; i < ut_params->op->sym->cipher.data.offset; i++) {
2126+ if (buffer_oop[i]) {
2127+ RTE_LOG(ERR, USER1, "Incorrect value of the output buffer header\n");
2128+ debug_hexdump(stdout, "Incorrect value:", buffer_oop, ut_params->op->sym->cipher.data.offset);
2129+ return TEST_FAILED;
2130+ }
2131+ }
2132+
2133 debug_hexdump(stdout, "ciphertext:", ciphertext, tdata->ciphertext.len);
2134 debug_hexdump(stdout, "auth tag:", auth_tag, tdata->auth_tag.len);
2135
2136@@ -12374,6 +12386,8 @@ test_authenticated_decryption_oop(const struct aead_test_data *tdata)
2137 struct crypto_testsuite_params *ts_params = &testsuite_params;
2138 struct crypto_unittest_params *ut_params = &unittest_params;
2139
2140+ uint32_t i;
2141+ uint8_t *buffer_oop;
2142 int retval;
2143 uint8_t *plaintext;
2144 struct rte_cryptodev_info dev_info;
2145@@ -12447,6 +12461,18 @@ test_authenticated_decryption_oop(const struct aead_test_data *tdata)
2146
2147 debug_hexdump(stdout, "plaintext:", plaintext, tdata->ciphertext.len);
2148
2149+ /* Check if the data within the offset range is not overwritten in the OOP */
2150+ buffer_oop = rte_pktmbuf_mtod(ut_params->obuf, uint8_t *);
2151+ for (i = 0; i < ut_params->op->sym->cipher.data.offset; i++) {
2152+ if (buffer_oop[i]) {
2153+ RTE_LOG(ERR, USER1,
2154+ "Incorrect value of the output buffer header\n");
2155+ debug_hexdump(stdout, "Incorrect value:", buffer_oop,
2156+ ut_params->op->sym->cipher.data.offset);
2157+ return TEST_FAILED;
2158+ }
2159+ }
2160+
2161 /* Validate obuf */
2162 TEST_ASSERT_BUFFERS_ARE_EQUAL(
2163 plaintext,
2164@@ -13625,6 +13651,10 @@ test_enq_callback_setup(void)
2165 uint16_t qp_id = 0;
2166 int j = 0;
2167
2168+ /* Skip test if synchronous API is used */
2169+ if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
2170+ return TEST_SKIPPED;
2171+
2172 /* Verify the crypto capabilities for which enqueue/dequeue is done. */
2173 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AUTH;
2174 cap_idx.algo.auth = RTE_CRYPTO_AUTH_NULL;
2175@@ -13727,7 +13757,7 @@ test_enq_callback_setup(void)
2176 "qp %u on cryptodev %u",
2177 qp_id, ts_params->valid_devs[0]);
2178
2179- TEST_ASSERT(deq_cb_called == true, "Crypto dequeue callback not called");
2180+ TEST_ASSERT(enq_cb_called == true, "Crypto enqueue callback not called");
2181
2182 return TEST_SUCCESS;
2183 }
2184@@ -13746,6 +13776,10 @@ test_deq_callback_setup(void)
2185 uint16_t qp_id = 0;
2186 int j = 0;
2187
2188+ /* Skip test if synchronous API is used */
2189+ if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
2190+ return TEST_SKIPPED;
2191+
2192 /* Verify the crypto capabilities for which enqueue/dequeue is done. */
2193 cap_idx.type = RTE_CRYPTO_SYM_XFORM_AUTH;
2194 cap_idx.algo.auth = RTE_CRYPTO_AUTH_NULL;
2195@@ -13848,7 +13882,7 @@ test_deq_callback_setup(void)
2196 "qp %u on cryptodev %u",
2197 qp_id, ts_params->valid_devs[0]);
2198
2199- TEST_ASSERT(enq_cb_called == true, "Crypto enqueue callback not called");
2200+ TEST_ASSERT(deq_cb_called == true, "Crypto dequeue callback not called");
2201
2202 return TEST_SUCCESS;
2203 }
2204diff --git a/app/test/test_cryptodev.h b/app/test/test_cryptodev.h
2205index f2c417a..feee8c3 100644
2206--- a/app/test/test_cryptodev.h
2207+++ b/app/test/test_cryptodev.h
2208@@ -90,7 +90,6 @@ struct crypto_testsuite_params {
2209 struct rte_mempool *large_mbuf_pool;
2210 struct rte_mempool *op_mpool;
2211 struct rte_mempool *session_mpool;
2212- struct rte_mempool *session_priv_mpool;
2213 struct rte_cryptodev_config conf;
2214 struct rte_cryptodev_qp_conf qp_conf;
2215
2216diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h
2217index 7127156..505e603 100644
2218--- a/app/test/test_cryptodev_aes_test_vectors.h
2219+++ b/app/test/test_cryptodev_aes_test_vectors.h
2220@@ -833,11 +833,11 @@ static const struct blockcipher_test_data aes_test_data_19 = {
2221 },
2222 .plaintext = {
2223 .data = plaintext_aes192ecb_192bytes,
2224- .len = 64
2225+ .len = 192
2226 },
2227 .ciphertext = {
2228 .data = ciphertext_aes192ecb_192bytes,
2229- .len = 64
2230+ .len = 192
2231 }
2232 };
2233
2234@@ -5103,7 +5103,7 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
2235 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2236 },
2237 {
2238- .test_descr = "AES-256-ECB Decryption (192-byte plaintext)",
2239+ .test_descr = "AES-256-ECB Decryption (256-byte plaintext)",
2240 .test_data = &aes_test_data_20,
2241 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2242 },
2243diff --git a/app/test/test_dmadev_api.c b/app/test/test_dmadev_api.c
2244index 4a181af..0e66784 100644
2245--- a/app/test/test_dmadev_api.c
2246+++ b/app/test/test_dmadev_api.c
2247@@ -441,7 +441,9 @@ test_dma_completed(void)
2248 setup_memory();
2249
2250 /* Check enqueue without submit */
2251- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
2252+ ret = rte_dma_copy(test_dev_id, 0,
2253+ rte_malloc_virt2iova(src),
2254+ rte_malloc_virt2iova(dst),
2255 TEST_MEMCPY_SIZE, 0);
2256 RTE_TEST_ASSERT_EQUAL(ret, 0, "Failed to enqueue copy, %d", ret);
2257 rte_delay_us_sleep(TEST_WAIT_US_VAL);
2258@@ -463,7 +465,9 @@ test_dma_completed(void)
2259 setup_memory();
2260
2261 /* Check for enqueue with submit */
2262- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
2263+ ret = rte_dma_copy(test_dev_id, 0,
2264+ rte_malloc_virt2iova(src),
2265+ rte_malloc_virt2iova(dst),
2266 TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
2267 RTE_TEST_ASSERT_EQUAL(ret, 1, "Failed to enqueue copy, %d", ret);
2268 rte_delay_us_sleep(TEST_WAIT_US_VAL);
2269@@ -498,7 +502,9 @@ test_dma_completed_status(void)
2270 RTE_TEST_ASSERT_SUCCESS(ret, "Failed to start, %d", ret);
2271
2272 /* Check for enqueue with submit */
2273- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
2274+ ret = rte_dma_copy(test_dev_id, 0,
2275+ rte_malloc_virt2iova(src),
2276+ rte_malloc_virt2iova(dst),
2277 TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
2278 RTE_TEST_ASSERT_EQUAL(ret, 0, "Failed to enqueue copy, %d", ret);
2279 rte_delay_us_sleep(TEST_WAIT_US_VAL);
2280@@ -517,7 +523,9 @@ test_dma_completed_status(void)
2281 RTE_TEST_ASSERT_EQUAL(cpl_ret, 0, "Failed to completed status");
2282
2283 /* Check for enqueue with submit again */
2284- ret = rte_dma_copy(test_dev_id, 0, (rte_iova_t)src, (rte_iova_t)dst,
2285+ ret = rte_dma_copy(test_dev_id, 0,
2286+ rte_malloc_virt2iova(src),
2287+ rte_malloc_virt2iova(dst),
2288 TEST_MEMCPY_SIZE, RTE_DMA_OP_FLAG_SUBMIT);
2289 RTE_TEST_ASSERT_EQUAL(ret, 1, "Failed to enqueue copy, %d", ret);
2290 rte_delay_us_sleep(TEST_WAIT_US_VAL);
2291diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
2292index 6cb4b06..767cf14 100644
2293--- a/app/test/test_eal_flags.c
2294+++ b/app/test/test_eal_flags.c
2295@@ -677,8 +677,8 @@ test_missing_c_flag(void)
2296
2297 if (rte_lcore_is_enabled(0) && rte_lcore_is_enabled(1) &&
2298 rte_lcore_is_enabled(2) && rte_lcore_is_enabled(3) &&
2299- rte_lcore_is_enabled(3) && rte_lcore_is_enabled(5) &&
2300- rte_lcore_is_enabled(4) && rte_lcore_is_enabled(7) &&
2301+ rte_lcore_is_enabled(4) && rte_lcore_is_enabled(5) &&
2302+ rte_lcore_is_enabled(6) && rte_lcore_is_enabled(7) &&
2303 launch_proc(argv29) != 0) {
2304 printf("Error - "
2305 "process did not run ok with valid corelist value\n");
2306diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
2307index 0c56744..e733df7 100644
2308--- a/app/test/test_event_crypto_adapter.c
2309+++ b/app/test/test_event_crypto_adapter.c
2310@@ -1154,21 +1154,17 @@ configure_cryptodev(void)
2311
2312 static inline void
2313 evdev_set_conf_values(struct rte_event_dev_config *dev_conf,
2314- struct rte_event_dev_info *info)
2315+ const struct rte_event_dev_info *info)
2316 {
2317- memset(dev_conf, 0, sizeof(struct rte_event_dev_config));
2318- dev_conf->dequeue_timeout_ns = info->min_dequeue_timeout_ns;
2319- dev_conf->nb_event_ports = NB_TEST_PORTS;
2320- dev_conf->nb_event_queues = NB_TEST_QUEUES;
2321- dev_conf->nb_event_queue_flows = info->max_event_queue_flows;
2322- dev_conf->nb_event_port_dequeue_depth =
2323- info->max_event_port_dequeue_depth;
2324- dev_conf->nb_event_port_enqueue_depth =
2325- info->max_event_port_enqueue_depth;
2326- dev_conf->nb_event_port_enqueue_depth =
2327- info->max_event_port_enqueue_depth;
2328- dev_conf->nb_events_limit =
2329- info->max_num_events;
2330+ *dev_conf = (struct rte_event_dev_config) {
2331+ .dequeue_timeout_ns = info->min_dequeue_timeout_ns,
2332+ .nb_event_ports = NB_TEST_PORTS,
2333+ .nb_event_queues = NB_TEST_QUEUES,
2334+ .nb_event_queue_flows = info->max_event_queue_flows,
2335+ .nb_event_port_dequeue_depth = info->max_event_port_dequeue_depth,
2336+ .nb_event_port_enqueue_depth = info->max_event_port_enqueue_depth,
2337+ .nb_events_limit = info->max_num_events,
2338+ };
2339 }
2340
2341 static int
2342diff --git a/app/test/test_event_dma_adapter.c b/app/test/test_event_dma_adapter.c
2343index 35b417b..de0d671 100644
2344--- a/app/test/test_event_dma_adapter.c
2345+++ b/app/test/test_event_dma_adapter.c
2346@@ -276,7 +276,10 @@ test_op_forward_mode(void)
2347 memset(&ev[i], 0, sizeof(struct rte_event));
2348 ev[i].event = 0;
2349 ev[i].event_type = RTE_EVENT_TYPE_DMADEV;
2350- ev[i].queue_id = TEST_DMA_EV_QUEUE_ID;
2351+ if (params.internal_port_op_fwd)
2352+ ev[i].queue_id = TEST_APP_EV_QUEUE_ID;
2353+ else
2354+ ev[i].queue_id = TEST_DMA_EV_QUEUE_ID;
2355 ev[i].sched_type = RTE_SCHED_TYPE_ATOMIC;
2356 ev[i].flow_id = 0xAABB;
2357 ev[i].event_ptr = op;
2358diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c
2359index 0233c87..9a60e34 100644
2360--- a/app/test/test_event_eth_rx_adapter.c
2361+++ b/app/test/test_event_eth_rx_adapter.c
2362@@ -230,7 +230,6 @@ testsuite_setup(void)
2363 }
2364
2365 struct rte_event_dev_config config = {
2366- .nb_event_queues = 1,
2367 .nb_event_ports = 1,
2368 };
2369
2370@@ -242,6 +241,7 @@ testsuite_setup(void)
2371 dev_info.max_event_port_enqueue_depth;
2372 config.nb_events_limit =
2373 dev_info.max_num_events;
2374+ config.nb_event_queues = dev_info.max_event_queues;
2375 err = rte_event_dev_configure(TEST_DEV_ID, &config);
2376 TEST_ASSERT(err == 0, "Event device initialization failed err %d\n",
2377 err);
2378diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c
2379index e4e234d..9a6c8f4 100644
2380--- a/app/test/test_eventdev.c
2381+++ b/app/test/test_eventdev.c
2382@@ -1189,6 +1189,7 @@ test_eventdev_profile_switch(void)
2383 ev.op = RTE_EVENT_OP_NEW;
2384 ev.flow_id = 0;
2385 ev.u64 = 0xBADF00D0;
2386+ ev.sched_type = RTE_SCHED_TYPE_PARALLEL;
2387 rc = rte_event_enqueue_burst(TEST_DEV_ID, 0, &ev, 1);
2388 TEST_ASSERT(rc == 1, "Failed to enqueue event");
2389 ev.queue_id = 1;
2390diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
2391index 4d54706..19b0647 100644
2392--- a/app/test/test_link_bonding.c
2393+++ b/app/test/test_link_bonding.c
2394@@ -792,7 +792,7 @@ test_set_primary_member(void)
2395 &read_mac_addr),
2396 "Failed to get mac address (port %d)",
2397 test_params->bonding_port_id);
2398- TEST_ASSERT_SUCCESS(memcmp(&read_mac_addr, &read_mac_addr,
2399+ TEST_ASSERT_SUCCESS(memcmp(expected_mac_addr, &read_mac_addr,
2400 sizeof(read_mac_addr)),
2401 "bonding port mac address not set to that of primary port\n");
2402
2403@@ -2246,54 +2246,48 @@ test_activebackup_rx_burst(void)
2404 virtual_ethdev_add_mbufs_to_rx_queue(test_params->member_port_ids[i],
2405 &gen_pkt_burst[0], burst_size);
2406
2407+ /* Expect burst if this was the active port, zero otherwise */
2408+ unsigned int rx_expect
2409+ = (test_params->member_port_ids[i] == primary_port) ? burst_size : 0;
2410+
2411 /* Call rx burst on bonding device */
2412- TEST_ASSERT_EQUAL(rte_eth_rx_burst(test_params->bonding_port_id, 0,
2413- &rx_pkt_burst[0], MAX_PKT_BURST), burst_size,
2414- "rte_eth_rx_burst failed");
2415+ unsigned int rx_count = rte_eth_rx_burst(test_params->bonding_port_id, 0,
2416+ &rx_pkt_burst[0], MAX_PKT_BURST);
2417+ TEST_ASSERT_EQUAL(rx_count, rx_expect,
2418+ "rte_eth_rx_burst (%u) not as expected (%u)",
2419+ rx_count, rx_expect);
2420
2421- if (test_params->member_port_ids[i] == primary_port) {
2422- /* Verify bonding device rx count */
2423- rte_eth_stats_get(test_params->bonding_port_id, &port_stats);
2424- TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size,
2425- "Bonding Port (%d) ipackets value (%u) not as expected (%d)",
2426+ /* Verify bonding device rx count */
2427+ rte_eth_stats_get(test_params->bonding_port_id, &port_stats);
2428+ TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect,
2429+ "Bonding Port (%d) ipackets value (%u) not as expected (%u)",
2430 test_params->bonding_port_id,
2431- (unsigned int)port_stats.ipackets, burst_size);
2432+ (unsigned int)port_stats.ipackets, rx_expect);
2433
2434- /* Verify bonding member devices rx count */
2435- for (j = 0; j < test_params->bonding_member_count; j++) {
2436- rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
2437- if (i == j) {
2438- TEST_ASSERT_EQUAL(port_stats.ipackets, (uint64_t)burst_size,
2439- "Member Port (%d) ipackets value (%u) not as "
2440- "expected (%d)",
2441- test_params->member_port_ids[i],
2442- (unsigned int)port_stats.ipackets,
2443- burst_size);
2444- } else {
2445- TEST_ASSERT_EQUAL(port_stats.ipackets, 0,
2446- "Member Port (%d) ipackets value (%u) not as "
2447- "expected (%d)\n",
2448- test_params->member_port_ids[i],
2449- (unsigned int)port_stats.ipackets, 0);
2450- }
2451- }
2452- } else {
2453- for (j = 0; j < test_params->bonding_member_count; j++) {
2454- rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
2455+ for (j = 0; j < test_params->bonding_member_count; j++) {
2456+ rte_eth_stats_get(test_params->member_port_ids[j], &port_stats);
2457+ if (i == j) {
2458+ TEST_ASSERT_EQUAL(port_stats.ipackets, rx_expect,
2459+ "Member Port (%d) ipackets (%u) not as expected (%d)",
2460+ test_params->member_port_ids[i],
2461+ (unsigned int)port_stats.ipackets, rx_expect);
2462+
2463+ /* reset member device stats */
2464+ rte_eth_stats_reset(test_params->member_port_ids[j]);
2465+ } else {
2466 TEST_ASSERT_EQUAL(port_stats.ipackets, 0,
2467- "Member Port (%d) ipackets value (%u) not as expected "
2468- "(%d)", test_params->member_port_ids[i],
2469- (unsigned int)port_stats.ipackets, 0);
2470+ "Member Port (%d) ipackets (%u) not as expected (%d)",
2471+ test_params->member_port_ids[i],
2472+ (unsigned int)port_stats.ipackets, 0);
2473 }
2474 }
2475
2476- /* free mbufs */
2477- for (i = 0; i < MAX_PKT_BURST; i++) {
2478- if (rx_pkt_burst[i] != NULL) {
2479- rte_pktmbuf_free(rx_pkt_burst[i]);
2480- rx_pkt_burst[i] = NULL;
2481- }
2482- }
2483+ /* extract packets queued to inactive member */
2484+ if (rx_count == 0)
2485+ rx_count = rte_eth_rx_burst(test_params->member_port_ids[i], 0,
2486+ rx_pkt_burst, MAX_PKT_BURST);
2487+ if (rx_count > 0)
2488+ rte_pktmbuf_free_bulk(rx_pkt_burst, rx_count);
2489
2490 /* reset bonding device stats */
2491 rte_eth_stats_reset(test_params->bonding_port_id);
2492diff --git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
2493index 3c9c824..2cb689b 100644
2494--- a/app/test/test_link_bonding_rssconf.c
2495+++ b/app/test/test_link_bonding_rssconf.c
2496@@ -616,7 +616,6 @@ test_setup(void)
2497 mac_addr.addr_bytes[5] = 0x10 + port->port_id;
2498 rte_eth_dev_default_mac_addr_set(port->port_id, &mac_addr);
2499
2500- rte_eth_dev_info_get(port->port_id, &port->dev_info);
2501 retval = rte_eth_dev_info_get(port->port_id, &port->dev_info);
2502 TEST_ASSERT((retval == 0),
2503 "Error during getting device (port %u) info: %s\n",
2504diff --git a/app/test/test_pcapng.c b/app/test/test_pcapng.c
2505index 89535ef..5cdde05 100644
2506--- a/app/test/test_pcapng.c
2507+++ b/app/test/test_pcapng.c
2508@@ -102,6 +102,14 @@ mbuf1_prepare(struct dummy_mbuf *dm, uint32_t plen)
2509 pkt.udp.dgram_len = rte_cpu_to_be_16(plen);
2510
2511 memcpy(rte_pktmbuf_mtod(dm->mb, void *), &pkt, sizeof(pkt));
2512+
2513+ /* Idea here is to create mbuf chain big enough that after mbuf deep copy they won't be
2514+ * compressed into single mbuf to properly test store of chained mbufs
2515+ */
2516+ dummy_mbuf_prep(&dm->mb[1], dm->buf[1], sizeof(dm->buf[1]), pkt_len);
2517+ dummy_mbuf_prep(&dm->mb[2], dm->buf[2], sizeof(dm->buf[2]), pkt_len);
2518+ rte_pktmbuf_chain(&dm->mb[0], &dm->mb[1]);
2519+ rte_pktmbuf_chain(&dm->mb[0], &dm->mb[2]);
2520 }
2521
2522 static int
2523@@ -117,7 +125,7 @@ test_setup(void)
2524
2525 /* Make a pool for cloned packets */
2526 mp = rte_pktmbuf_pool_create_by_ops("pcapng_test_pool",
2527- MAX_BURST, 0, 0,
2528+ MAX_BURST * 32, 0, 0,
2529 rte_pcapng_mbuf_size(pkt_len) + 128,
2530 SOCKET_ID_ANY, "ring_mp_sc");
2531 if (mp == NULL) {
2532@@ -155,7 +163,7 @@ fill_pcapng_file(rte_pcapng_t *pcapng, unsigned int num_packets)
2533 for (i = 0; i < burst_size; i++) {
2534 struct rte_mbuf *mc;
2535
2536- mc = rte_pcapng_copy(port_id, 0, orig, mp, pkt_len,
2537+ mc = rte_pcapng_copy(port_id, 0, orig, mp, rte_pktmbuf_pkt_len(orig),
2538 RTE_PCAPNG_DIRECTION_IN, NULL);
2539 if (mc == NULL) {
2540 fprintf(stderr, "Cannot copy packet\n");
2541diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
2542index 619b281..edbd344 100644
2543--- a/app/test/test_power_cpufreq.c
2544+++ b/app/test/test_power_cpufreq.c
2545@@ -9,6 +9,7 @@
2546 #include <string.h>
2547 #include <inttypes.h>
2548 #include <rte_cycles.h>
2549+#include <rte_lcore.h>
2550
2551 #include "test.h"
2552
2553@@ -46,9 +47,10 @@ test_power_caps(void)
2554
2555 static uint32_t total_freq_num;
2556 static uint32_t freqs[TEST_POWER_FREQS_NUM_MAX];
2557+static uint32_t cpu_id;
2558
2559 static int
2560-check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
2561+check_cur_freq(__rte_unused unsigned int lcore_id, uint32_t idx, bool turbo)
2562 {
2563 #define TEST_POWER_CONVERT_TO_DECIMAL 10
2564 #define MAX_LOOP 100
2565@@ -62,13 +64,13 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
2566 int i;
2567
2568 if (snprintf(fullpath, sizeof(fullpath),
2569- TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
2570+ TEST_POWER_SYSFILE_CPUINFO_FREQ, cpu_id) < 0) {
2571 return 0;
2572 }
2573 f = fopen(fullpath, "r");
2574 if (f == NULL) {
2575 if (snprintf(fullpath, sizeof(fullpath),
2576- TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
2577+ TEST_POWER_SYSFILE_SCALING_FREQ, cpu_id) < 0) {
2578 return 0;
2579 }
2580 f = fopen(fullpath, "r");
2581@@ -497,6 +499,19 @@ test_power_cpufreq(void)
2582 {
2583 int ret = -1;
2584 enum power_management_env env;
2585+ rte_cpuset_t lcore_cpus;
2586+
2587+ lcore_cpus = rte_lcore_cpuset(TEST_POWER_LCORE_ID);
2588+ if (CPU_COUNT(&lcore_cpus) != 1) {
2589+ printf("Power management doesn't support lcore %u mapping to %u CPUs\n",
2590+ TEST_POWER_LCORE_ID,
2591+ CPU_COUNT(&lcore_cpus));
2592+ return TEST_SKIPPED;
2593+ }
2594+ for (cpu_id = 0; cpu_id < CPU_SETSIZE; cpu_id++) {
2595+ if (CPU_ISSET(cpu_id, &lcore_cpus))
2596+ break;
2597+ }
2598
2599 /* Test initialisation of a valid lcore */
2600 ret = rte_power_init(TEST_POWER_LCORE_ID);
2601diff --git a/app/test/test_ring_stress_impl.h b/app/test/test_ring_stress_impl.h
2602index 62f046a..3730919 100644
2603--- a/app/test/test_ring_stress_impl.h
2604+++ b/app/test/test_ring_stress_impl.h
2605@@ -295,7 +295,7 @@ mt1_init(struct rte_ring **rng, void **data, uint32_t num)
2606 *data = elm;
2607
2608 /* alloc ring */
2609- nr = 2 * num;
2610+ nr = rte_align32pow2(2 * num);
2611 sz = rte_ring_get_memsize(nr);
2612 r = rte_zmalloc(NULL, sz, __alignof__(*r));
2613 if (r == NULL) {
2614diff --git a/app/test/test_security_inline_proto_vectors.h b/app/test/test_security_inline_proto_vectors.h
2615index 3ac7558..0b4093d 100644
2616--- a/app/test/test_security_inline_proto_vectors.h
2617+++ b/app/test/test_security_inline_proto_vectors.h
2618@@ -498,10 +498,12 @@ test_vector_payload_populate(struct ip_reassembly_test_packet *pkt,
2619 if (extra_data_sum) {
2620 proto = hdr->proto;
2621 p += sizeof(struct rte_ipv6_hdr);
2622- while (proto != IPPROTO_FRAGMENT &&
2623- (proto = rte_ipv6_get_next_ext(p, proto, &ext_len) >= 0))
2624+ while (proto != IPPROTO_FRAGMENT) {
2625+ proto = rte_ipv6_get_next_ext(p, proto, &ext_len);
2626+ if (proto < 0)
2627+ break;
2628 p += ext_len;
2629-
2630+ }
2631 /* Found fragment header, update the frag offset */
2632 if (proto == IPPROTO_FRAGMENT) {
2633 frag_ext = (struct rte_ipv6_fragment_ext *)p;
2634diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py
2635index 2f24388..f8bea5b 100644
2636--- a/buildtools/get-numa-count.py
2637+++ b/buildtools/get-numa-count.py
2638@@ -11,7 +11,7 @@ import re
2639 if os.name == 'posix':
2640 if os.path.isdir('/sys/devices/system/node'):
2641 numa_nodes = glob.glob('/sys/devices/system/node/node*')
2642- numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0]))
2643+ numa_nodes.sort(key=lambda l: int(re.findall(r'\d+', l)[0]))
2644 print(int(os.path.basename(numa_nodes[-1])[4:]) + 1)
2645 else:
2646 subprocess.run(['sysctl', '-n', 'vm.ndomains'], check=False)
2647diff --git a/buildtools/get-test-suites.py b/buildtools/get-test-suites.py
2648index c61f6a2..fd22d25 100644
2649--- a/buildtools/get-test-suites.py
2650+++ b/buildtools/get-test-suites.py
2651@@ -6,10 +6,10 @@ import sys
2652 import re
2653
2654 input_list = sys.argv[1:]
2655-test_def_regex = re.compile("REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)")
2656+test_def_regex = re.compile(r"REGISTER_([A-Z]+)_TEST\s*\(\s*([a-z0-9_]+)")
2657 test_suites = {}
2658 # track tests not in any test suite.
2659-non_suite_regex = re.compile("REGISTER_TEST_COMMAND\s*\(\s*([a-z0-9_]+)")
2660+non_suite_regex = re.compile(r"REGISTER_TEST_COMMAND\s*\(\s*([a-z0-9_]+)")
2661 non_suite_tests = []
2662
2663 def get_fast_test_params(test_name, ln):
2664diff --git a/config/meson.build b/config/meson.build
2665index 898b719..394d612 100644
2666--- a/config/meson.build
2667+++ b/config/meson.build
2668@@ -303,7 +303,7 @@ endif
2669 # enable extra warnings and disable any unwanted warnings
2670 # -Wall is added by default at warning level 1, and -Wextra
2671 # at warning level 2 (DPDK default)
2672-warning_flags = [
2673+global_cflags = [
2674 # additional warnings in alphabetical order
2675 '-Wcast-qual',
2676 '-Wdeprecated',
2677@@ -324,22 +324,25 @@ warning_flags = [
2678 '-Wno-address-of-packed-member',
2679 '-Wno-packed-not-aligned',
2680 '-Wno-missing-field-initializers',
2681+
2682+ # guarantee that all non-initialized parts of structure/union are zero
2683+ '-fzero-init-padding-bits=all',
2684 ]
2685 if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0')
2686 # FIXME: Bugzilla 396
2687- warning_flags += '-Wno-zero-length-bounds'
2688+ global_cflags += '-Wno-zero-length-bounds'
2689 endif
2690 if not dpdk_conf.get('RTE_ARCH_64')
2691 # for 32-bit, don't warn about casting a 32-bit pointer to 64-bit int - it's fine!!
2692- warning_flags += '-Wno-pointer-to-int-cast'
2693+ global_cflags += '-Wno-pointer-to-int-cast'
2694 endif
2695 if cc.get_id() == 'intel'
2696 warning_ids = [181, 188, 2203, 2279, 2557, 3179, 3656]
2697 foreach i:warning_ids
2698- warning_flags += '-diag-disable=@0@'.format(i)
2699+ global_cflags += '-diag-disable=@0@'.format(i)
2700 endforeach
2701 endif
2702-foreach arg: warning_flags
2703+foreach arg: global_cflags
2704 if cc.has_argument(arg)
2705 add_project_arguments(arg, language: 'c')
2706 endif
2707diff --git a/debian/changelog b/debian/changelog
2708index 7f1b84b..0fa6cbf 100644
2709--- a/debian/changelog
2710+++ b/debian/changelog
2711@@ -1,3 +1,11 @@
2712+dpdk (23.11.4-0ubuntu0.24.04.1) noble; urgency=medium
2713+
2714+ * Merge LTS stable release 23.11.4 (LP: #2067480)
2715+ - Full release notes are available at:
2716+ https://doc.dpdk.org/guides-23.11/rel_notes/release_23_11.html#id9
2717+
2718+ -- Arif Ali <arif.ali@canonical.com> Tue, 06 May 2025 06:56:35 +0000
2719+
2720 dpdk (23.11.2-0ubuntu0.24.04.1) noble; urgency=medium
2721
2722 * Merge LTS stable release 23.11.2 (LP: #2067480)
2723diff --git a/devtools/check-meson.py b/devtools/check-meson.py
2724index 4b23388..9a33d8b 100755
2725--- a/devtools/check-meson.py
2726+++ b/devtools/check-meson.py
2727@@ -51,7 +51,7 @@ def check_indentation(filename, contents):
2728 code, comments = split_code_comments(line)
2729 if not code.strip():
2730 continue
2731- if re.match('^ *\t', code):
2732+ if re.match(r'^ *\t', code):
2733 print(f'Error parsing {filename}:{lineno}, got some tabulation')
2734 if code.endswith('files('):
2735 if infiles:
2736diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
2737index 8a4a847..4690dd4 100755
2738--- a/devtools/git-log-fixes.sh
2739+++ b/devtools/git-log-fixes.sh
2740@@ -68,7 +68,7 @@ origin_version () # <origin_hash> ...
2741 {
2742 for origin in $* ; do
2743 # check hash is valid
2744- git rev-parse -q --verify $1 >&- || continue
2745+ git rev-parse -q --verify $origin >&- || continue
2746 # get version of this bug origin
2747 local origver=$(commit_version $origin)
2748 local roothashes="$(origin_filter $origin)"
2749diff --git a/doc/guides/nics/e1000em.rst b/doc/guides/nics/e1000em.rst
2750index 5e752a2..ed4f57e 100644
2751--- a/doc/guides/nics/e1000em.rst
2752+++ b/doc/guides/nics/e1000em.rst
2753@@ -153,3 +153,8 @@ The following are known limitations:
2754 #. Qemu e1000 only supports one interrupt source, so link and Rx interrupt should be exclusive.
2755
2756 #. Qemu e1000 does not support interrupt auto-clear, application should disable interrupt immediately when woken up.
2757+
2758+Secondary Process Support
2759+-------------------------
2760+
2761+Control plane operations are currently not supported in secondary processes.
2762diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
2763index cf9fabb..d5147c5 100644
2764--- a/doc/guides/nics/features.rst
2765+++ b/doc/guides/nics/features.rst
2766@@ -149,6 +149,7 @@ Queue start/stop
2767 ----------------
2768
2769 Supports starting/stopping a specific Rx/Tx queue of a port.
2770+This is required for use deferred start configuration option.
2771
2772 * **[implements] eth_dev_ops**: ``rx_queue_start``, ``rx_queue_stop``, ``tx_queue_start``,
2773 ``tx_queue_stop``.
2774@@ -716,14 +717,32 @@ Basic stats
2775 Support basic statistics such as: ipackets, opackets, ibytes, obytes,
2776 imissed, ierrors, oerrors, rx_nombuf.
2777
2778-And per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
2779-
2780 These apply to all drivers.
2781
2782 * **[implements] eth_dev_ops**: ``stats_get``, ``stats_reset``.
2783 * **[related] API**: ``rte_eth_stats_get``, ``rte_eth_stats_reset()``.
2784
2785
2786+.. _nic_features_stats_per_queue:
2787+
2788+Stats per queue
2789+---------------
2790+
2791+Supports per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
2792+Statistics only supplied for first ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` (16) queues.
2793+If driver does not support this feature the per queue stats will be zero.
2794+
2795+* **[implements] eth_dev_ops**: ``stats_get``, ``stats_reset``.
2796+* **[related] API**: ``rte_eth_stats_get``, ``rte_eth_stats_reset()``.
2797+
2798+May also support configuring per-queue stat counter mapping.
2799+Used by some drivers to workaround HW limitations.
2800+
2801+* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
2802+* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
2803+ ``rte_eth_dev_set_tx_queue_stats_mapping()``.
2804+
2805+
2806 .. _nic_features_extended_stats:
2807
2808 Extended stats
2809@@ -738,18 +757,6 @@ Supports Extended Statistics, changes from driver to driver.
2810 ``rte_eth_xstats_get_names_by_id()``, ``rte_eth_xstats_get_id_by_name()``.
2811
2812
2813-.. _nic_features_stats_per_queue:
2814-
2815-Stats per queue
2816----------------
2817-
2818-Supports configuring per-queue stat counter mapping.
2819-
2820-* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
2821-* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
2822- ``rte_eth_dev_set_tx_queue_stats_mapping()``.
2823-
2824-
2825 .. _nic_features_congestion_management:
2826
2827 Congestion management
2828diff --git a/doc/guides/nics/features/gve.ini b/doc/guides/nics/features/gve.ini
2829index 838edd4..b28aecf 100644
2830--- a/doc/guides/nics/features/gve.ini
2831+++ b/doc/guides/nics/features/gve.ini
2832@@ -6,6 +6,7 @@
2833 [Features]
2834 Speed capabilities = Y
2835 Link status = Y
2836+Queue start/stop = Y
2837 MTU update = Y
2838 TSO = Y
2839 RSS hash = Y
2840diff --git a/doc/guides/nics/features/mana.ini b/doc/guides/nics/features/mana.ini
2841index 42fd332..db555ff 100644
2842--- a/doc/guides/nics/features/mana.ini
2843+++ b/doc/guides/nics/features/mana.ini
2844@@ -8,7 +8,6 @@ Speed capabilities = P
2845 Link status = P
2846 Removal event = Y
2847 Rx interrupt = Y
2848-Queue start/stop = Y
2849 RSS hash = Y
2850 L3 checksum offload = Y
2851 L4 checksum offload = Y
2852diff --git a/doc/guides/nics/features/netvsc.ini b/doc/guides/nics/features/netvsc.ini
2853index de8c698..32df77a 100644
2854--- a/doc/guides/nics/features/netvsc.ini
2855+++ b/doc/guides/nics/features/netvsc.ini
2856@@ -7,7 +7,6 @@
2857 Speed capabilities = P
2858 Link status = Y
2859 Free Tx mbuf on demand = Y
2860-Queue start/stop = Y
2861 Scattered Rx = Y
2862 Promiscuous mode = Y
2863 Allmulticast mode = Y
2864diff --git a/doc/guides/nics/features/virtio.ini b/doc/guides/nics/features/virtio.ini
2865index a5eab49..f0a1a56 100644
2866--- a/doc/guides/nics/features/virtio.ini
2867+++ b/doc/guides/nics/features/virtio.ini
2868@@ -8,7 +8,6 @@ Speed capabilities = P
2869 Link status = Y
2870 Link status event = Y
2871 Rx interrupt = Y
2872-Queue start/stop = Y
2873 Scattered Rx = P
2874 Promiscuous mode = Y
2875 Allmulticast mode = Y
2876diff --git a/doc/guides/nics/features/vmxnet3.ini b/doc/guides/nics/features/vmxnet3.ini
2877index 971695f..749887d 100644
2878--- a/doc/guides/nics/features/vmxnet3.ini
2879+++ b/doc/guides/nics/features/vmxnet3.ini
2880@@ -7,7 +7,6 @@
2881 Speed capabilities = P
2882 Link status = Y
2883 Link status event = Y
2884-Queue start/stop = Y
2885 MTU update = Y
2886 LRO = Y
2887 TSO = Y
2888diff --git a/doc/guides/nics/igb.rst b/doc/guides/nics/igb.rst
2889index e3a91c3..3f7a415 100644
2890--- a/doc/guides/nics/igb.rst
2891+++ b/doc/guides/nics/igb.rst
2892@@ -31,3 +31,16 @@ Features of the IGB PMD are:
2893 * Checksum offload
2894 * TCP segmentation offload
2895 * Jumbo frames supported
2896+
2897+Secondary Process Support
2898+-------------------------
2899+
2900+IGB Physical Function Driver
2901+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2902+
2903+Control plane operations are currently not supported in secondary processes.
2904+
2905+IGB Virtual Function Driver
2906+~~~~~~~~~~~~~~~~~~~~~~~~~~~
2907+
2908+Control plane operations are currently not supported in secondary processes.
2909diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst
2910index c5af806..07a1b12 100644
2911--- a/doc/guides/nics/igc.rst
2912+++ b/doc/guides/nics/igc.rst
2913@@ -104,3 +104,8 @@ Add a rule to enable ipv4-udp RSS:
2914 .. code-block:: console
2915
2916 testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end / end
2917+
2918+Secondary Process Support
2919+-------------------------
2920+
2921+Control plane operations are currently not supported in secondary processes.
2922diff --git a/doc/guides/nics/ionic.rst b/doc/guides/nics/ionic.rst
2923index e0eb1b5..a991a2c 100644
2924--- a/doc/guides/nics/ionic.rst
2925+++ b/doc/guides/nics/ionic.rst
2926@@ -7,11 +7,19 @@ IONIC Driver
2927 The ionic driver provides support for AMD Pensando server adapters.
2928 It currently supports the below models:
2929
2930-- DSC-25 dual-port 25G Distributed Services Card `(pdf) <https://pensandoio.secure.force.com/DownloadFile?id=a0L4T000004IKurUAG>`__
2931-- DSC-100 dual-port 100G Distributed Services Card `(pdf) <https://pensandoio.secure.force.com/DownloadFile?id=a0L4T000004IKuwUAG>`__
2932-- DSC-200 dual-port 200G Distributed Services Card `(pdf) <https://www.amd.com/system/files/documents/pensando-dsc-200-product-brief.pdf>`__
2933-
2934-Please visit the AMD Pensando web site at https://www.amd.com/en/accelerators/pensando for more information.
2935+- DSC-25 dual-port 25G Distributed Services Card
2936+ `(pdf) <https://pensandoio.secure.force.com/DownloadFile?id=a0L4T000004IKurUAG>`__
2937+- DSC-100 dual-port 100G Distributed Services Card
2938+ `(pdf) <https://pensandoio.secure.force.com/DownloadFile?id=a0L4T000004IKuwUAG>`__
2939+- DSC2-200 dual-port 200G Distributed Services Card
2940+ `(pdf) <https://www.amd.com/content/dam/amd/en/documents/pensando-technical-docs/product-briefs/pensando-elba-product-brief.pdf>`__
2941+- DSC3-400 dual-port 400G Distributed Services Card
2942+ `(pdf) <https://www.amd.com/content/dam/amd/en/documents/pensando-technical-docs/product-briefs/pensando-dsc3-product-brief.pdf>`__
2943+
2944+Please visit the
2945+`AMD Pensando Networking
2946+<https://www.amd.com/en/products/accelerators/pensando.html>`_
2947+web site for more information.
2948
2949 Identifying the Adapter
2950 -----------------------
2951diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
2952index 14573b5..d54c20e 100644
2953--- a/doc/guides/nics/ixgbe.rst
2954+++ b/doc/guides/nics/ixgbe.rst
2955@@ -68,13 +68,11 @@ Ensure that the following pre-conditions are satisfied:
2956
2957 * (rxq->nb_rx_desc % rxq->rx_free_thresh) == 0
2958
2959-* rxq->nb_rx_desc < (IXGBE_MAX_RING_DESC - RTE_PMD_IXGBE_RX_MAX_BURST)
2960+* rxq->nb_rx_desc >= IXGBE_MIN_RING_DESC
2961
2962-These conditions are checked in the code.
2963+* rxq->nb_rx_desc <= IXGBE_MAX_RING_DESC
2964
2965-Scattered packets are not supported in this mode.
2966-If an incoming packet is greater than the maximum acceptable length of one "mbuf" data size (by default, the size is 2 KB),
2967-vPMD for RX would be disabled.
2968+These conditions are checked in the code.
2969
2970 By default, IXGBE_MAX_RING_DESC is set to 4096 and RTE_PMD_IXGBE_RX_MAX_BURST is set to 32.
2971
2972@@ -459,3 +457,17 @@ show bypass config
2973 Show the bypass configuration for a bypass enabled NIC using the lowest port on the NIC::
2974
2975 testpmd> show bypass config (port_id)
2976+
2977+
2978+Secondary Process Support
2979+-------------------------
2980+
2981+IXGBE Physical Function Driver
2982+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2983+
2984+Control plane operations are currently not supported in secondary processes.
2985+
2986+IXGBE Virtual Function Driver
2987+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2988+
2989+Control plane operations are currently not supported in secondary processes.
2990diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
2991index 2c59b24..d1c3284 100644
2992--- a/doc/guides/nics/mlx5.rst
2993+++ b/doc/guides/nics/mlx5.rst
2994@@ -1874,6 +1874,77 @@ directly but neither destroyed nor flushed.
2995 The application should re-create the flows as required after the port restart.
2996
2997
2998+Notes for flow counters
2999+-----------------------
3000+
3001+mlx5 PMD supports the ``COUNT`` flow action,
3002+which provides an ability to count packets (and bytes)
3003+matched against a given flow rule.
3004+This section describes the high level overview of
3005+how this support is implemented and limitations.
3006+
3007+HW steering flow engine
3008+~~~~~~~~~~~~~~~~~~~~~~~
3009+
3010+Flow counters are allocated from HW in bulks.
3011+A set of bulks forms a flow counter pool managed by PMD.
3012+When flow counters are queried from HW,
3013+each counter is identified by an offset in a given bulk.
3014+Querying HW flow counter requires sending a request to HW,
3015+which will request a read of counter values for given offsets.
3016+HW will asynchronously provide these values through a DMA write.
3017+
3018+In order to optimize HW to SW communication,
3019+these requests are handled in a separate counter service thread
3020+spawned by mlx5 PMD.
3021+This service thread will refresh the counter values stored in memory,
3022+in cycles, each spanning ``svc_cycle_time`` milliseconds.
3023+By default, ``svc_cycle_time`` is set to 500.
3024+When applications query the ``COUNT`` flow action,
3025+PMD returns the values stored in host memory.
3026+
3027+mlx5 PMD manages 3 global rings of allocated counter offsets:
3028+
3029+- ``free`` ring - Counters which were not used at all.
3030+- ``wait_reset`` ring - Counters which were used in some flow rules,
3031+ but were recently freed (flow rule was destroyed
3032+ or an indirect action was destroyed).
3033+ Since the count value might have changed
3034+ between the last counter service thread cycle and the moment it was freed,
3035+ the value in host memory might be stale.
3036+ During the next service thread cycle,
3037+ such counters will be moved to ``reuse`` ring.
3038+- ``reuse`` ring - Counters which were used at least once
3039+ and can be reused in new flow rules.
3040+
3041+When counters are assigned to a flow rule (or allocated to indirect action),
3042+the PMD first tries to fetch a counter from ``reuse`` ring.
3043+If it's empty, the PMD fetches a counter from ``free`` ring.
3044+
3045+The counter service thread works as follows:
3046+
3047+#. Record counters stored in ``wait_reset`` ring.
3048+#. Read values of all counters which were used at least once
3049+ or are currently in use.
3050+#. Move recorded counters from ``wait_reset`` to ``reuse`` ring.
3051+#. Sleep for ``(query time) - svc_cycle_time`` milliseconds
3052+#. Repeat.
3053+
3054+Because freeing a counter (by destroying a flow rule or destroying indirect action)
3055+does not immediately make it available for the application,
3056+the PMD might return:
3057+
3058+- ``ENOENT`` if no counter is available in ``free``, ``reuse``
3059+ or ``wait_reset`` rings.
3060+ No counter will be available until the application releases some of them.
3061+- ``EAGAIN`` if no counter is available in ``free`` and ``reuse`` rings,
3062+ but there are counters in ``wait_reset`` ring.
3063+ This means that after the next service thread cycle new counters will be available.
3064+
3065+The application has to be aware that flow rule create or indirect action create
3066+might need be retried.
3067+
3068+
3069 Notes for hairpin
3070 -----------------
3071
3072diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst
3073index 538e06a..4de4b68 100644
3074--- a/doc/guides/rel_notes/release_23_11.rst
3075+++ b/doc/guides/rel_notes/release_23_11.rst
3076@@ -1410,3 +1410,592 @@ Tested Platforms
3077 * Failed to add vdev when launch dpdk-pdump with vdev secondary process
3078
3079 Fix available in upstream.
3080+
3081+23.11.3 Release Notes
3082+---------------------
3083+
3084+
3085+23.11.3 Fixes
3086+~~~~~~~~~~~~~
3087+
3088+* 23.11.3-rc1
3089+* Revert "test/bonding: fix loop on members"
3090+* app/dumpcap: fix handling of jumbo frames
3091+* app/dumpcap: remove unused struct array
3092+* app/procinfo: fix leak on exit
3093+* app/testpmd: avoid potential outside of array reference
3094+* app/testpmd: fix aged flow destroy
3095+* app/testpmd: remove flex item init command leftover
3096+* app/testpmd: remove redundant policy action condition
3097+* app/testpmd: remove unnecessary cast
3098+* baseband/acc: fix access to deallocated mem
3099+* baseband/acc: fix ring memory allocation
3100+* baseband/acc: fix soft output bypass RM
3101+* baseband/la12xx: fix use after free in modem config
3102+* bpf: fix free function mismatch if convert fails
3103+* build: remove version check on compiler links function
3104+* bus/dpaa: fix PFDRs leaks due to FQRNIs
3105+* bus/dpaa: fix VSP for 1G fm1-mac9 and 10
3106+* bus/dpaa: fix lock condition during error handling
3107+* bus/dpaa: fix the fman details status
3108+* bus/fslmc: fix Coverity warnings in QBMAN
3109+* bus/vdev: revert fix devargs in secondary process
3110+* common/cnxk: fix CPT HW word size for outbound SA
3111+* common/cnxk: fix IRQ reconfiguration
3112+* common/cnxk: fix MAC address change with active VF
3113+* common/cnxk: fix base log level
3114+* common/cnxk: fix build on Ubuntu 24.04
3115+* common/cnxk: fix double free of flow aging resources
3116+* common/cnxk: fix inline CTX write
3117+* common/dpaax/caamflib: enable fallthrough warnings
3118+* common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog
3119+* common/idpf: fix AVX-512 pointer copy on 32-bit
3120+* common/idpf: fix use after free in mailbox init
3121+* common/mlx5: fix error CQE handling for 128 bytes CQE
3122+* common/mlx5: fix misalignment
3123+* common/qat: fix use after free in device probe
3124+* crypto/bcmfs: fix free function mismatch
3125+* crypto/dpaa2_sec: fix memory leak
3126+* crypto/openssl: fix 3DES-CTR with big endian CPUs
3127+* crypto/openssl: fix potential string overflow
3128+* crypto/qat: fix ECDSA session handling
3129+* crypto/qat: fix modexp/inv length
3130+* crypto/scheduler: fix session size computation
3131+* dev: fix callback lookup when unregistering device
3132+* devtools: fix check of multiple commits fixed at once
3133+* dma/idxd: fix free function mismatch in device probe
3134+* dmadev: fix potential null pointer access
3135+* doc: correct definition of stats per queue feature
3136+* drivers: remove redundant newline from logs
3137+* eal/unix: optimize thread creation
3138+* eal/x86: fix 32-bit write combining store
3139+* ethdev: fix overflow in descriptor count
3140+* ethdev: verify queue ID in Tx done cleanup
3141+* event/cnxk: fix OOP handling in event mode
3142+* event/cnxk: fix Rx timestamp handling
3143+* event/cnxk: fix free function mismatch in port config
3144+* event/octeontx: fix possible integer overflow
3145+* eventdev: fix possible array underflow/overflow
3146+* examples/eventdev: fix queue crash with generic pipeline
3147+* examples/ipsec-secgw: fix dequeue count from cryptodev
3148+* examples/l2fwd-event: fix spinlock handling
3149+* examples/l3fwd-power: fix options parsing overflow
3150+* examples/l3fwd: fix read beyond boundaries
3151+* examples/ntb: check info query return
3152+* examples/vhost: fix free function mismatch
3153+* fib6: add runtime checks in AVX512 lookup
3154+* fib: fix AVX512 lookup
3155+* hash: fix thash LFSR initialization
3156+* log: remove per line log helper
3157+* member: fix choice of bucket for displacement
3158+* ml/cnxk: fix handling of TVM model I/O
3159+* net/bnx2x: fix always true expression
3160+* net/bnx2x: fix duplicate branch
3161+* net/bnx2x: fix possible infinite loop at startup
3162+* net/bnx2x: remove dead conditional
3163+* net/bnxt/tf_core: fix TCAM manager data corruption
3164+* net/bnxt/tf_core: fix Thor TF EM key size check
3165+* net/bnxt/tf_core: fix WC TCAM multi-slice delete
3166+* net/bnxt/tf_core: fix slice count in case of HA entry move
3167+* net/bnxt: fix TCP and UDP checksum flags
3168+* net/bnxt: fix bad action offset in Tx BD
3169+* net/bnxt: fix reading SFF-8436 SFP EEPROMs
3170+* net/cnxk: fix OOP handling for inbound packets
3171+* net/cnxk: fix Rx offloads to handle timestamp
3172+* net/cnxk: fix Rx timestamp handling for VF
3173+* net/cnxk: fix build on Ubuntu 24.04
3174+* net/cnxk: fix use after free in mempool create
3175+* net/cpfl: add checks for flow action types
3176+* net/cpfl: fix forwarding to physical port
3177+* net/cpfl: fix invalid free in JSON parser
3178+* net/cpfl: fix parsing protocol ID mask field
3179+* net/dpaa2: fix memory corruption in TM
3180+* net/dpaa2: remove unnecessary check for null before free
3181+* net/dpaa: fix reallocate mbuf handling
3182+* net/dpaa: fix typecasting channel ID
3183+* net/e1000/base: fix fallthrough in switch
3184+* net/e1000: fix link status crash in secondary process
3185+* net/e1000: fix use after free in filter flush
3186+* net/ena: revert redefining memcpy
3187+* net/gve/base: fix build with Fedora Rawhide
3188+* net/gve: add IO memory barriers before reading descriptors
3189+* net/gve: always attempt Rx refill on DQ
3190+* net/gve: fix Tx for chained mbuf
3191+* net/gve: fix mbuf allocation memory leak for DQ Rx
3192+* net/gve: fix queue setup and stop
3193+* net/gve: fix refill logic causing memory corruption
3194+* net/hns3: fix dump counter of registers
3195+* net/hns3: fix error code for repeatedly create counter
3196+* net/hns3: fix fully use hardware flow director table
3197+* net/hns3: register VLAN flow match mode parameter
3198+* net/hns3: remove ROH devices
3199+* net/hns3: remove some basic address dump
3200+* net/hns3: restrict tunnel flow rule to one header
3201+* net/hns3: verify reset type from firmware
3202+* net/i40e/base: add missing X710TL device check
3203+* net/i40e/base: fix DDP loading with reserved track ID
3204+* net/i40e/base: fix blinking X722 with X557 PHY
3205+* net/i40e/base: fix loop bounds
3206+* net/i40e/base: fix misleading debug logs and comments
3207+* net/i40e/base: fix repeated register dumps
3208+* net/i40e/base: fix setting flags in init function
3209+* net/i40e/base: fix unchecked return value
3210+* net/i40e: check register read for outer VLAN
3211+* net/i40e: fix AVX-512 pointer copy on 32-bit
3212+* net/iavf: add segment-length check to Tx prep
3213+* net/iavf: delay VF reset command
3214+* net/iavf: fix AVX-512 pointer copy on 32-bit
3215+* net/iavf: fix crash when link is unstable
3216+* net/iavf: preserve MAC address with i40e PF Linux driver
3217+* net/ice/base: add bounds check
3218+* net/ice/base: fix VLAN replay after reset
3219+* net/ice/base: fix iteration of TLVs in Preserved Fields Area
3220+* net/ice/base: fix link speed for 200G
3221+* net/ice: detect stopping a flow director queue twice
3222+* net/ice: fix AVX-512 pointer copy on 32-bit
3223+* net/igc: fix Rx buffers when timestamping enabled
3224+* net/ionic: fix build with Fedora Rawhide
3225+* net/ixgbe/base: fix unchecked return value
3226+* net/ixgbe: fix link status delay on FreeBSD
3227+* net/mana: support rdma-core via pkg-config
3228+* net/memif: fix buffer overflow in zero copy Rx
3229+* net/mlx5/hws: fix allocation of STCs
3230+* net/mlx5/hws: fix flex item as tunnel header
3231+* net/mlx5/hws: fix range definer error recovery
3232+* net/mlx5: add flex item query for tunnel mode
3233+* net/mlx5: fix GRE flow item translation for root table
3234+* net/mlx5: fix Rx queue control management
3235+* net/mlx5: fix Rx queue reference count in flushing flows
3236+* net/mlx5: fix SQ flow item size
3237+* net/mlx5: fix SWS meter state initialization
3238+* net/mlx5: fix Tx tracing to use single clock source
3239+* net/mlx5: fix counter query loop getting stuck
3240+* net/mlx5: fix default RSS flows creation order
3241+* net/mlx5: fix flex item header length field translation
3242+* net/mlx5: fix flex item tunnel mode
3243+* net/mlx5: fix indirect list flow action callback invocation
3244+* net/mlx5: fix memory leak in metering
3245+* net/mlx5: fix miniCQEs number calculation
3246+* net/mlx5: fix next protocol validation after flex item
3247+* net/mlx5: fix non full word sample fields in flex item
3248+* net/mlx5: fix non-template flow action validation
3249+* net/mlx5: fix number of supported flex parsers
3250+* net/mlx5: fix real time counter reading from PCI BAR
3251+* net/mlx5: fix reported Rx/Tx descriptor limits
3252+* net/mlx5: fix shared Rx queue control release
3253+* net/mlx5: fix shared queue port number in vector Rx
3254+* net/mlx5: fix trace script for multiple burst completion
3255+* net/mlx5: workaround list management of Rx queue control
3256+* net/mvneta: fix possible out-of-bounds write
3257+* net/netvsc: fix using Tx queue higher than Rx queues
3258+* net/netvsc: force Tx VLAN offload on 801.2Q packet
3259+* net/nfb: fix use after free
3260+* net/nfp: do not set IPv6 flag in transport mode
3261+* net/nfp: fix double free in flow destroy
3262+* net/nfp: fix link change return value
3263+* net/nfp: fix pause frame setting check
3264+* net/nfp: fix representor port link status update
3265+* net/nfp: fix type declaration of some variables
3266+* net/nfp: notify flower firmware about PF speed
3267+* net/ngbe: fix driver load bit to inform firmware
3268+* net/ngbe: fix interrupt lost in legacy or MSI mode
3269+* net/ngbe: reconfigure more MAC Rx registers
3270+* net/ngbe: restrict configuration of VLAN strip offload
3271+* net/pcap: fix blocking Rx
3272+* net/pcap: set live interface as non-blocking
3273+* net/sfc: fix use after free in debug logs
3274+* net/tap: avoid memcpy with null argument
3275+* net/tap: restrict maximum number of MP FDs
3276+* net/txgbe: fix SWFW mbox
3277+* net/txgbe: fix VF-PF mbox interrupt
3278+* net/txgbe: fix a mass of interrupts
3279+* net/txgbe: fix driver load bit to inform firmware
3280+* net/txgbe: remove outer UDP checksum capability
3281+* net/virtio-user: reset used index counter
3282+* net/virtio: fix Rx checksum calculation
3283+* net/vmxnet3: fix crash after configuration failure
3284+* net/vmxnet3: fix potential out of bounds stats access
3285+* net/vmxnet3: support larger MTU with version 6
3286+* pcapng: avoid potential unaligned data
3287+* pcapng: fix handling of chained mbufs
3288+* power: enable CPPC
3289+* power: fix log message when checking lcore ID
3290+* power: fix mapped lcore ID
3291+* raw/ifpga/base: fix use after free
3292+* raw/ifpga: fix free function mismatch in interrupt config
3293+* rcu: fix implicit conversion in bit shift
3294+* test/bonding: fix MAC address comparison
3295+* test/bonding: fix loop on members
3296+* test/bonding: remove redundant info query
3297+* test/crypto: fix synchronous API calls
3298+* test/eal: fix lcore check
3299+* test/eal: fix loop coverage for alignment macros
3300+* test/event: avoid duplicate initialization
3301+* test/event: fix schedule type
3302+* test/event: fix target event queue
3303+* test/security: fix IPv6 extension loop
3304+* vdpa/nfp: fix hardware initialization
3305+* vdpa/nfp: fix reconfiguration
3306+* vdpa: update used flags in used ring relay
3307+* version: 23.11.3-rc1
3308+* vhost: fix deadlock in Rx async path
3309+* vhost: fix offset while mapping log base address
3310+* vhost: restrict set max queue pair API to VDUSE
3311+
3312+23.11.3 Validation
3313+~~~~~~~~~~~~~~~~~~
3314+
3315+* RedHat Testing:
3316+
3317+ * Test scenarios:
3318+
3319+ * VM with device assignment(PF) throughput testing(1G hugepage size)
3320+ * VM with device assignment(PF) throughput testing(2M hugepage size)
3321+ * VM with device assignment(VF) throughput testing
3322+ * PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
3323+ * PVP vhost-user 2Q throughput testing
3324+ * PVP vhost-user 1Q - cross numa node throughput testing
3325+ * VM with vhost-user 2 queues throughput testing
3326+ * vhost-user reconnect with dpdk-client, qemu-server(qemu reconnect)
3327+ * vhost-user reconnect with dpdk-client, qemu-server(ovs reconnect)
3328+ * PVP reconnect with dpdk-client, qemu-server
3329+ * PVP 1Q live migration testing
3330+ * PVP 1Q cross numa node live migration testing
3331+ * VM with ovs+dpdk+vhost-user 1Q live migration testing
3332+ * VM with ovs+dpdk+vhost-user 1Q live migration testing (2M)
3333+ * VM with ovs+dpdk+vhost-user 2Q live migration testing
3334+ * VM with ovs+dpdk+vhost-user 4Q live migration testing
3335+ * Host PF + DPDK testing
3336+ * Host VF + DPDK testing
3337+
3338+ * Test Versions and device:
3339+
3340+ * RHEL 9.4
3341+ * qemu-kvm-8.2.0
3342+ * kernel 5.14
3343+ * libvirt 10.0
3344+ * openvswitch 3.1
3345+ * X540-AT2 NIC(ixgbe, 10G)
3346+
3347+* Nvidia(R) Testing:
3348+
3349+ * Test scenarios:
3350+
3351+ * Send and receive multiple types of traffic.
3352+ * testpmd xstats counter test.
3353+ * testpmd timestamp test.
3354+ * Changing/checking link status through testpmd.
3355+ * rte_flow tests (https://doc.dpdk.org/guides/nics/mlx5.html#supported-hardware-offloads)
3356+ * RSS tests.
3357+ * VLAN filtering, stripping, and insertion tests.
3358+ * Checksum and TSO tests.
3359+ * ptype tests.
3360+ * link_status_interrupt example application tests.
3361+ * l3fwd-power example application tests.
3362+ * Multi-process example applications tests.
3363+ * Hardware LRO tests.
3364+ * Buffer Split tests.
3365+ * Tx scheduling tests.
3366+
3367+ * Test platform:
3368+
3369+ * NIC: ConnectX-6 Dx / OS: Ubuntu 22.04 / Driver: MLNX_OFED_LINUX-24.10-1.1.4.0 / Firmware: 22.43.2026
3370+ * NIC: ConnectX-7 / OS: Ubuntu 22.04 / Driver: MLNX_OFED_LINUX-24.10-1.1.4.0 / Firmware: 28.43.2026
3371+ * DPU: BlueField-2 / DOCA SW version: 2.9.1 / Firmware: 24.43.2026
3372+
3373+ * OS/driver combinations:
3374+
3375+ * Debian 12 with MLNX_OFED_LINUX-24.10-1.1.4.0.
3376+ * Ubuntu 22.04 with MLNX_OFED_LINUX-24.10-1.1.4.0.
3377+ * Ubuntu 24.04 with MLNX_OFED_LINUX-24.10-1.1.4.0.
3378+ * Ubuntu 24.04 with rdma-core v50.0.
3379+ * Fedora 40 with rdma-core v48.0.
3380+ * Fedora 42 (Rawhide) with rdma-core v51.0.
3381+ * OpenSUSE Leap 15.6 with rdma-core v49.1.
3382+
3383+* Intel(R) Testing:
3384+
3385+ * Basic NIC testing
3386+
3387+ * Build & CFLAG compile: cover the build test combination with latest GCC/Clang version and the popular OS revision such as Ubuntu24.10, Ubuntu22.04, Fedora40, RHEL8.10, RHEL9.4, FreeBSD14.1, SUSE15, openEuler22.03-SP2, OpenAnolis8.9 etc.
3388+ * PF(i40e, ixgbe): test scenarios including RTE_FLOW/TSO/Jumboframe/checksum offload/VLAN/VXLAN, etc.
3389+ * VF(i40e, ixgbe): test scenarios including VF-RTE_FLOW/TSO/Jumboframe/checksum offload/VLAN/VXLAN, etc.
3390+ * PF/VF(ice): test scenarios including Switch features/Package Management/Flow Director/Advanced Tx/Advanced RSS/ACL/DCF/Flexible Descriptor, etc.
3391+ * Intel NIC single core/NIC performance: test scenarios including PF/VF single core performance test, etc.
3392+ * IPsec: test scenarios including ipsec/ipsec-gw/ipsec library basic test - QAT&SW/FIB library, etc.
3393+
3394+ * Basic cryptodev and virtio testing
3395+
3396+ * Virtio: both function and performance test are covered. Such as PVP/Virtio_loopback/virtio-user loopback/virtio-net VM2VM perf testing/VMAWARE ESXI 8.0, etc.
3397+ * Cryptodev Function test: Cryptodev API testing/CompressDev ISA-L/QAT/ZLIB PMD Testing/FIPS, etc.
3398+ * Cryptodev Performance test: test scenarios including Throughput Performance/Cryptodev Latency, etc.
3399+
3400+23.11.3 Known Issues
3401+~~~~~~~~~~~~~~~~~~~~
3402+
3403+* Start dpdk-pdump in VM with virtio-0.95 protocol failed
3404+
3405+ Fix available in upstream.
3406+
3407+* Failed to add vdev when launch dpdk-pdump with vdev secondary process
3408+
3409+ Fix available in upstream.
3410+
3411+23.11.4 Release Notes
3412+---------------------
3413+
3414+
3415+23.11.4 Fixes
3416+~~~~~~~~~~~~~
3417+
3418+* app/testpmd: avoid crash in DCB config
3419+* app/testpmd: fix out-of-bound reference in offload config
3420+* app/testpmd: show all DCB priority TC map
3421+* build: force GCC 15 to initialize padding bits
3422+* buildtools: fix some Python regex syntax warnings
3423+* bus/pci: fix registered device name
3424+* ci: build with MSVC in GHA
3425+* common/cnxk: fix DPI mailbox structure
3426+* common/cnxk: fix atomic load in batch ops
3427+* common/cnxk: fix inbound IPsec SA setup
3428+* common/cnxk: fix null check
3429+* common/idpf: fix void function returning a value
3430+* crypto/cnxk: fix asymmetric operation status code
3431+* crypto/cnxk: fix build with GCC 15
3432+* crypto/dpaa2_sec: fix bitmask truncation
3433+* crypto/dpaa_sec: fix bitmask truncation
3434+* crypto/openssl: fix CMAC auth context update
3435+* crypto/openssl: validate incorrect RSA signature
3436+* crypto/qat: fix SM3 state size
3437+* crypto/virtio: fix data queues iteration
3438+* crypto/virtio: fix redundant queue free
3439+* doc: fix feature flags for queue start/stop
3440+* doc: update ionic driver guide
3441+* eal/linux: fix memseg length in legacy mem init
3442+* eal/linux: remove useless assignments
3443+* eal/x86: fix some intrinsics header include for Windows
3444+* eal: fix devargs layers parsing out of bounds
3445+* eal: fix undetected NUMA nodes
3446+* ethdev: fix functions available in new device event
3447+* event/dpaa: fix bitmask truncation
3448+* eventdev: fix format string data type in log messages
3449+* examples/ipsec-secgw: fix IV length in CTR 192/256
3450+* examples/ipsec-secgw: fix cryptodev and eventdev IDs
3451+* examples/l3fwd: fix socket ID check
3452+* examples/ptpclient: fix message parsing
3453+* examples/vhost_crypto: fix user callbacks
3454+* fix ptp
3455+* gro: fix unprocessed IPv4 packets
3456+* mempool: fix errno in empty create
3457+* net/af_packet: fix socket close on device stop
3458+* net/bnxt: fix crash when representor is re-attached
3459+* net/bnxt: fix indication of allocation
3460+* net/bonding: fix dedicated queue setup
3461+* net/cnxk: fix NIX send header L3 type
3462+* net/cpfl: fix representor parsing log
3463+* net/dpaa2: fix bitmask truncation
3464+* net/dpaa: fix bitmask truncation
3465+* net/e1000/base: correct mPHY access logic
3466+* net/e1000/base: fix MAC address hash bit shift
3467+* net/e1000/base: fix NVM data type in bit shift
3468+* net/e1000/base: fix bitwise operation type
3469+* net/e1000/base: fix data type in MAC hash
3470+* net/e1000/base: fix iterator type
3471+* net/e1000/base: fix reset for 82580
3472+* net/e1000/base: fix semaphore timeout value
3473+* net/e1000/base: fix unchecked return
3474+* net/e1000/base: fix uninitialized variable
3475+* net/e1000/base: skip management check for 82575
3476+* net/e1000: fix crashes in secondary processes
3477+* net/enetfec: remove useless assignment
3478+* net/gve: allocate Rx QPL pages using malloc
3479+* net/hinic: fix flow type bitmask overflow
3480+* net/hns3: fix copper port initialization
3481+* net/hns3: fix mbuf freeing in simple Tx path
3482+* net/hns3: fix reset timeout
3483+* net/hns3: remove PVID info dump for VF
3484+* net/hns3: rename RAS module
3485+* net/iavf: check interrupt registration failure
3486+* net/iavf: fix crash on app exit on FreeBSD
3487+* net/iavf: fix mbuf release in Arm multi-process
3488+* net/iavf: remove reset of Tx prepare function pointer
3489+* net/ice: fix dropped packets when using VRRP
3490+* net/ice: fix flow engines order
3491+* net/ice: fix flows handling
3492+* net/ice: fix memory leak in scalar Rx
3493+* net/igc/base: fix LTR for i225
3494+* net/igc/base: fix MAC address hash bit shift
3495+* net/igc/base: fix NVM data type in bit shift
3496+* net/igc/base: fix bitwise operation type
3497+* net/igc/base: fix data type in MAC hash
3498+* net/igc/base: fix deadlock when writing i225 register
3499+* net/igc/base: fix infinite loop
3500+* net/igc/base: fix iterator type
3501+* net/igc/base: fix semaphore timeout value
3502+* net/igc/base: fix typo in LTR calculation
3503+* net/igc/base: fix unused value
3504+* net/igc/base: increase PHY power up delay
3505+* net/igc/base: reset loop variable
3506+* net/intel: fix build with icx
3507+* net/intel: fix void functions returning a value
3508+* net/ixgbe: fix crashes in secondary processes
3509+* net/ixgbe: fix minimum Rx/Tx descriptors
3510+* net/mana: fix multi-process tracking
3511+* net/mlx5/hws: fix DV FT type convert
3512+* net/mlx5/hws: fix GTP flags matching
3513+* net/mlx5/hws: fix crash using represented port without ID
3514+* net/mlx5/hws: fix fragmented packet type matching
3515+* net/mlx5: adjust actions per rule limitation
3516+* net/mlx5: fix GRE flow match with SWS
3517+* net/mlx5: fix GRE matching on root table
3518+* net/mlx5: fix IPIP tunnel verification
3519+* net/mlx5: fix LACP packet handling in isolated mode
3520+* net/mlx5: fix Netlink socket leak
3521+* net/mlx5: fix actions translation error overwrite
3522+* net/mlx5: fix flush of non-template flow rules
3523+* net/mlx5: fix hairpin queue release
3524+* net/mlx5: fix hardware packet type translation
3525+* net/mlx5: fix leak in HWS flow counter action
3526+* net/mlx5: fix polling CQEs
3527+* net/netvsc: remove device if its net devices removed
3528+* net/netvsc: scan all net devices under the PCI device
3529+* net/nfp: fix VF link speed problem
3530+* net/nfp: fix misuse of function return values
3531+* net/nfp: fix multi-PF control flag
3532+* net/nfp: fix multiple PFs check from NSP
3533+* net/octeon_ep: remove useless assignment
3534+* net/qede: fix debug messages array
3535+* net/qede: fix nested loops
3536+* net/sfc: remove unnecessary assignment
3537+* net/thunderx/base: fix build with GCC 15
3538+* net/txgbe: remove useless condition for SW-FW sync
3539+* pdump: clear statistics when enabled
3540+* raw/cnxk_gpio: fix file descriptor leak
3541+* stack: fix pop in C11 implementation
3542+* test/bbdev: update FFT test vectors
3543+* test/bonding: fix active backup receive test
3544+* test/crypto: fix AES-ECB test lengths
3545+* test/crypto: fix backport merge
3546+* test/crypto: fix callback setup tests
3547+* test/crypto: fix check for OOP header data
3548+* test/crypto: remove unused variable
3549+* test/dma: fix pointers in IOVA as PA mode
3550+* test/event: fix number of queues in eventdev conf
3551+* test/ring: fix init with custom number of lcores
3552+* update version to v23.11.4
3553+* use Python raw string notation
3554+* version: 23.11.4-rc4
3555+* version: 23.11.4-rc5
3556+* vhost/crypto: skip fetch before vring init
3557+* vhost: add null callback checks
3558+* vhost: check GSO size validity
3559+* vhost: check descriptor chains length
3560+* vhost: clear ring addresses when getting vring base
3561+* vhost: fix log when setting max queue num
3562+* vhost: reset packets count when not ready
3563+
3564+23.11.4 Validation
3565+~~~~~~~~~~~~~~~~~~
3566+
3567+* RedHat Testing:
3568+
3569+ * Test scenarios:
3570+
3571+ * VM with device assignment(PF) throughput testing(1G hugepage size)
3572+ * VM with device assignment(PF) throughput testing(2M hugepage size)
3573+ * VM with device assignment(VF) throughput testing
3574+ * PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
3575+ * PVP vhost-user 2Q throughput testing
3576+ * PVP vhost-user 1Q - cross numa node throughput testing
3577+ * VM with vhost-user 2 queues throughput testing
3578+ * vhost-user reconnect with dpdk-client, qemu-server(qemu reconnect)
3579+ * vhost-user reconnect with dpdk-client, qemu-server(ovs reconnect)
3580+ * PVP reconnect with dpdk-client, qemu-server
3581+ * PVP 1Q live migration testing
3582+ * PVP 1Q cross numa node live migration testing
3583+ * VM with ovs+dpdk+vhost-user 1Q live migration testing
3584+ * VM with ovs+dpdk+vhost-user 1Q live migration testing (2M)
3585+ * VM with ovs+dpdk+vhost-user 2Q live migration testing
3586+ * VM with ovs+dpdk+vhost-user 4Q live migration testing
3587+ * Host PF + DPDK testing
3588+ * Host VF + DPDK testing
3589+
3590+ * Test Versions and device:
3591+
3592+ * RHEL 9.4
3593+ * qemu-kvm-8.2.0
3594+ * kernel 5.14
3595+ * libvirt 10.0
3596+ * openvswitch 3.3
3597+ * X540-AT2 NIC(ixgbe, 10G)
3598+
3599+* Nvidia(R) Testing:
3600+
3601+ * Test scenarios:
3602+
3603+ * Send and receive multiple types of traffic.
3604+ * testpmd xstats counter test.
3605+ * testpmd timestamp test.
3606+ * Changing/checking link status through testpmd.
3607+ * rte_flow tests (https://doc.dpdk.org/guides/nics/mlx5.html#supported-hardware-offloads)
3608+ * RSS tests.
3609+ * VLAN filtering, stripping, and insertion tests.
3610+ * Checksum and TSO tests.
3611+ * ptype tests.
3612+ * link_status_interrupt example application tests.
3613+ * l3fwd-power example application tests.
3614+ * Multi-process example applications tests.
3615+ * Hardware LRO tests.
3616+ * Buffer Split tests.
3617+ * Tx scheduling tests.
3618+
3619+ * Test platform:
3620+
3621+ * NIC: ConnectX-6 Dx / OS: Ubuntu 22.04 / Driver: MLNX_OFED_LINUX-24.10-2.1.8.0 / Firmware: 22.43.2566
3622+ * DPU: BlueField-2 / DOCA SW version: 2.10.0 / Firmware: 24.44.1036
3623+
3624+ * OS/driver combinations:
3625+
3626+ * Ubuntu 24.04 with MLNX_OFED_LINUX-24.10-2.1.8.0.
3627+ * Ubuntu 24.04 with rdma-core master (324c42e).
3628+ * Ubuntu 24.04 with rdma-core v50.0.
3629+ * Fedora 41 with rdma-core v51.0.
3630+ * Fedora 43 (Rawhide) with rdma-core v56.0.
3631+ * OpenSUSE Leap 15.6 with rdma-core v49.1.
3632+ * Windows Server 2022 with Clang 16.0.6.
3633+
3634+* Intel(R) Testing:
3635+
3636+ * Basic NIC testing
3637+
3638+ * Build & CFLAG compile: cover the build test combination with latest GCC/Clang version and the popular OS revision such as Ubuntu24.10, Ubuntu22.04.1, Fedora41, RHEL9.4, RHEL9.5, RHEL10.0 beta, FreeBSD14.2, SUSE15.6, AzureLinux3.0, OpenAnolis8.9 etc.
3639+ * i40E-(XXV710, X722) PF/VF: test scenarios including basic/RTE_FLOW/TSO/Jumboframe/checksum offload/mac_filter/VLAN/VXLAN/RSS, etc.
3640+ * IXGBE-(82599) PF/VF: test scenarios including basic/RTE_FLOW/TSO/Jumboframe/checksum offload/mac_filter/VLAN/VXLAN/RSS, etc.
3641+ * ICE-(E810, E2100) PF/VF: test scenarios including basic/Switch/Package Management/Flow Director/Advanced Tx/Advanced RSS/ACL/DCF/Flexible Descriptor, etc.
3642+ * IPsec: test scenarios including ipsec/ipsec-gw/ipsec library basic test - QAT&SW/FIB library, etc.
3643+ * Virtio: both function and performance test are covered. Such as PVP/Virtio_loopback/virtio-user loopback/virtio-net VM2VM perf testing/VMAWARE ESXI 8.0, etc.
3644+ * Cryptodev: test scenarios including Cryptodev API testing/CompressDev ISA-L/QAT/ZLIB PMD Testing/FIPS, etc.
3645+ * DLB: test scenarios including DLB2.0 and DLB2.5
3646+ * Other: test scenarios including AF_XDP, Power, CBDMA, DSA
3647+
3648+ * Basic cryptodev and virtio testing
3649+
3650+ * Virtio: both function and performance test are covered. Such as PVP/Virtio_loopback/virtio-user loopback/virtio-net VM2VM perf testing/VMAWARE ESXI 8.0, etc.
3651+ * Cryptodev Function test: Cryptodev API testing/CompressDev ISA-L/QAT/ZLIB PMD Testing/FIPS, etc.
3652+ * Cryptodev Performance test: test scenarios including Throughput Performance/Cryptodev Latency, etc.
3653+
3654+ * Performance test
3655+
3656+ * Throughput Performance
3657+ * Cryptodev Latency
3658+ * PF/VF NIC single core
3659+ * XXV710/E810 NIC Performance
3660+
3661+23.11.4 Known Issues
3662+~~~~~~~~~~~~~~~~~~~~
3663+
3664+* Start dpdk-pdump in VM with virtio-0.95 protocol failed
3665+
3666+ Fix available in upstream.
3667+
3668+* compilation failed with gcc 15.0.1
3669diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
3670index 6752c25..13f7ec4 100644
3671--- a/drivers/baseband/acc/acc_common.h
3672+++ b/drivers/baseband/acc/acc_common.h
3673@@ -787,7 +787,7 @@ alloc_sw_rings_min_mem(struct rte_bbdev *dev, struct acc_device *d,
3674 sw_rings_base, ACC_SIZE_64MBYTE);
3675 next_64mb_align_addr_iova = sw_rings_base_iova +
3676 next_64mb_align_offset;
3677- sw_ring_iova_end_addr = sw_rings_base_iova + dev_sw_ring_size;
3678+ sw_ring_iova_end_addr = sw_rings_base_iova + dev_sw_ring_size - 1;
3679
3680 /* Check if the end of the sw ring memory block is before the
3681 * start of next 64MB aligned mem address
3682diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
3683index 292537e..3e135c4 100644
3684--- a/drivers/baseband/acc/rte_acc100_pmd.c
3685+++ b/drivers/baseband/acc/rte_acc100_pmd.c
3686@@ -230,7 +230,7 @@ fetch_acc100_config(struct rte_bbdev *dev)
3687 }
3688
3689 rte_bbdev_log_debug(
3690- "%s Config LLR SIGN IN/OUT %s %s QG %u %u %u %u AQ %u %u %u %u Len %u %u %u %u\n",
3691+ "%s Config LLR SIGN IN/OUT %s %s QG %u %u %u %u AQ %u %u %u %u Len %u %u %u %u",
3692 (d->pf_device) ? "PF" : "VF",
3693 (acc_conf->input_pos_llr_1_bit) ? "POS" : "NEG",
3694 (acc_conf->output_pos_llr_1_bit) ? "POS" : "NEG",
3695@@ -838,51 +838,15 @@ free_q:
3696 return ret;
3697 }
3698
3699-static inline void
3700-acc100_print_op(struct rte_bbdev_dec_op *op, enum rte_bbdev_op_type op_type,
3701- uint16_t index)
3702-{
3703- if (op == NULL)
3704- return;
3705- if (op_type == RTE_BBDEV_OP_LDPC_DEC)
3706- rte_bbdev_log(DEBUG,
3707- " Op 5GUL %d %d %d %d %d %d %d %d %d %d %d %d",
3708- index,
3709- op->ldpc_dec.basegraph, op->ldpc_dec.z_c,
3710- op->ldpc_dec.n_cb, op->ldpc_dec.q_m,
3711- op->ldpc_dec.n_filler, op->ldpc_dec.cb_params.e,
3712- op->ldpc_dec.op_flags, op->ldpc_dec.rv_index,
3713- op->ldpc_dec.iter_max, op->ldpc_dec.iter_count,
3714- op->ldpc_dec.harq_combined_input.length
3715- );
3716- else if (op_type == RTE_BBDEV_OP_LDPC_ENC) {
3717- struct rte_bbdev_enc_op *op_dl = (struct rte_bbdev_enc_op *) op;
3718- rte_bbdev_log(DEBUG,
3719- " Op 5GDL %d %d %d %d %d %d %d %d %d",
3720- index,
3721- op_dl->ldpc_enc.basegraph, op_dl->ldpc_enc.z_c,
3722- op_dl->ldpc_enc.n_cb, op_dl->ldpc_enc.q_m,
3723- op_dl->ldpc_enc.n_filler, op_dl->ldpc_enc.cb_params.e,
3724- op_dl->ldpc_enc.op_flags, op_dl->ldpc_enc.rv_index
3725- );
3726- }
3727-}
3728-
3729 static int
3730 acc100_queue_stop(struct rte_bbdev *dev, uint16_t queue_id)
3731 {
3732 struct acc_queue *q;
3733- struct rte_bbdev_dec_op *op;
3734- uint16_t i;
3735
3736 q = dev->data->queues[queue_id].queue_private;
3737 rte_bbdev_log(INFO, "Queue Stop %d H/T/D %d %d %x OpType %d",
3738 queue_id, q->sw_ring_head, q->sw_ring_tail,
3739 q->sw_ring_depth, q->op_type);
3740- for (i = 0; i < q->sw_ring_depth; ++i) {
3741- op = (q->ring_addr + i)->req.op_addr;
3742- acc100_print_op(op, q->op_type, i);
3743- }
3744 /* ignore all operations in flight and clear counters */
3745 q->sw_ring_tail = q->sw_ring_head;
3746 q->aq_enqueued = 0;
3747@@ -1229,7 +1193,7 @@ acc100_fcw_ld_fill(struct rte_bbdev_dec_op *op, struct acc_fcw_ld *fcw,
3748 harq_in_length = RTE_ALIGN_FLOOR(harq_in_length, ACC100_HARQ_ALIGN_COMP);
3749
3750 if ((harq_layout[harq_index].offset > 0) && harq_prun) {
3751- rte_bbdev_log_debug("HARQ IN offset unexpected for now\n");
3752+ rte_bbdev_log_debug("HARQ IN offset unexpected for now");
3753 fcw->hcin_size0 = harq_layout[harq_index].size0;
3754 fcw->hcin_offset = harq_layout[harq_index].offset;
3755 fcw->hcin_size1 = harq_in_length - harq_layout[harq_index].offset;
3756@@ -2890,7 +2854,7 @@ harq_loopback(struct acc_queue *q, struct rte_bbdev_dec_op *op,
3757 uint32_t harq_index;
3758
3759 if (harq_in_length == 0) {
3760- rte_bbdev_log(ERR, "Loopback of invalid null size\n");
3761+ rte_bbdev_log(ERR, "Loopback of invalid null size");
3762 return -EINVAL;
3763 }
3764
3765@@ -2928,7 +2892,7 @@ harq_loopback(struct acc_queue *q, struct rte_bbdev_dec_op *op,
3766 fcw->hcin_en = 1;
3767 fcw->hcout_en = 1;
3768
3769- rte_bbdev_log(DEBUG, "Loopback IN %d Index %d offset %d length %d %d\n",
3770+ rte_bbdev_log(DEBUG, "Loopback IN %d Index %d offset %d length %d %d",
3771 ddr_mem_in, harq_index,
3772 harq_layout[harq_index].offset, harq_in_length,
3773 harq_dma_length_in);
3774@@ -2944,7 +2908,7 @@ harq_loopback(struct acc_queue *q, struct rte_bbdev_dec_op *op,
3775 fcw->hcin_size0 = harq_in_length;
3776 }
3777 harq_layout[harq_index].val = 0;
3778- rte_bbdev_log(DEBUG, "Loopback FCW Config %d %d %d\n",
3779+ rte_bbdev_log(DEBUG, "Loopback FCW Config %d %d %d",
3780 fcw->hcin_size0, fcw->hcin_offset, fcw->hcin_size1);
3781 fcw->hcout_size0 = harq_in_length;
3782 fcw->hcin_decomp_mode = h_comp;
3783@@ -3691,7 +3655,7 @@ acc100_enqueue_ldpc_dec_cb(struct rte_bbdev_queue_data *q_data,
3784
3785 if (i > 0)
3786 same_op = cmp_ldpc_dec_op(&ops[i-1]);
3787- rte_bbdev_log(INFO, "Op %d %d %d %d %d %d %d %d %d %d %d %d\n",
3788+ rte_bbdev_log(INFO, "Op %d %d %d %d %d %d %d %d %d %d %d %d",
3789 i, ops[i]->ldpc_dec.op_flags, ops[i]->ldpc_dec.rv_index,
3790 ops[i]->ldpc_dec.iter_max, ops[i]->ldpc_dec.iter_count,
3791 ops[i]->ldpc_dec.basegraph, ops[i]->ldpc_dec.z_c,
3792@@ -3808,7 +3772,7 @@ dequeue_enc_one_op_cb(struct acc_queue *q, struct rte_bbdev_enc_op **ref_op,
3793 return -1;
3794
3795 rsp.val = atom_desc.rsp.val;
3796- rte_bbdev_log_debug("Resp. desc %p: %x num %d\n", desc, rsp.val, desc->req.numCBs);
3797+ rte_bbdev_log_debug("Resp. desc %p: %x num %d", desc, rsp.val, desc->req.numCBs);
3798
3799 /* Dequeue */
3800 op = desc->req.op_addr;
3801@@ -3885,7 +3849,7 @@ dequeue_enc_one_op_tb(struct acc_queue *q, struct rte_bbdev_enc_op **ref_op,
3802 atom_desc.atom_hdr = __atomic_load_n((uint64_t *)desc,
3803 __ATOMIC_RELAXED);
3804 rsp.val = atom_desc.rsp.val;
3805- rte_bbdev_log_debug("Resp. desc %p: %x descs %d cbs %d\n",
3806+ rte_bbdev_log_debug("Resp. desc %p: %x descs %d cbs %d",
3807 desc, rsp.val, descs_in_tb, desc->req.numCBs);
3808
3809 op->status |= ((rsp.dma_err) ? (1 << RTE_BBDEV_DRV_ERROR) : 0);
3810@@ -3981,7 +3945,7 @@ dequeue_ldpc_dec_one_op_cb(struct rte_bbdev_queue_data *q_data,
3811 return -1;
3812
3813 rsp.val = atom_desc.rsp.val;
3814- rte_bbdev_log_debug("Resp. desc %p: %x\n", desc, rsp.val);
3815+ rte_bbdev_log_debug("Resp. desc %p: %x", desc, rsp.val);
3816
3817 /* Dequeue */
3818 op = desc->req.op_addr;
3819@@ -4060,7 +4024,7 @@ dequeue_dec_one_op_tb(struct acc_queue *q, struct rte_bbdev_dec_op **ref_op,
3820 atom_desc.atom_hdr = __atomic_load_n((uint64_t *)desc,
3821 __ATOMIC_RELAXED);
3822 rsp.val = atom_desc.rsp.val;
3823- rte_bbdev_log_debug("Resp. desc %p: %x r %d c %d\n",
3824+ rte_bbdev_log_debug("Resp. desc %p: %x r %d c %d",
3825 desc, rsp.val, cb_idx, cbs_in_tb);
3826
3827 op->status |= ((rsp.input_err) ? (1 << RTE_BBDEV_DATA_ERROR) : 0);
3828@@ -4797,7 +4761,7 @@ acc100_configure(const char *dev_name, struct rte_acc_conf *conf)
3829 }
3830
3831 if (aram_address > ACC100_WORDS_IN_ARAM_SIZE) {
3832- rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d\n",
3833+ rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d",
3834 aram_address, ACC100_WORDS_IN_ARAM_SIZE);
3835 return -EINVAL;
3836 }
3837diff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c
3838index 686e086..4979bb8 100644
3839--- a/drivers/baseband/acc/rte_vrb_pmd.c
3840+++ b/drivers/baseband/acc/rte_vrb_pmd.c
3841@@ -348,7 +348,7 @@ fetch_acc_config(struct rte_bbdev *dev)
3842 }
3843
3844 rte_bbdev_log_debug(
3845- "%s Config LLR SIGN IN/OUT %s %s QG %u %u %u %u %u %u AQ %u %u %u %u %u %u Len %u %u %u %u %u %u\n",
3846+ "%s Config LLR SIGN IN/OUT %s %s QG %u %u %u %u %u %u AQ %u %u %u %u %u %u Len %u %u %u %u %u %u",
3847 (d->pf_device) ? "PF" : "VF",
3848 (acc_conf->input_pos_llr_1_bit) ? "POS" : "NEG",
3849 (acc_conf->output_pos_llr_1_bit) ? "POS" : "NEG",
3850@@ -464,7 +464,7 @@ vrb_dev_interrupt_handler(void *cb_arg)
3851 }
3852 } else {
3853 rte_bbdev_log_debug(
3854- "VRB VF Interrupt received, Info Ring data: 0x%x\n",
3855+ "VRB VF Interrupt received, Info Ring data: 0x%x",
3856 ring_data->val);
3857 switch (int_nb) {
3858 case ACC_VF_INT_DMA_DL_DESC_IRQ:
3859@@ -698,7 +698,7 @@ vrb_intr_enable(struct rte_bbdev *dev)
3860
3861 if (d->device_variant == VRB1_VARIANT) {
3862 /* On VRB1: cannot enable MSI/IR to avoid potential back-pressure corner case. */
3863- rte_bbdev_log(ERR, "VRB1 (%s) doesn't support any MSI/MSI-X interrupt\n",
3864+ rte_bbdev_log(ERR, "VRB1 (%s) doesn't support any MSI/MSI-X interrupt",
3865 dev->data->name);
3866 return -ENOTSUP;
3867 }
3868@@ -800,7 +800,7 @@ vrb_intr_enable(struct rte_bbdev *dev)
3869 return 0;
3870 }
3871
3872- rte_bbdev_log(ERR, "Device (%s) supports only VFIO MSI/MSI-X interrupts\n",
3873+ rte_bbdev_log(ERR, "Device (%s) supports only VFIO MSI/MSI-X interrupts",
3874 dev->data->name);
3875 return -ENOTSUP;
3876 }
3877@@ -1023,7 +1023,7 @@ vrb_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
3878 d->queue_offset(d->pf_device, q->vf_id, q->qgrp_id, q->aq_id));
3879
3880 rte_bbdev_log_debug(
3881- "Setup dev%u q%u: qgrp_id=%u, vf_id=%u, aq_id=%u, aq_depth=%u, mmio_reg_enqueue=%p base %p\n",
3882+ "Setup dev%u q%u: qgrp_id=%u, vf_id=%u, aq_id=%u, aq_depth=%u, mmio_reg_enqueue=%p base %p",
3883 dev->data->dev_id, queue_id, q->qgrp_id, q->vf_id,
3884 q->aq_id, q->aq_depth, q->mmio_reg_enqueue,
3885 d->mmio_base);
3886@@ -1047,58 +1047,16 @@ free_q:
3887 return ret;
3888 }
3889
3890-static inline void
3891-vrb_print_op(struct rte_bbdev_dec_op *op, enum rte_bbdev_op_type op_type,
3892- uint16_t index)
3893-{
3894- if (op == NULL)
3895- return;
3896- if (op_type == RTE_BBDEV_OP_LDPC_DEC)
3897- rte_bbdev_log(INFO,
3898- " Op 5GUL %d %d %d %d %d %d %d %d %d %d %d %d",
3899- index,
3900- op->ldpc_dec.basegraph, op->ldpc_dec.z_c,
3901- op->ldpc_dec.n_cb, op->ldpc_dec.q_m,
3902- op->ldpc_dec.n_filler, op->ldpc_dec.cb_params.e,
3903- op->ldpc_dec.op_flags, op->ldpc_dec.rv_index,
3904- op->ldpc_dec.iter_max, op->ldpc_dec.iter_count,
3905- op->ldpc_dec.harq_combined_input.length
3906- );
3907- else if (op_type == RTE_BBDEV_OP_LDPC_ENC) {
3908- struct rte_bbdev_enc_op *op_dl = (struct rte_bbdev_enc_op *) op;
3909- rte_bbdev_log(INFO,
3910- " Op 5GDL %d %d %d %d %d %d %d %d %d",
3911- index,
3912- op_dl->ldpc_enc.basegraph, op_dl->ldpc_enc.z_c,
3913- op_dl->ldpc_enc.n_cb, op_dl->ldpc_enc.q_m,
3914- op_dl->ldpc_enc.n_filler, op_dl->ldpc_enc.cb_params.e,
3915- op_dl->ldpc_enc.op_flags, op_dl->ldpc_enc.rv_index
3916- );
3917- } else if (op_type == RTE_BBDEV_OP_MLDTS) {
3918- struct rte_bbdev_mldts_op *op_mldts = (struct rte_bbdev_mldts_op *) op;
3919- rte_bbdev_log(INFO, " Op MLD %d RBs %d NL %d Rp %d %d %x\n",
3920- index,
3921- op_mldts->mldts.num_rbs, op_mldts->mldts.num_layers,
3922- op_mldts->mldts.r_rep,
3923- op_mldts->mldts.c_rep, op_mldts->mldts.op_flags);
3924- }
3925-}
3926-
3927 /* Stop queue and clear counters. */
3928 static int
3929 vrb_queue_stop(struct rte_bbdev *dev, uint16_t queue_id)
3930 {
3931 struct acc_queue *q;
3932- struct rte_bbdev_dec_op *op;
3933- uint16_t i;
3934+
3935 q = dev->data->queues[queue_id].queue_private;
3936 rte_bbdev_log(INFO, "Queue Stop %d H/T/D %d %d %x OpType %d",
3937 queue_id, q->sw_ring_head, q->sw_ring_tail,
3938 q->sw_ring_depth, q->op_type);
3939- for (i = 0; i < q->sw_ring_depth; ++i) {
3940- op = (q->ring_addr + i)->req.op_addr;
3941- vrb_print_op(op, q->op_type, i);
3942- }
3943 /* ignore all operations in flight and clear counters */
3944 q->sw_ring_tail = q->sw_ring_head;
3945 q->aq_enqueued = 0;
3946@@ -1312,7 +1270,6 @@ vrb_dev_info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)
3947 RTE_BBDEV_LDPC_HARQ_4BIT_COMPRESSION |
3948 RTE_BBDEV_LDPC_LLR_COMPRESSION |
3949 RTE_BBDEV_LDPC_SOFT_OUT_ENABLE |
3950- RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS |
3951 RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS |
3952 RTE_BBDEV_LDPC_DEC_INTERRUPTS,
3953 .llr_size = 8,
3954@@ -1626,18 +1583,18 @@ vrb_fcw_ld_fill(struct rte_bbdev_dec_op *op, struct acc_fcw_ld *fcw,
3955 fcw->so_en = check_bit(op->ldpc_dec.op_flags, RTE_BBDEV_LDPC_SOFT_OUT_ENABLE);
3956 fcw->so_bypass_intlv = check_bit(op->ldpc_dec.op_flags,
3957 RTE_BBDEV_LDPC_SOFT_OUT_DEINTERLEAVER_BYPASS);
3958- fcw->so_bypass_rm = check_bit(op->ldpc_dec.op_flags,
3959- RTE_BBDEV_LDPC_SOFT_OUT_RM_BYPASS);
3960+ fcw->so_bypass_rm = 0;
3961 fcw->minsum_offset = 1;
3962 fcw->dec_llrclip = 2;
3963 }
3964
3965 /*
3966- * These are all implicitly set
3967+ * These are all implicitly set:
3968 * fcw->synd_post = 0;
3969 * fcw->dec_convllr = 0;
3970 * fcw->hcout_convllr = 0;
3971 * fcw->hcout_size1 = 0;
3972+ * fcw->so_it = 0;
3973 * fcw->hcout_offset = 0;
3974 * fcw->negstop_th = 0;
3975 * fcw->negstop_it = 0;
3976@@ -2492,7 +2449,7 @@ vrb_enqueue_ldpc_dec_one_op_cb(struct acc_queue *q, struct rte_bbdev_dec_op *op,
3977 hq_output = op->ldpc_dec.harq_combined_output.data;
3978 hq_len = op->ldpc_dec.harq_combined_output.length;
3979 if (unlikely(!mbuf_append(hq_output_head, hq_output, hq_len))) {
3980- rte_bbdev_log(ERR, "HARQ output mbuf issue %d %d\n",
3981+ rte_bbdev_log(ERR, "HARQ output mbuf issue %d %d",
3982 hq_output->buf_len,
3983 hq_len);
3984 return -1;
3985@@ -2985,7 +2942,7 @@ vrb_enqueue_ldpc_dec_cb(struct rte_bbdev_queue_data *q_data,
3986 break;
3987 }
3988 avail -= 1;
3989- rte_bbdev_log(INFO, "Op %d %d %d %d %d %d %d %d %d %d %d %d\n",
3990+ rte_bbdev_log(INFO, "Op %d %d %d %d %d %d %d %d %d %d %d %d",
3991 i, ops[i]->ldpc_dec.op_flags, ops[i]->ldpc_dec.rv_index,
3992 ops[i]->ldpc_dec.iter_max, ops[i]->ldpc_dec.iter_count,
3993 ops[i]->ldpc_dec.basegraph, ops[i]->ldpc_dec.z_c,
3994@@ -3319,7 +3276,7 @@ vrb_dequeue_ldpc_dec_one_op_cb(struct rte_bbdev_queue_data *q_data,
3995 return -1;
3996
3997 rsp.val = atom_desc.rsp.val;
3998- rte_bbdev_log_debug("Resp. desc %p: %x %x %x\n", desc, rsp.val, desc->rsp.add_info_0,
3999+ rte_bbdev_log_debug("Resp. desc %p: %x %x %x", desc, rsp.val, desc->rsp.add_info_0,
4000 desc->rsp.add_info_1);
4001
4002 /* Dequeue. */
4003@@ -3440,7 +3397,7 @@ vrb_dequeue_dec_one_op_tb(struct acc_queue *q, struct rte_bbdev_dec_op **ref_op,
4004 }
4005
4006 if (check_bit(op->ldpc_dec.op_flags, RTE_BBDEV_LDPC_CRC_TYPE_24A_CHECK)) {
4007- rte_bbdev_log_debug("TB-CRC Check %x\n", tb_crc_check);
4008+ rte_bbdev_log_debug("TB-CRC Check %x", tb_crc_check);
4009 if (tb_crc_check > 0)
4010 op->status |= 1 << RTE_BBDEV_CRC_ERROR;
4011 }
4012@@ -3985,7 +3942,7 @@ vrb2_check_mld_r_constraint(struct rte_bbdev_mldts_op *op) {
4013 layer_idx = RTE_MIN(op->mldts.num_layers - VRB2_MLD_MIN_LAYER,
4014 VRB2_MLD_MAX_LAYER - VRB2_MLD_MIN_LAYER);
4015 rrep_idx = RTE_MIN(op->mldts.r_rep, VRB2_MLD_MAX_RREP);
4016- rte_bbdev_log_debug("RB %d index %d %d max %d\n", op->mldts.num_rbs, layer_idx, rrep_idx,
4017+ rte_bbdev_log_debug("RB %d index %d %d max %d", op->mldts.num_rbs, layer_idx, rrep_idx,
4018 max_rb[layer_idx][rrep_idx]);
4019
4020 return (op->mldts.num_rbs <= max_rb[layer_idx][rrep_idx]);
4021@@ -4650,7 +4607,7 @@ vrb1_configure(const char *dev_name, struct rte_acc_conf *conf)
4022 }
4023
4024 if (aram_address > VRB1_WORDS_IN_ARAM_SIZE) {
4025- rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d\n",
4026+ rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d",
4027 aram_address, VRB1_WORDS_IN_ARAM_SIZE);
4028 return -EINVAL;
4029 }
4030@@ -5020,7 +4977,7 @@ vrb2_configure(const char *dev_name, struct rte_acc_conf *conf)
4031 }
4032 }
4033 if (aram_address > VRB2_WORDS_IN_ARAM_SIZE) {
4034- rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d\n",
4035+ rte_bbdev_log(ERR, "ARAM Configuration not fitting %d %d",
4036 aram_address, VRB2_WORDS_IN_ARAM_SIZE);
4037 return -EINVAL;
4038 }
4039diff --git a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
4040index 6b0644f..d60cd3a 100644
4041--- a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
4042+++ b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c
4043@@ -1498,14 +1498,14 @@ fpga_mutex_acquisition(struct fpga_queue *q)
4044 do {
4045 if (cnt > 0)
4046 usleep(FPGA_TIMEOUT_CHECK_INTERVAL);
4047- rte_bbdev_log_debug("Acquiring Mutex for %x\n",
4048+ rte_bbdev_log_debug("Acquiring Mutex for %x",
4049 q->ddr_mutex_uuid);
4050 fpga_reg_write_32(q->d->mmio_base,
4051 FPGA_5GNR_FEC_MUTEX,
4052 mutex_ctrl);
4053 mutex_read = fpga_reg_read_32(q->d->mmio_base,
4054 FPGA_5GNR_FEC_MUTEX);
4055- rte_bbdev_log_debug("Mutex %x cnt %d owner %x\n",
4056+ rte_bbdev_log_debug("Mutex %x cnt %d owner %x",
4057 mutex_read, cnt, q->ddr_mutex_uuid);
4058 cnt++;
4059 } while ((mutex_read >> 16) != q->ddr_mutex_uuid);
4060@@ -1546,7 +1546,7 @@ fpga_harq_write_loopback(struct fpga_queue *q,
4061 FPGA_5GNR_FEC_HARQ_BUF_SIZE_REGS);
4062 if (reg_32 < harq_in_length) {
4063 left_length = reg_32;
4064- rte_bbdev_log(ERR, "HARQ in length > HARQ buffer size\n");
4065+ rte_bbdev_log(ERR, "HARQ in length > HARQ buffer size");
4066 }
4067
4068 input = (uint64_t *)rte_pktmbuf_mtod_offset(harq_input,
4069@@ -1609,18 +1609,18 @@ fpga_harq_read_loopback(struct fpga_queue *q,
4070 FPGA_5GNR_FEC_HARQ_BUF_SIZE_REGS);
4071 if (reg < harq_in_length) {
4072 harq_in_length = reg;
4073- rte_bbdev_log(ERR, "HARQ in length > HARQ buffer size\n");
4074+ rte_bbdev_log(ERR, "HARQ in length > HARQ buffer size");
4075 }
4076
4077 if (!mbuf_append(harq_output, harq_output, harq_in_length)) {
4078- rte_bbdev_log(ERR, "HARQ output buffer warning %d %d\n",
4079+ rte_bbdev_log(ERR, "HARQ output buffer warning %d %d",
4080 harq_output->buf_len -
4081 rte_pktmbuf_headroom(harq_output),
4082 harq_in_length);
4083 harq_in_length = harq_output->buf_len -
4084 rte_pktmbuf_headroom(harq_output);
4085 if (!mbuf_append(harq_output, harq_output, harq_in_length)) {
4086- rte_bbdev_log(ERR, "HARQ output buffer issue %d %d\n",
4087+ rte_bbdev_log(ERR, "HARQ output buffer issue %d %d",
4088 harq_output->buf_len, harq_in_length);
4089 return -1;
4090 }
4091@@ -1642,7 +1642,7 @@ fpga_harq_read_loopback(struct fpga_queue *q,
4092 FPGA_5GNR_FEC_DDR4_RD_RDY_REGS);
4093 if (reg == FPGA_DDR_OVERFLOW) {
4094 rte_bbdev_log(ERR,
4095- "Read address is overflow!\n");
4096+ "Read address is overflow!");
4097 return -1;
4098 }
4099 }
4100diff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c
4101index 1a56e73..2432cdf 100644
4102--- a/drivers/baseband/la12xx/bbdev_la12xx.c
4103+++ b/drivers/baseband/la12xx/bbdev_la12xx.c
4104@@ -201,7 +201,7 @@ la12xx_e200_queue_setup(struct rte_bbdev *dev,
4105 q_priv->la12xx_core_id = LA12XX_LDPC_DEC_CORE;
4106 break;
4107 default:
4108- rte_bbdev_log(ERR, "Unsupported op type\n");
4109+ rte_bbdev_log(ERR, "Unsupported op type");
4110 return -1;
4111 }
4112
4113@@ -269,7 +269,7 @@ la12xx_e200_queue_setup(struct rte_bbdev *dev,
4114 ch->feca_blk_id = rte_cpu_to_be_32(priv->num_ldpc_dec_queues++);
4115 break;
4116 default:
4117- rte_bbdev_log(ERR, "Not supported op type\n");
4118+ rte_bbdev_log(ERR, "Not supported op type");
4119 return -1;
4120 }
4121 ch->op_type = rte_cpu_to_be_32(q_priv->op_type);
4122@@ -789,6 +789,7 @@ setup_la12xx_dev(struct rte_bbdev *dev)
4123 ipc_priv->hugepg_start.size = hp->len;
4124
4125 rte_free(hp);
4126+ hp = NULL;
4127 }
4128
4129 dev_ipc = open_ipc_dev(priv->modem_id);
4130diff --git a/drivers/baseband/turbo_sw/bbdev_turbo_software.c b/drivers/baseband/turbo_sw/bbdev_turbo_software.c
4131index 8ddc7ff..a66dcd8 100644
4132--- a/drivers/baseband/turbo_sw/bbdev_turbo_software.c
4133+++ b/drivers/baseband/turbo_sw/bbdev_turbo_software.c
4134@@ -269,7 +269,7 @@ info_get(struct rte_bbdev *dev, struct rte_bbdev_driver_info *dev_info)
4135 dev_info->num_queues[op_cap->type] = num_queue_per_type;
4136 }
4137
4138- rte_bbdev_log_debug("got device info from %u\n", dev->data->dev_id);
4139+ rte_bbdev_log_debug("got device info from %u", dev->data->dev_id);
4140 }
4141
4142 /* Release queue */
4143@@ -1951,7 +1951,7 @@ turbo_sw_bbdev_probe(struct rte_vdev_device *vdev)
4144 parse_turbo_sw_params(&init_params, input_args);
4145
4146 rte_bbdev_log_debug(
4147- "Initialising %s on NUMA node %d with max queues: %d\n",
4148+ "Initialising %s on NUMA node %d with max queues: %d",
4149 name, init_params.socket_id, init_params.queues_num);
4150
4151 return turbo_sw_bbdev_create(vdev, &init_params);
4152diff --git a/drivers/bus/cdx/cdx_vfio.c b/drivers/bus/cdx/cdx_vfio.c
4153index 79abc3f..664f267 100644
4154--- a/drivers/bus/cdx/cdx_vfio.c
4155+++ b/drivers/bus/cdx/cdx_vfio.c
4156@@ -638,7 +638,7 @@ rte_cdx_vfio_bm_enable(struct rte_cdx_device *dev)
4157 feature->flags |= VFIO_DEVICE_FEATURE_SET;
4158 ret = ioctl(vfio_dev_fd, RTE_VFIO_DEVICE_FEATURE, feature);
4159 if (ret) {
4160- CDX_BUS_ERR("Bus Master configuring not supported for device: %s, error: %d (%s)\n",
4161+ CDX_BUS_ERR("Bus Master configuring not supported for device: %s, error: %d (%s)",
4162 dev->name, errno, strerror(errno));
4163 free(feature);
4164 return ret;
4165@@ -648,7 +648,7 @@ rte_cdx_vfio_bm_enable(struct rte_cdx_device *dev)
4166 vfio_bm_feature->op = VFIO_DEVICE_FEATURE_SET_MASTER;
4167 ret = ioctl(vfio_dev_fd, RTE_VFIO_DEVICE_FEATURE, feature);
4168 if (ret < 0)
4169- CDX_BUS_ERR("BM Enable Error for device: %s, Error: %d (%s)\n",
4170+ CDX_BUS_ERR("BM Enable Error for device: %s, Error: %d (%s)",
4171 dev->name, errno, strerror(errno));
4172
4173 free(feature);
4174@@ -682,7 +682,7 @@ rte_cdx_vfio_bm_disable(struct rte_cdx_device *dev)
4175 feature->flags |= VFIO_DEVICE_FEATURE_SET;
4176 ret = ioctl(vfio_dev_fd, RTE_VFIO_DEVICE_FEATURE, feature);
4177 if (ret) {
4178- CDX_BUS_ERR("Bus Master configuring not supported for device: %s, Error: %d (%s)\n",
4179+ CDX_BUS_ERR("Bus Master configuring not supported for device: %s, Error: %d (%s)",
4180 dev->name, errno, strerror(errno));
4181 free(feature);
4182 return ret;
4183@@ -692,7 +692,7 @@ rte_cdx_vfio_bm_disable(struct rte_cdx_device *dev)
4184 vfio_bm_feature->op = VFIO_DEVICE_FEATURE_CLEAR_MASTER;
4185 ret = ioctl(vfio_dev_fd, RTE_VFIO_DEVICE_FEATURE, feature);
4186 if (ret < 0)
4187- CDX_BUS_ERR("BM Disable Error for device: %s, Error: %d (%s)\n",
4188+ CDX_BUS_ERR("BM Disable Error for device: %s, Error: %d (%s)",
4189 dev->name, errno, strerror(errno));
4190
4191 free(feature);
4192diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
4193index 1814372..8263d42 100644
4194--- a/drivers/bus/dpaa/base/fman/fman.c
4195+++ b/drivers/bus/dpaa/base/fman/fman.c
4196@@ -153,7 +153,7 @@ static void fman_if_vsp_init(struct __fman_if *__if)
4197 size_t lenp;
4198 const uint8_t mac_idx[] = {-1, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1};
4199
4200- if (__if->__if.mac_type == fman_mac_1g) {
4201+ if (__if->__if.mac_idx <= 8) {
4202 for_each_compatible_node(dev, NULL,
4203 "fsl,fman-port-1g-rx-extended-args") {
4204 prop = of_get_property(dev, "cell-index", &lenp);
4205@@ -176,7 +176,32 @@ static void fman_if_vsp_init(struct __fman_if *__if)
4206 }
4207 }
4208 }
4209- } else if (__if->__if.mac_type == fman_mac_10g) {
4210+
4211+ for_each_compatible_node(dev, NULL,
4212+ "fsl,fman-port-op-extended-args") {
4213+ prop = of_get_property(dev, "cell-index", &lenp);
4214+
4215+ if (prop) {
4216+ cell_index = of_read_number(&prop[0],
4217+ lenp / sizeof(phandle));
4218+
4219+ if (cell_index == __if->__if.mac_idx) {
4220+ prop = of_get_property(dev,
4221+ "vsp-window",
4222+ &lenp);
4223+
4224+ if (prop) {
4225+ __if->__if.num_profiles =
4226+ of_read_number(&prop[0],
4227+ 1);
4228+ __if->__if.base_profile_id =
4229+ of_read_number(&prop[1],
4230+ 1);
4231+ }
4232+ }
4233+ }
4234+ }
4235+ } else {
4236 for_each_compatible_node(dev, NULL,
4237 "fsl,fman-port-10g-rx-extended-args") {
4238 prop = of_get_property(dev, "cell-index", &lenp);
4239diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c
4240index 24a99f7..97e7928 100644
4241--- a/drivers/bus/dpaa/base/fman/fman_hw.c
4242+++ b/drivers/bus/dpaa/base/fman/fman_hw.c
4243@@ -243,10 +243,11 @@ fman_if_stats_get_all(struct fman_if *p, uint64_t *value, int n)
4244 int i;
4245 uint64_t base_offset = offsetof(struct memac_regs, reoct_l);
4246
4247- for (i = 0; i < n; i++)
4248- value[i] = (((u64)in_be32((char *)regs + base_offset + 8 * i) |
4249- (u64)in_be32((char *)regs + base_offset +
4250- 8 * i + 4)) << 32);
4251+ for (i = 0; i < n; i++) {
4252+ uint64_t a = in_be32((char *)regs + base_offset + 8 * i);
4253+ uint64_t b = in_be32((char *)regs + base_offset + 8 * i + 4);
4254+ value[i] = a | b << 32;
4255+ }
4256 }
4257
4258 void
4259diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
4260index 83db0a5..3a1a843 100644
4261--- a/drivers/bus/dpaa/base/qbman/qman.c
4262+++ b/drivers/bus/dpaa/base/qbman/qman.c
4263@@ -294,10 +294,32 @@ static inline void qman_stop_dequeues_ex(struct qman_portal *p)
4264 qm_dqrr_set_maxfill(&p->p, 0);
4265 }
4266
4267+static inline void qm_mr_pvb_update(struct qm_portal *portal)
4268+{
4269+ register struct qm_mr *mr = &portal->mr;
4270+ const struct qm_mr_entry *res = qm_cl(mr->ring, mr->pi);
4271+
4272+#ifdef RTE_LIBRTE_DPAA_HWDEBUG
4273+ DPAA_ASSERT(mr->pmode == qm_mr_pvb);
4274+#endif
4275+ /* when accessing 'verb', use __raw_readb() to ensure that compiler
4276+ * inlining doesn't try to optimise out "excess reads".
4277+ */
4278+ if ((__raw_readb(&res->ern.verb) & QM_MR_VERB_VBIT) == mr->vbit) {
4279+ mr->pi = (mr->pi + 1) & (QM_MR_SIZE - 1);
4280+ if (!mr->pi)
4281+ mr->vbit ^= QM_MR_VERB_VBIT;
4282+ mr->fill++;
4283+ res = MR_INC(res);
4284+ }
4285+ dcbit_ro(res);
4286+}
4287+
4288 static int drain_mr_fqrni(struct qm_portal *p)
4289 {
4290 const struct qm_mr_entry *msg;
4291 loop:
4292+ qm_mr_pvb_update(p);
4293 msg = qm_mr_current(p);
4294 if (!msg) {
4295 /*
4296@@ -319,6 +341,7 @@ loop:
4297 do {
4298 now = mfatb();
4299 } while ((then + 10000) > now);
4300+ qm_mr_pvb_update(p);
4301 msg = qm_mr_current(p);
4302 if (!msg)
4303 return 0;
4304@@ -481,27 +504,6 @@ static inline int qm_mr_init(struct qm_portal *portal,
4305 return 0;
4306 }
4307
4308-static inline void qm_mr_pvb_update(struct qm_portal *portal)
4309-{
4310- register struct qm_mr *mr = &portal->mr;
4311- const struct qm_mr_entry *res = qm_cl(mr->ring, mr->pi);
4312-
4313-#ifdef RTE_LIBRTE_DPAA_HWDEBUG
4314- DPAA_ASSERT(mr->pmode == qm_mr_pvb);
4315-#endif
4316- /* when accessing 'verb', use __raw_readb() to ensure that compiler
4317- * inlining doesn't try to optimise out "excess reads".
4318- */
4319- if ((__raw_readb(&res->ern.verb) & QM_MR_VERB_VBIT) == mr->vbit) {
4320- mr->pi = (mr->pi + 1) & (QM_MR_SIZE - 1);
4321- if (!mr->pi)
4322- mr->vbit ^= QM_MR_VERB_VBIT;
4323- mr->fill++;
4324- res = MR_INC(res);
4325- }
4326- dcbit_ro(res);
4327-}
4328-
4329 struct qman_portal *
4330 qman_init_portal(struct qman_portal *portal,
4331 const struct qm_portal_config *c,
4332@@ -1825,6 +1827,8 @@ int qman_retire_fq(struct qman_fq *fq, u32 *flags)
4333 }
4334 out:
4335 FQUNLOCK(fq);
4336+ /* Draining FQRNIs, if any */
4337+ drain_mr_fqrni(&p->p);
4338 return rval;
4339 }
4340
4341@@ -2165,8 +2169,10 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags)
4342
4343 if (!p->vdqcr_owned) {
4344 FQLOCK(fq);
4345- if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
4346+ if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) {
4347+ FQUNLOCK(fq);
4348 goto escape;
4349+ }
4350 fq_set(fq, QMAN_FQ_STATE_VDQCR);
4351 FQUNLOCK(fq);
4352 p->vdqcr_owned = fq;
4353@@ -2199,8 +2205,10 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused,
4354
4355 if (!p->vdqcr_owned) {
4356 FQLOCK(fq);
4357- if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
4358+ if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) {
4359+ FQUNLOCK(fq);
4360 goto escape;
4361+ }
4362 fq_set(fq, QMAN_FQ_STATE_VDQCR);
4363 FQUNLOCK(fq);
4364 p->vdqcr_owned = fq;
4365diff --git a/drivers/bus/dpaa/include/fman.h b/drivers/bus/dpaa/include/fman.h
4366index 3a6dd55..19f6132 100644
4367--- a/drivers/bus/dpaa/include/fman.h
4368+++ b/drivers/bus/dpaa/include/fman.h
4369@@ -403,7 +403,8 @@ extern int fman_ccsr_map_fd;
4370 #define FMAN_ERR(rc, fmt, args...) \
4371 do { \
4372 _errno = (rc); \
4373- DPAA_BUS_LOG(ERR, fmt "(%d)", ##args, errno); \
4374+ rte_log(RTE_LOG_ERR, dpaa_logtype_bus, "dpaa: " fmt "(%d)\n", \
4375+ ##args, errno); \
4376 } while (0)
4377
4378 #define FMAN_IP_REV_1 0xC30C4
4379diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
4380index 89f0f32..adb452f 100644
4381--- a/drivers/bus/fslmc/fslmc_bus.c
4382+++ b/drivers/bus/fslmc/fslmc_bus.c
4383@@ -499,7 +499,7 @@ rte_fslmc_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
4384 const struct rte_dpaa2_device *dstart;
4385 struct rte_dpaa2_device *dev;
4386
4387- DPAA2_BUS_DEBUG("Finding a device named %s\n", (const char *)data);
4388+ DPAA2_BUS_DEBUG("Finding a device named %s", (const char *)data);
4389
4390 /* find_device is always called with an opaque object which should be
4391 * passed along to the 'cmp' function iterating over all device obj
4392@@ -514,7 +514,7 @@ rte_fslmc_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
4393 }
4394 while (dev != NULL) {
4395 if (cmp(&dev->device, data) == 0) {
4396- DPAA2_BUS_DEBUG("Found device (%s)\n",
4397+ DPAA2_BUS_DEBUG("Found device (%s)",
4398 dev->device.name);
4399 return &dev->device;
4400 }
4401@@ -628,14 +628,14 @@ fslmc_bus_dev_iterate(const void *start, const char *str,
4402
4403 /* Expectation is that device would be name=device_name */
4404 if (strncmp(str, "name=", 5) != 0) {
4405- DPAA2_BUS_DEBUG("Invalid device string (%s)\n", str);
4406+ DPAA2_BUS_DEBUG("Invalid device string (%s)", str);
4407 return NULL;
4408 }
4409
4410 /* Now that name=device_name format is available, split */
4411 dup = strdup(str);
4412 if (dup == NULL) {
4413- DPAA2_BUS_DEBUG("Dup string (%s) failed!\n", str);
4414+ DPAA2_BUS_DEBUG("Dup string (%s) failed!", str);
4415 return NULL;
4416 }
4417 dev_name = dup + strlen("name=");
4418diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c
4419index 5966776..b90efeb 100644
4420--- a/drivers/bus/fslmc/fslmc_vfio.c
4421+++ b/drivers/bus/fslmc/fslmc_vfio.c
4422@@ -232,7 +232,7 @@ fslmc_memevent_cb(enum rte_mem_event type, const void *addr, size_t len,
4423
4424 /* iova_addr may be set to RTE_BAD_IOVA */
4425 if (iova_addr == RTE_BAD_IOVA) {
4426- DPAA2_BUS_DEBUG("Segment has invalid iova, skipping\n");
4427+ DPAA2_BUS_DEBUG("Segment has invalid iova, skipping");
4428 cur_len += map_len;
4429 continue;
4430 }
4431@@ -389,7 +389,7 @@ rte_fslmc_vfio_mem_dmamap(uint64_t vaddr, uint64_t iova, uint64_t size)
4432 dma_map.vaddr = vaddr;
4433 dma_map.iova = iova;
4434
4435- DPAA2_BUS_DEBUG("VFIOdmamap 0x%"PRIx64":0x%"PRIx64",size 0x%"PRIx64"\n",
4436+ DPAA2_BUS_DEBUG("VFIOdmamap 0x%"PRIx64":0x%"PRIx64",size 0x%"PRIx64,
4437 (uint64_t)dma_map.vaddr, (uint64_t)dma_map.iova,
4438 (uint64_t)dma_map.size);
4439 ret = ioctl(group->container->fd, VFIO_IOMMU_MAP_DMA,
4440@@ -480,13 +480,13 @@ fslmc_vfio_setup_device(const char *sysfs_base, const char *dev_addr,
4441 ret = ioctl(vfio_group_fd, VFIO_GROUP_GET_STATUS, &group_status);
4442 if (ret) {
4443 DPAA2_BUS_ERR(" %s cannot get group status, "
4444- "error %i (%s)\n", dev_addr,
4445+ "error %i (%s)", dev_addr,
4446 errno, strerror(errno));
4447 close(vfio_group_fd);
4448 rte_vfio_clear_group(vfio_group_fd);
4449 return -1;
4450 } else if (!(group_status.flags & VFIO_GROUP_FLAGS_VIABLE)) {
4451- DPAA2_BUS_ERR(" %s VFIO group is not viable!\n", dev_addr);
4452+ DPAA2_BUS_ERR(" %s VFIO group is not viable!", dev_addr);
4453 close(vfio_group_fd);
4454 rte_vfio_clear_group(vfio_group_fd);
4455 return -1;
4456@@ -503,7 +503,7 @@ fslmc_vfio_setup_device(const char *sysfs_base, const char *dev_addr,
4457 &vfio_container_fd);
4458 if (ret) {
4459 DPAA2_BUS_ERR(" %s cannot add VFIO group to container, "
4460- "error %i (%s)\n", dev_addr,
4461+ "error %i (%s)", dev_addr,
4462 errno, strerror(errno));
4463 close(vfio_group_fd);
4464 close(vfio_container_fd);
4465diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
4466index 07256ed..7e858a1 100644
4467--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
4468+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpci.c
4469@@ -86,7 +86,7 @@ rte_dpaa2_create_dpci_device(int vdev_fd __rte_unused,
4470 sizeof(struct queue_storage_info_t),
4471 RTE_CACHE_LINE_SIZE);
4472 if (!rxq->q_storage) {
4473- DPAA2_BUS_ERR("q_storage allocation failed\n");
4474+ DPAA2_BUS_ERR("q_storage allocation failed");
4475 ret = -ENOMEM;
4476 goto err;
4477 }
4478@@ -94,7 +94,7 @@ rte_dpaa2_create_dpci_device(int vdev_fd __rte_unused,
4479 memset(rxq->q_storage, 0, sizeof(struct queue_storage_info_t));
4480 ret = dpaa2_alloc_dq_storage(rxq->q_storage);
4481 if (ret) {
4482- DPAA2_BUS_ERR("dpaa2_alloc_dq_storage failed\n");
4483+ DPAA2_BUS_ERR("dpaa2_alloc_dq_storage failed");
4484 goto err;
4485 }
4486 }
4487diff --git a/drivers/bus/fslmc/qbman/qbman_debug.c b/drivers/bus/fslmc/qbman/qbman_debug.c
4488index eea0698..0e471ec 100644
4489--- a/drivers/bus/fslmc/qbman/qbman_debug.c
4490+++ b/drivers/bus/fslmc/qbman/qbman_debug.c
4491@@ -1,6 +1,6 @@
4492 /* SPDX-License-Identifier: BSD-3-Clause
4493 * Copyright (C) 2015 Freescale Semiconductor, Inc.
4494- * Copyright 2018-2020 NXP
4495+ * Copyright 2018-2020,2022 NXP
4496 */
4497
4498 #include "compat.h"
4499@@ -37,6 +37,7 @@ int qbman_bp_query(struct qbman_swp *s, uint32_t bpid,
4500 struct qbman_bp_query_rslt *r)
4501 {
4502 struct qbman_bp_query_desc *p;
4503+ struct qbman_bp_query_rslt *bp_query_rslt;
4504
4505 /* Start the management command */
4506 p = (struct qbman_bp_query_desc *)qbman_swp_mc_start(s);
4507@@ -47,14 +48,16 @@ int qbman_bp_query(struct qbman_swp *s, uint32_t bpid,
4508 p->bpid = bpid;
4509
4510 /* Complete the management command */
4511- *r = *(struct qbman_bp_query_rslt *)qbman_swp_mc_complete(s, p,
4512- QBMAN_BP_QUERY);
4513- if (!r) {
4514+ bp_query_rslt = (struct qbman_bp_query_rslt *)qbman_swp_mc_complete(s,
4515+ p, QBMAN_BP_QUERY);
4516+ if (!bp_query_rslt) {
4517 pr_err("qbman: Query BPID %d failed, no response\n",
4518 bpid);
4519 return -EIO;
4520 }
4521
4522+ *r = *bp_query_rslt;
4523+
4524 /* Decode the outcome */
4525 QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_BP_QUERY);
4526
4527@@ -202,20 +205,23 @@ int qbman_fq_query(struct qbman_swp *s, uint32_t fqid,
4528 struct qbman_fq_query_rslt *r)
4529 {
4530 struct qbman_fq_query_desc *p;
4531+ struct qbman_fq_query_rslt *fq_query_rslt;
4532
4533 p = (struct qbman_fq_query_desc *)qbman_swp_mc_start(s);
4534 if (!p)
4535 return -EBUSY;
4536
4537 p->fqid = fqid;
4538- *r = *(struct qbman_fq_query_rslt *)qbman_swp_mc_complete(s, p,
4539- QBMAN_FQ_QUERY);
4540- if (!r) {
4541+ fq_query_rslt = (struct qbman_fq_query_rslt *)qbman_swp_mc_complete(s,
4542+ p, QBMAN_FQ_QUERY);
4543+ if (!fq_query_rslt) {
4544 pr_err("qbman: Query FQID %d failed, no response\n",
4545 fqid);
4546 return -EIO;
4547 }
4548
4549+ *r = *fq_query_rslt;
4550+
4551 /* Decode the outcome */
4552 QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_FQ_QUERY);
4553
4554@@ -398,20 +404,23 @@ int qbman_cgr_query(struct qbman_swp *s, uint32_t cgid,
4555 struct qbman_cgr_query_rslt *r)
4556 {
4557 struct qbman_cgr_query_desc *p;
4558+ struct qbman_cgr_query_rslt *cgr_query_rslt;
4559
4560 p = (struct qbman_cgr_query_desc *)qbman_swp_mc_start(s);
4561 if (!p)
4562 return -EBUSY;
4563
4564 p->cgid = cgid;
4565- *r = *(struct qbman_cgr_query_rslt *)qbman_swp_mc_complete(s, p,
4566- QBMAN_CGR_QUERY);
4567- if (!r) {
4568+ cgr_query_rslt = (struct qbman_cgr_query_rslt *)qbman_swp_mc_complete(s,
4569+ p, QBMAN_CGR_QUERY);
4570+ if (!cgr_query_rslt) {
4571 pr_err("qbman: Query CGID %d failed, no response\n",
4572 cgid);
4573 return -EIO;
4574 }
4575
4576+ *r = *cgr_query_rslt;
4577+
4578 /* Decode the outcome */
4579 QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_CGR_QUERY);
4580
4581@@ -473,20 +482,23 @@ int qbman_cgr_wred_query(struct qbman_swp *s, uint32_t cgid,
4582 struct qbman_wred_query_rslt *r)
4583 {
4584 struct qbman_cgr_query_desc *p;
4585+ struct qbman_wred_query_rslt *wred_query_rslt;
4586
4587 p = (struct qbman_cgr_query_desc *)qbman_swp_mc_start(s);
4588 if (!p)
4589 return -EBUSY;
4590
4591 p->cgid = cgid;
4592- *r = *(struct qbman_wred_query_rslt *)qbman_swp_mc_complete(s, p,
4593- QBMAN_WRED_QUERY);
4594- if (!r) {
4595+ wred_query_rslt = (struct qbman_wred_query_rslt *)qbman_swp_mc_complete(
4596+ s, p, QBMAN_WRED_QUERY);
4597+ if (!wred_query_rslt) {
4598 pr_err("qbman: Query CGID WRED %d failed, no response\n",
4599 cgid);
4600 return -EIO;
4601 }
4602
4603+ *r = *wred_query_rslt;
4604+
4605 /* Decode the outcome */
4606 QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_WRED_QUERY);
4607
4608@@ -527,7 +539,7 @@ void qbman_cgr_attr_wred_dp_decompose(uint32_t dp, uint64_t *minth,
4609 if (mn == 0)
4610 *maxth = ma;
4611 else
4612- *maxth = ((ma+256) * (1<<(mn-1)));
4613+ *maxth = ((uint64_t)(ma+256) * (1<<(mn-1)));
4614
4615 if (step_s == 0)
4616 *minth = *maxth - step_i;
4617@@ -630,6 +642,7 @@ int qbman_wqchan_query(struct qbman_swp *s, uint16_t chanid,
4618 struct qbman_wqchan_query_rslt *r)
4619 {
4620 struct qbman_wqchan_query_desc *p;
4621+ struct qbman_wqchan_query_rslt *wqchan_query_rslt;
4622
4623 /* Start the management command */
4624 p = (struct qbman_wqchan_query_desc *)qbman_swp_mc_start(s);
4625@@ -640,14 +653,16 @@ int qbman_wqchan_query(struct qbman_swp *s, uint16_t chanid,
4626 p->chid = chanid;
4627
4628 /* Complete the management command */
4629- *r = *(struct qbman_wqchan_query_rslt *)qbman_swp_mc_complete(s, p,
4630- QBMAN_WQ_QUERY);
4631- if (!r) {
4632+ wqchan_query_rslt = (struct qbman_wqchan_query_rslt *)qbman_swp_mc_complete(
4633+ s, p, QBMAN_WQ_QUERY);
4634+ if (!wqchan_query_rslt) {
4635 pr_err("qbman: Query WQ Channel %d failed, no response\n",
4636 chanid);
4637 return -EIO;
4638 }
4639
4640+ *r = *wqchan_query_rslt;
4641+
4642 /* Decode the outcome */
4643 QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_WQ_QUERY);
4644
4645diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
4646index ffb0c61..11b31ee 100644
4647--- a/drivers/bus/ifpga/ifpga_bus.c
4648+++ b/drivers/bus/ifpga/ifpga_bus.c
4649@@ -180,7 +180,7 @@ ifpga_scan_one(struct rte_rawdev *rawdev,
4650 rawdev->dev_ops->firmware_load &&
4651 rawdev->dev_ops->firmware_load(rawdev,
4652 &afu_pr_conf)){
4653- IFPGA_BUS_ERR("firmware load error %d\n", ret);
4654+ IFPGA_BUS_ERR("firmware load error %d", ret);
4655 goto end;
4656 }
4657 afu_dev->id.uuid.uuid_low = afu_pr_conf.afu_id.uuid.uuid_low;
4658@@ -316,7 +316,7 @@ ifpga_probe_all_drivers(struct rte_afu_device *afu_dev)
4659
4660 /* Check if a driver is already loaded */
4661 if (rte_dev_is_probed(&afu_dev->device)) {
4662- IFPGA_BUS_DEBUG("Device %s is already probed\n",
4663+ IFPGA_BUS_DEBUG("Device %s is already probed",
4664 rte_ifpga_device_name(afu_dev));
4665 return -EEXIST;
4666 }
4667@@ -353,7 +353,7 @@ ifpga_probe(void)
4668 if (ret == -EEXIST)
4669 continue;
4670 if (ret < 0)
4671- IFPGA_BUS_ERR("failed to initialize %s device\n",
4672+ IFPGA_BUS_ERR("failed to initialize %s device",
4673 rte_ifpga_device_name(afu_dev));
4674 }
4675
4676@@ -408,7 +408,7 @@ ifpga_remove_driver(struct rte_afu_device *afu_dev)
4677
4678 name = rte_ifpga_device_name(afu_dev);
4679 if (afu_dev->driver == NULL) {
4680- IFPGA_BUS_DEBUG("no driver attach to device %s\n", name);
4681+ IFPGA_BUS_DEBUG("no driver attach to device %s", name);
4682 return 1;
4683 }
4684
4685diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
4686index 889a48d..1b3fe47 100644
4687--- a/drivers/bus/pci/pci_common.c
4688+++ b/drivers/bus/pci/pci_common.c
4689@@ -99,21 +99,11 @@ pci_common_set(struct rte_pci_device *dev)
4690 /* Each device has its internal, canonical name set. */
4691 rte_pci_device_name(&dev->addr,
4692 dev->name, sizeof(dev->name));
4693+ dev->device.name = dev->name;
4694+
4695 devargs = pci_devargs_lookup(&dev->addr);
4696 dev->device.devargs = devargs;
4697
4698- /* When using a blocklist, only blocked devices will have
4699- * an rte_devargs. Allowed devices won't have one.
4700- */
4701- if (devargs != NULL)
4702- /* If an rte_devargs exists, the generic rte_device uses the
4703- * given name as its name.
4704- */
4705- dev->device.name = dev->device.devargs->name;
4706- else
4707- /* Otherwise, it uses the internal, canonical form. */
4708- dev->device.name = dev->name;
4709-
4710 if (dev->bus_info != NULL ||
4711 asprintf(&dev->bus_info, "vendor_id=%"PRIx16", device_id=%"PRIx16,
4712 dev->id.vendor_id, dev->id.device_id) != -1)
4713diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
4714index dcedd0d..ec7abe7 100644
4715--- a/drivers/bus/vdev/vdev.c
4716+++ b/drivers/bus/vdev/vdev.c
4717@@ -263,22 +263,6 @@ alloc_devargs(const char *name, const char *args)
4718 return devargs;
4719 }
4720
4721-static struct rte_devargs *
4722-vdev_devargs_lookup(const char *name)
4723-{
4724- struct rte_devargs *devargs;
4725- char dev_name[32];
4726-
4727- RTE_EAL_DEVARGS_FOREACH("vdev", devargs) {
4728- devargs->bus->parse(devargs->name, &dev_name);
4729- if (strcmp(dev_name, name) == 0) {
4730- VDEV_LOG(INFO, "devargs matched %s", dev_name);
4731- return devargs;
4732- }
4733- }
4734- return NULL;
4735-}
4736-
4737 static int
4738 insert_vdev(const char *name, const char *args,
4739 struct rte_vdev_device **p_dev,
4740@@ -291,10 +275,7 @@ insert_vdev(const char *name, const char *args,
4741 if (name == NULL)
4742 return -EINVAL;
4743
4744- if (rte_eal_process_type() == RTE_PROC_PRIMARY)
4745- devargs = alloc_devargs(name, args);
4746- else
4747- devargs = vdev_devargs_lookup(name);
4748+ devargs = alloc_devargs(name, args);
4749
4750 if (!devargs)
4751 return -ENOMEM;
4752diff --git a/drivers/bus/vdev/vdev_params.c b/drivers/bus/vdev/vdev_params.c
4753index 51583fe..68ae09e 100644
4754--- a/drivers/bus/vdev/vdev_params.c
4755+++ b/drivers/bus/vdev/vdev_params.c
4756@@ -53,7 +53,7 @@ rte_vdev_dev_iterate(const void *start,
4757 if (str != NULL) {
4758 kvargs = rte_kvargs_parse(str, vdev_params_keys);
4759 if (kvargs == NULL) {
4760- VDEV_LOG(ERR, "cannot parse argument list\n");
4761+ VDEV_LOG(ERR, "cannot parse argument list");
4762 rte_errno = EINVAL;
4763 return NULL;
4764 }
4765diff --git a/drivers/bus/vmbus/vmbus_common.c b/drivers/bus/vmbus/vmbus_common.c
4766index b9139c6..8a965d1 100644
4767--- a/drivers/bus/vmbus/vmbus_common.c
4768+++ b/drivers/bus/vmbus/vmbus_common.c
4769@@ -108,7 +108,7 @@ vmbus_probe_one_driver(struct rte_vmbus_driver *dr,
4770 /* no initialization when marked as blocked, return without error */
4771 if (dev->device.devargs != NULL &&
4772 dev->device.devargs->policy == RTE_DEV_BLOCKED) {
4773- VMBUS_LOG(INFO, " Device is blocked, not initializing\n");
4774+ VMBUS_LOG(INFO, " Device is blocked, not initializing");
4775 return 1;
4776 }
4777
4778diff --git a/drivers/common/cnxk/cnxk_security.c b/drivers/common/cnxk/cnxk_security.c
4779index 40685d0..1b51dab 100644
4780--- a/drivers/common/cnxk/cnxk_security.c
4781+++ b/drivers/common/cnxk/cnxk_security.c
4782@@ -360,7 +360,7 @@ cnxk_ot_ipsec_inb_sa_fill(struct roc_ot_ipsec_inb_sa *sa,
4783 /* Initialize the SA */
4784 roc_ot_ipsec_inb_sa_init(sa, is_inline);
4785
4786- w2.u64 = 0;
4787+ w2.u64 = sa->w2.u64;
4788 rc = ot_ipsec_sa_common_param_fill(&w2, sa->cipher_key, sa->w8.s.salt,
4789 sa->hmac_opad_ipad, ipsec_xfrm,
4790 crypto_xfrm);
4791diff --git a/drivers/common/cnxk/roc_bphy_cgx.c b/drivers/common/cnxk/roc_bphy_cgx.c
4792index e966494..3d674db 100644
4793--- a/drivers/common/cnxk/roc_bphy_cgx.c
4794+++ b/drivers/common/cnxk/roc_bphy_cgx.c
4795@@ -364,20 +364,20 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
4796 {
4797 uint64_t scr1, scr0;
4798
4799+ if (!mode)
4800+ return -EINVAL;
4801+
4802+ if (!roc_cgx)
4803+ return -EINVAL;
4804+
4805 if (roc_model_is_cn9k() &&
4806 (mode->use_portm_idx || mode->portm_idx || mode->mode_group_idx)) {
4807 return -ENOTSUP;
4808 }
4809
4810- if (!roc_cgx)
4811- return -EINVAL;
4812-
4813 if (!roc_bphy_cgx_lmac_exists(roc_cgx, lmac))
4814 return -ENODEV;
4815
4816- if (!mode)
4817- return -EINVAL;
4818-
4819 scr1 = FIELD_PREP(SCR1_ETH_CMD_ID, ETH_CMD_MODE_CHANGE) |
4820 FIELD_PREP(SCR1_ETH_MODE_CHANGE_ARGS_SPEED, mode->speed) |
4821 FIELD_PREP(SCR1_ETH_MODE_CHANGE_ARGS_DUPLEX, mode->full_duplex) |
4822diff --git a/drivers/common/cnxk/roc_dev.c b/drivers/common/cnxk/roc_dev.c
4823index 14aff23..793d78f 100644
4824--- a/drivers/common/cnxk/roc_dev.c
4825+++ b/drivers/common/cnxk/roc_dev.c
4826@@ -947,8 +947,8 @@ mbox_unregister_vf_irq(struct plt_pci_device *pci_dev, struct dev *dev)
4827 RVU_VF_INT_VEC_MBOX);
4828 }
4829
4830-static void
4831-mbox_unregister_irq(struct plt_pci_device *pci_dev, struct dev *dev)
4832+void
4833+dev_mbox_unregister_irq(struct plt_pci_device *pci_dev, struct dev *dev)
4834 {
4835 if (dev_is_vf(dev))
4836 mbox_unregister_vf_irq(pci_dev, dev);
4837@@ -1026,8 +1026,8 @@ roc_pf_vf_flr_irq(void *param)
4838 }
4839 }
4840
4841-static int
4842-vf_flr_unregister_irqs(struct plt_pci_device *pci_dev, struct dev *dev)
4843+void
4844+dev_vf_flr_unregister_irqs(struct plt_pci_device *pci_dev, struct dev *dev)
4845 {
4846 struct plt_intr_handle *intr_handle = pci_dev->intr_handle;
4847 int i;
4848@@ -1043,8 +1043,6 @@ vf_flr_unregister_irqs(struct plt_pci_device *pci_dev, struct dev *dev)
4849
4850 dev_irq_unregister(intr_handle, roc_pf_vf_flr_irq, dev,
4851 RVU_PF_INT_VEC_VFFLR1);
4852-
4853- return 0;
4854 }
4855
4856 int
4857@@ -1493,7 +1491,7 @@ dev_init(struct dev *dev, struct plt_pci_device *pci_dev)
4858 rc = plt_thread_create_control(&dev->sync.pfvf_msg_thread, name,
4859 pf_vf_mbox_thread_main, dev);
4860 if (rc != 0) {
4861- plt_err("Failed to create thread for VF mbox handling\n");
4862+ plt_err("Failed to create thread for VF mbox handling");
4863 goto thread_fail;
4864 }
4865 }
4866@@ -1529,7 +1527,7 @@ thread_fail:
4867 iounmap:
4868 dev_vf_mbase_put(pci_dev, vf_mbase);
4869 mbox_unregister:
4870- mbox_unregister_irq(pci_dev, dev);
4871+ dev_mbox_unregister_irq(pci_dev, dev);
4872 if (dev->ops)
4873 plt_free(dev->ops);
4874 mbox_fini:
4875@@ -1565,10 +1563,10 @@ dev_fini(struct dev *dev, struct plt_pci_device *pci_dev)
4876 if (dev->lmt_mz)
4877 plt_memzone_free(dev->lmt_mz);
4878
4879- mbox_unregister_irq(pci_dev, dev);
4880+ dev_mbox_unregister_irq(pci_dev, dev);
4881
4882 if (!dev_is_vf(dev))
4883- vf_flr_unregister_irqs(pci_dev, dev);
4884+ dev_vf_flr_unregister_irqs(pci_dev, dev);
4885 /* Release PF - VF */
4886 mbox = &dev->mbox_vfpf;
4887 if (mbox->hwbase && mbox->dev)
4888diff --git a/drivers/common/cnxk/roc_dev_priv.h b/drivers/common/cnxk/roc_dev_priv.h
4889index 5b2c509..f1fa498 100644
4890--- a/drivers/common/cnxk/roc_dev_priv.h
4891+++ b/drivers/common/cnxk/roc_dev_priv.h
4892@@ -128,6 +128,8 @@ int dev_irqs_disable(struct plt_intr_handle *intr_handle);
4893 int dev_irq_reconfigure(struct plt_intr_handle *intr_handle, uint16_t max_intr);
4894
4895 int dev_mbox_register_irq(struct plt_pci_device *pci_dev, struct dev *dev);
4896+void dev_mbox_unregister_irq(struct plt_pci_device *pci_dev, struct dev *dev);
4897 int dev_vf_flr_register_irqs(struct plt_pci_device *pci_dev, struct dev *dev);
4898+void dev_vf_flr_unregister_irqs(struct plt_pci_device *pci_dev, struct dev *dev);
4899
4900 #endif /* _ROC_DEV_PRIV_H */
4901diff --git a/drivers/common/cnxk/roc_dpi_priv.h b/drivers/common/cnxk/roc_dpi_priv.h
4902index 518a3e7..a050187 100644
4903--- a/drivers/common/cnxk/roc_dpi_priv.h
4904+++ b/drivers/common/cnxk/roc_dpi_priv.h
4905@@ -24,7 +24,7 @@ typedef union dpi_mbox_msg_t {
4906 /* Command code */
4907 uint64_t cmd : 4;
4908 /* Command buffer size in 8-byte words */
4909- uint64_t csize : 14;
4910+ uint64_t csize : 16;
4911 /* aura of the command buffer */
4912 uint64_t aura : 20;
4913 /* SSO PF function */
4914diff --git a/drivers/common/cnxk/roc_ie_ot.c b/drivers/common/cnxk/roc_ie_ot.c
4915index d0b7ad3..356bb8c 100644
4916--- a/drivers/common/cnxk/roc_ie_ot.c
4917+++ b/drivers/common/cnxk/roc_ie_ot.c
4918@@ -38,5 +38,6 @@ roc_ot_ipsec_outb_sa_init(struct roc_ot_ipsec_outb_sa *sa)
4919 offset = offsetof(struct roc_ot_ipsec_outb_sa, ctx);
4920 sa->w0.s.ctx_push_size = (offset / ROC_CTX_UNIT_8B) + 1;
4921 sa->w0.s.ctx_size = ROC_IE_OT_CTX_ILEN;
4922+ sa->w0.s.ctx_hdr_size = ROC_IE_OT_SA_CTX_HDR_SIZE;
4923 sa->w0.s.aop_valid = 1;
4924 }
4925diff --git a/drivers/common/cnxk/roc_irq.c b/drivers/common/cnxk/roc_irq.c
4926index a709c40..0b21b9e 100644
4927--- a/drivers/common/cnxk/roc_irq.c
4928+++ b/drivers/common/cnxk/roc_irq.c
4929@@ -15,7 +15,7 @@
4930
4931 #define MSIX_IRQ_SET_BUF_LEN \
4932 (sizeof(struct vfio_irq_set) + sizeof(int) * \
4933- (plt_intr_max_intr_get(intr_handle)))
4934+ ((uint32_t)plt_intr_max_intr_get(intr_handle)))
4935
4936 static int
4937 irq_get_info(struct plt_intr_handle *intr_handle)
4938diff --git a/drivers/common/cnxk/roc_model.c b/drivers/common/cnxk/roc_model.c
4939index 6dc2afe..446ab3d 100644
4940--- a/drivers/common/cnxk/roc_model.c
4941+++ b/drivers/common/cnxk/roc_model.c
4942@@ -153,7 +153,7 @@ cn10k_part_pass_get(uint32_t *part, uint32_t *pass)
4943
4944 dir = opendir(SYSFS_PCI_DEVICES);
4945 if (dir == NULL) {
4946- plt_err("%s(): opendir failed: %s\n", __func__,
4947+ plt_err("%s(): opendir failed: %s", __func__,
4948 strerror(errno));
4949 return -errno;
4950 }
4951diff --git a/drivers/common/cnxk/roc_nix_inl.c b/drivers/common/cnxk/roc_nix_inl.c
4952index bc9cc2f..ba51ddd 100644
4953--- a/drivers/common/cnxk/roc_nix_inl.c
4954+++ b/drivers/common/cnxk/roc_nix_inl.c
4955@@ -1669,6 +1669,7 @@ roc_nix_inl_ctx_write(struct roc_nix *roc_nix, void *sa_dptr, void *sa_cptr,
4956 struct nix_inl_dev *inl_dev = NULL;
4957 struct roc_cpt_lf *outb_lf = NULL;
4958 union cpt_lf_ctx_flush flush;
4959+ union cpt_lf_ctx_err err;
4960 bool get_inl_lf = true;
4961 uintptr_t rbase;
4962 struct nix *nix;
4963@@ -1710,6 +1711,13 @@ roc_nix_inl_ctx_write(struct roc_nix *roc_nix, void *sa_dptr, void *sa_cptr,
4964 flush.s.cptr = ((uintptr_t)sa_cptr) >> 7;
4965 plt_write64(flush.u, rbase + CPT_LF_CTX_FLUSH);
4966
4967+ plt_atomic_thread_fence(__ATOMIC_ACQ_REL);
4968+
4969+ /* Read a CSR to ensure that the FLUSH operation is complete */
4970+ err.u = plt_read64(rbase + CPT_LF_CTX_ERR);
4971+
4972+ if (err.s.flush_st_flt)
4973+ plt_warn("CTX flush could not complete");
4974 return 0;
4975 }
4976 plt_nix_dbg("Could not get CPT LF for CTX write");
4977diff --git a/drivers/common/cnxk/roc_nix_mac.c b/drivers/common/cnxk/roc_nix_mac.c
4978index 2d1c29d..ce3fb03 100644
4979--- a/drivers/common/cnxk/roc_nix_mac.c
4980+++ b/drivers/common/cnxk/roc_nix_mac.c
4981@@ -91,11 +91,6 @@ roc_nix_mac_addr_set(struct roc_nix *roc_nix, const uint8_t addr[])
4982 goto exit;
4983 }
4984
4985- if (dev_active_vfs(&nix->dev)) {
4986- rc = NIX_ERR_OP_NOTSUP;
4987- goto exit;
4988- }
4989-
4990 req = mbox_alloc_msg_cgx_mac_addr_set(mbox);
4991 if (req == NULL)
4992 goto exit;
4993@@ -152,11 +147,6 @@ roc_nix_mac_addr_add(struct roc_nix *roc_nix, uint8_t addr[])
4994 goto exit;
4995 }
4996
4997- if (dev_active_vfs(&nix->dev)) {
4998- rc = NIX_ERR_OP_NOTSUP;
4999- goto exit;
5000- }
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches