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

Proposed by Arif Ali
Status: Merged
Merged at revision: 15c455e0b6963096c5d281fcf1a1a263857e734b
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
Christian Ehrhardt (community) Approve
git-ubuntu import Pending
Review via email: mp+485420@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Review Symbols:
+ = OK
! = Not OK
? = Question
N = Not applicable
S = Skipped

* Changelog:
  - [+] Changelog entry has correct version and targeted codename
  - [+] Correct formatting of changelog items
  - [+] Bug references correct
  - [N] Old content and logical tag match as expected (Package Merge)

* Git/maintenance:
  - [+] Commits are properly split (more important on -dev than on SRUs)

* New patches:
  - [+] No new patches added or dropped (it is odd that the security fix of Oracular isn't here, but it would now be in the new stable release, so it is fine to go forward)

* Many other sections are skipped as they do not apply
* I've compared the content with 23.11.4 upstream content to ensure the source was updates nice, and git can be so nice ... :-)

$ git diff v23.11.4 --dirstat
 100.0% debian/

* Build/Test:
  - we do not have a PPA, but Arif has tested those elsewhere IIRC and we will run testing on both sides so this is fine

This LGTM, thanks for also pulling the upstream release notes into the changelog as I usually did.

review: Approve
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

FYI: I was surprised for a second why this branch follows a different naming scheme, but this isn't anything that breaks sponsoring this

Revision history for this message
Christian Ehrhardt (paelzer) wrote :

The former stuck in proposed upload was a stable backport itself and pointing to the same release, hence we should use just the latest changelog stanza (no -v to include both) as the new supersedes the old (leaving the old in there still is correct as it IMHO represents the history of how this went)

Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Without a PPA and without a repo that has the pristine tar for it I need to ensure I get the right/your tarball. For this one I've reused what I've done for oracular.

Revision history for this message
Christian Ehrhardt (paelzer) wrote :

Uploading dpdk_23.11.4-0ubuntu0.24.04.1.dsc
Uploading dpdk_23.11.4.orig.tar.xz
Uploading dpdk_23.11.4-0ubuntu0.24.04.1.debian.tar.xz
Uploading dpdk_23.11.4-0ubuntu0.24.04.1_source.buildinfo
Uploading dpdk_23.11.4-0ubuntu0.24.04.1_source.changes

Revision history for this message
Arif Ali (arif-ali) wrote :

> FYI: I was surprised for a second why this branch follows a different naming
> scheme, but this isn't anything that breaks sponsoring this

It was the first one I did as an MR, and then found how people were actually doing it. Which then I followed that process :)

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