%define kmod_name mlx5_core %define kmod_vendor redhat %define kmod_rpm_name kmod-redhat-mlx5_core %define kmod_driver_version 5.0_0_dup8.2 %define kmod_driver_epoch %{nil} %define kmod_rpm_release 2 %define kmod_kernel_version 4.18.0-193.el8 %define kmod_kernel_version_min %{nil} %define kmod_kernel_version_dep %{nil} %define kmod_kbuild_dir drivers/net/ethernet/mellanox/mlx5/core %define kmod_dependencies %{nil} %define kmod_dist_build_deps %{nil} %define kmod_build_dependencies %{nil} %define kmod_devel_package 1 %define kmod_devel_src_paths include %define kmod_install_path extra/kmod-redhat-mlx5_core %define kernel_pkg kernel %define kernel_devel_pkg kernel-devel %define kernel_modules_pkg kernel-modules %{!?dist: %define dist .el8_2} %{!?make_build: %define make_build make} %if "%{kmod_kernel_version_dep}" == "" %define kmod_kernel_version_dep %{kmod_kernel_version} %endif %if "%{kmod_dist_build_deps}" == "" %if (0%{?rhel} > 7) || (0%{?centos} > 7) %define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists elfutils-libelf-devel kernel-rpm-macros kmod %else %define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists %endif %endif Source0: %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}.tar.bz2 # Source code patches Patch0: 0001-netdrv-mlx5e-allow-TSO-on-VXLAN-over-VLAN-topologies.patch Patch1: 0002-netdrv-net-reject-PTP-periodic-output-requests-with-.patch Patch2: 0003-netdrv-mlx5-reject-unsupported-external-timestamp-fl.patch Patch3: 0004-netdrv-mlx5e-Reorder-mirrer-action-parsing-to-check-.patch Patch4: 0005-netdrv-net-mlx5e-Move-the-SW-XSK-code-from-NAPI-poll.patch Patch5: 0006-netdrv-mlx5e-Allow-XSK-frames-smaller-than-a-page.patch Patch6: 0007-netdrv-net-Use-skb-accessors-in-network-drivers.patch Patch7: 0008-netdrv-net-mlx5e-xsk-dynamically-allocate-mlx5e_chan.patch Patch8: 0009-netdrv-net-mlx5-E-Switch-add-ingress-rate-support.patch Patch9: 0010-netdrv-net-mlx5e-Tx-Strict-the-room-needed-for-SQ-ed.patch Patch10: 0011-netdrv-net-mlx5e-XDP-Close-TX-MPWQE-session-when-no-.patch Patch11: 0012-netdrv-net-mlx5e-XDP-Slight-enhancement-for-WQE-fetc.patch Patch12: 0013-netdrv-net-mlx5e-Tx-Soften-inline-mode-VLAN-dependen.patch Patch13: 0014-netdrv-net-mlx5e-Rx-checksum-handling-refactoring.patch Patch14: 0015-netdrv-net-mlx5e-Set-tx-reporter-only-on-successful-.patch Patch15: 0016-netdrv-net-mlx5e-TX-reporter-cleanup.patch Patch16: 0017-netdrv-net-mlx5e-Allow-dropping-specific-tunnel-pack.patch Patch17: 0018-netdrv-mlx5-no-need-to-check-return-value-of-debugfs.patch Patch18: 0019-netdrv-net-mlx5-Use-debug-message-instead-of-warn.patch Patch19: 0020-netdrv-net-mlx5-Add-XRQ-legacy-commands-opcodes.patch Patch20: 0021-netdrv-net-mlx5e-Rename-reporter-header-file.patch Patch21: 0022-netdrv-net-mlx5e-Change-naming-convention-for-report.patch Patch22: 0023-netdrv-net-mlx5e-Generalize-tx-reporter-s-functional.patch Patch23: 0024-netdrv-net-mlx5e-Extend-tx-diagnose-function.patch Patch24: 0025-netdrv-net-mlx5e-Extend-tx-reporter-diagnostics-outp.patch Patch25: 0026-netdrv-net-mlx5e-Add-cq-info-to-tx-reporter-diagnose.patch Patch26: 0027-netdrv-net-mlx5e-Add-helper-functions-for-reporter-s.patch Patch27: 0028-netdrv-net-mlx5e-Add-support-to-rx-reporter-diagnose.patch Patch28: 0029-netdrv-net-mlx5e-Split-open-close-ICOSQ-into-stages.patch Patch29: 0030-netdrv-net-mlx5e-Report-and-recover-from-CQE-error-o.patch Patch30: 0031-netdrv-net-mlx5e-Report-and-recover-from-rx-timeout.patch Patch31: 0032-netdrv-net-mlx5e-RX-Handle-CQE-with-error-at-the-ear.patch Patch32: 0033-netdrv-net-mlx5e-Report-and-recover-from-CQE-with-er.patch Patch33: 0034-netdrv-net-mlx5-Improve-functions-documentation.patch Patch34: 0035-include-net-mlx5-Expose-IP-in-IP-capability-bit.patch Patch35: 0036-netdrv-net-mlx5-Add-per-namespace-flow-table-default.patch Patch36: 0037-netdrv-net-mlx5-Create-bypass-and-loopback-flow-stee.patch Patch37: 0038-netdrv-net-mlx5e-Add-tc-flower-tracepoints.patch Patch38: 0039-netdrv-net-mlx5e-Add-trace-point-for-neigh-used-valu.patch Patch39: 0040-netdrv-net-mlx5e-Add-trace-point-for-neigh-update.patch Patch40: 0041-netdrv-net-mlx5-Add-wrappers-for-HyperV-PCIe-operati.patch Patch41: 0042-netdrv-net-mlx5-Fix-return-code-in-case-of-hyperv-wr.patch Patch42: 0043-netdrv-net-mlx5-Set-ODP-capabilities-for-DC-transpor.patch Patch43: 0044-netdrv-net-mlx5e-Change-function-s-position-to-a-mor.patch Patch44: 0045-netdrv-net-mlx5e-Support-RSS-for-IP-in-IP-and-IPv6-t.patch Patch45: 0046-netdrv-net-mlx5e-Improve-stateless-offload-capabilit.patch Patch46: 0047-netdrv-net-mlx5e-Support-TSO-and-TX-checksum-offload.patch Patch47: 0048-netdrv-net-mlx5e-Remove-unlikely-from-WARN-condition.patch Patch48: 0049-netdrv-net-mlx5-Kconfig-Fix-MLX5_CORE-dependency-wit.patch Patch49: 0050-netdrv-net-mlx5e-Use-ipv6_stub-to-avoid-dependency-w.patch Patch50: 0051-netdrv-net-mlx5-Use-PTR_ERR_OR_ZERO-rather-than-its-.patch Patch51: 0052-netdrv-net-mlx5e-kTLS-Remove-unused-function-paramet.patch Patch52: 0053-netdrv-net-mlx5-DR-Remove-useless-set-memory-to-zero.patch Patch53: 0054-netdrv-net-mlx5-DR-Remove-redundant-dev_name-print-f.patch Patch54: 0055-netdrv-drivers-net-Fix-Kconfig-indentation.patch Patch55: 0056-netdrv-net-mlx5e-kTLS-Release-reference-on-DUMPed-fr.patch Patch56: 0057-netdrv-net-mlx5e-kTLS-Size-of-a-Dump-WQE-is-fixed.patch Patch57: 0058-netdrv-net-mlx5e-kTLS-Save-only-the-frag-page-to-rel.patch Patch58: 0059-netdrv-net-mlx5e-kTLS-Save-by-value-copy-of-the-reco.patch Patch59: 0060-netdrv-net-mlx5e-kTLS-Fix-page-refcnt-leak-in-TX-res.patch Patch60: 0061-netdrv-net-mlx5e-kTLS-Fix-missing-SQ-edge-fill.patch Patch61: 0062-netdrv-net-mlx5e-kTLS-Limit-DUMP-wqe-size.patch Patch62: 0063-netdrv-net-mlx5e-kTLS-Remove-unneeded-cipher-type-ch.patch Patch63: 0064-netdrv-net-mlx5e-kTLS-Save-a-copy-of-the-crypto-info.patch Patch64: 0065-netdrv-net-mlx5e-kTLS-Enhance-TX-resync-flow.patch Patch65: 0066-netdrv-net-mlx5e-Remove-incorrect-match-criteria-ass.patch Patch66: 0067-netdrv-mlx5-reject-unsupported-external-timestamp-fl.patch Patch67: 0068-netdrv-net-mlx5e-Fix-ingress-rate-configuration-for-.patch Patch68: 0069-netdrv-net-mlx5e-Add-missing-capability-bit-check-fo.patch Patch69: 0070-include-net-mlx5-Expose-optimal-performance-scatter-.patch Patch70: 0071-netdrv-net-Fix-misspellings-of-configure-and-configu.patch Patch71: 0072-netdrv-net-mlx5-E-Switch-Rename-egress-config-to-gen.patch Patch72: 0073-netdrv-net-mlx5-E-Switch-Rename-ingress-acl-config-i.patch Patch73: 0074-netdrv-net-mlx5-E-switch-Introduce-and-use-vlan-rule.patch Patch74: 0075-netdrv-net-mlx5-Introduce-and-use-mlx5_esw_is_manage.patch Patch75: 0076-netdrv-net-mlx5-Move-metdata-fields-under-offloads-s.patch Patch76: 0077-netdrv-net-mlx5-Move-legacy-drop-counter-and-rule-un.patch Patch77: 0078-netdrv-net-mlx5-Tide-up-state_lock-and-vport-enabled.patch Patch78: 0079-netdrv-net-mlx5-E-switch-Prepare-code-to-handle-vpor.patch Patch79: 0080-netdrv-net-mlx5-E-switch-Legacy-introduce-and-use-pe.patch Patch80: 0081-netdrv-net-mlx5-Move-ACL-drop-counters-life-cycle-cl.patch Patch81: 0082-netdrv-net-mlx5-E-switch-Offloads-introduce-and-use-.patch Patch82: 0083-netdrv-net-mlx5-E-switch-Offloads-shift-ACL-programm.patch Patch83: 0084-netdrv-net-mlx5-Restrict-metadata-disablement-to-off.patch Patch84: 0085-netdrv-net-mlx5-Refactor-ingress-acl-configuration.patch Patch85: 0086-netdrv-net-mlx5-FPGA-support-network-cards-with-stan.patch Patch86: 0087-netdrv-net-mlx5-Remove-unneeded-variable-in-mlx5_unl.patch Patch87: 0088-netdrv-net-mlx5e-Verify-that-rule-has-at-least-one-f.patch Patch88: 0089-netdrv-net-mlx5-Do-not-hold-group-lock-while-allocat.patch Patch89: 0090-netdrv-net-mlx5-Support-lockless-FTE-read-lookups.patch Patch90: 0091-netdrv-net-mlx5e-TX-Dump-WQs-wqe-descriptors-on-CQE-.patch Patch91: 0092-netdrv-net-mlx5-WQ-Move-short-getters-into-header-fi.patch Patch92: 0093-netdrv-net-mlx5e-Bit-sized-fields-rewrite-support.patch Patch93: 0094-netdrv-net-mlx5e-Add-ToS-DSCP-header-rewrite-support.patch Patch94: 0095-netdrv-net-mlx5-rate-limit-alloc_ent-error-messages.patch Patch95: 0096-netdrv-net-mlx5-LAG-Use-port-enumerators.patch Patch96: 0097-netdrv-net-mlx5-fix-kvfree-of-uninitialized-pointer-.patch Patch97: 0098-netdrv-net-mlx5-fix-spelling-mistake-metdata-metadat.patch Patch98: 0099-netdrv-net-mlx5-Dump-of-fw_fatal-use-updated-devlink.patch Patch99: 0100-netdrv-net-mlx5-Simplify-fdb-chain-and-prio-eswitch-.patch Patch100: 0101-netdrv-net-mlx5-Rename-FDB_-tc-related-defines-to-FD.patch Patch101: 0102-netdrv-net-mlx5-Define-fdb-tc-levels-per-prio.patch Patch102: 0103-netdrv-net-mlx5-Accumulate-levels-for-chains-prio-na.patch Patch103: 0104-netdrv-net-mlx5-Refactor-creating-fast-path-prio-cha.patch Patch104: 0105-netdrv-net-mlx5-Add-new-chain-for-netfilter-flow-tab.patch Patch105: 0106-netdrv-net-mlx5-Remove-redundant-NULL-initialization.patch Patch106: 0107-netdrv-net-mlx5-Don-t-write-read-only-fields-in-MODI.patch Patch107: 0108-netdrv-net-mlx5-DR-Refactor-VXLAN-GPE-flex-parser-tu.patch Patch108: 0109-netdrv-net-mlx5-DR-Add-HW-bits-and-definitions-for-G.patch Patch109: 0110-netdrv-net-mlx5-DR-Add-support-for-Geneve-packets-SW.patch Patch110: 0111-netdrv-net-mlx5e-TC-Stub-out-ipv6-tun-create-header-.patch Patch111: 0112-netdrv-net-mlx5e-Remove-redundant-pointer-check.patch Patch112: 0113-netdrv-net-use-rhashtable_lookup-instead-of-rhashtab.patch Patch113: 0114-netdrv-net-mlx5e-Fix-build-error-without-IPV6.patch Patch114: 0115-netdrv-net-mlx5e-E-switch-Fix-Ingress-ACL-groups-in-.patch Patch115: 0116-netdrv-treewide-Use-sizeof_field-macro.patch Patch116: 0117-netdrv-net-mlx5e-Avoid-duplicating-rule-destinations.patch Patch117: 0118-netdrv-net-mlx5e-Always-print-health-reporter-messag.patch Patch118: 0119-netdrv-net-mlx5-Move-devlink-registration-before-int.patch Patch119: 0120-netdrv-Revert-net-mlx5-Support-lockless-FTE-read-loo.patch Patch120: 0121-netdrv-net-mlx5e-Fix-hairpin-RSS-table-size.patch Patch121: 0122-netdrv-net-mlx5-Fix-lowest-FDB-pool-size.patch Patch122: 0123-netdrv-net-mlx5-Update-the-list-of-the-PCI-supported.patch Patch123: 0124-netdrv-net-mlx5-E-Switch-Prevent-ingress-rate-config.patch Patch124: 0125-netdrv-net-mlx5e-kTLS-Fix-corner-case-checks-in-TX-r.patch Patch125: 0126-netdrv-net-mlx5e-kTLS-Remove-redundant-posts-in-TX-r.patch Patch126: 0127-netdrv-net-mlx5e-kTLS-Do-not-send-decrypted-marked-S.patch Patch127: 0128-netdrv-net-mlx5-limit-the-function-in-local-scope.patch Patch128: 0129-netdrv-mlx5-work-around-high-stack-usage-with-gcc.patch Patch129: 0130-netdrv-net-mlx5e-Support-accept-action-on-nic-table.patch Patch130: 0131-netdrv-net-mlx5-Increase-the-max-number-of-channels-.patch Patch131: 0132-netdrv-net-mlx5-Reduce-No-CQ-found-log-level-from-wa.patch Patch132: 0133-netdrv-net-mlx5-Use-async-EQ-setup-cleanup-helpers-f.patch Patch133: 0134-include-net-mlx5-Add-Virtio-Emulation-related-device.patch Patch134: 0135-netdrv-net-mlx5-Expose-vDPA-emulation-device-capabil.patch Patch135: 0136-include-net-mlx5-Add-RoCE-accelerator-counters.patch Patch136: 0137-include-net-mlx5-Expose-relaxed-ordering-bits.patch Patch137: 0138-include-net-mlx5-Add-copy-header-action-struct-layou.patch Patch138: 0139-include-net-mlx5-Add-mlx5_ifc-definitions-for-connec.patch Patch139: 0140-include-net-mlx5e-Expose-FEC-feilds-and-related-capa.patch Patch140: 0141-netdrv-net-mlx5-Refactor-mlx5_create_auto_grouped_fl.patch Patch141: 0142-netdrv-net-mlx5-fs_core-Introduce-unmanaged-flow-tab.patch Patch142: 0143-netdrv-net-mlx5-Add-ignore-level-support-fwd-to-tabl.patch Patch143: 0144-netdrv-net-mlx5-Allow-creating-autogroups-with-reser.patch Patch144: 0145-netdrv-net-mlx5e-Fix-printk-format-warning.patch Patch145: 0146-netdrv-net-mlx5e-Add-mlx5e_flower_parse_meta-support.patch Patch146: 0147-netdrv-net-mlx5-DR-Modify-set-action-limitation-exte.patch Patch147: 0148-netdrv-net-mlx5-DR-Modify-header-copy-support.patch Patch148: 0149-netdrv-net-mlx5-DR-Allow-connecting-flow-table-to-a-.patch Patch149: 0150-netdrv-net-mlx5-IPsec-Fix-esp-modify-function-attrib.patch Patch150: 0151-netdrv-net-mlx5-IPsec-fix-memory-leak-at-mlx5_fpga_i.patch Patch151: 0152-netdrv-net-mlx5e-TX-Error-completion-is-for-last-WQE.patch Patch152: 0153-netdrv-net-mlx5-Deprecate-usage-of-generic-TLS-HW-ca.patch Patch153: 0154-netdrv-net-mlx5-Fix-sleep-while-atomic-in-mlx5_eswit.patch Patch154: 0155-netdrv-net-mlx5e-Reset-RQ-doorbell-counter-before-mo.patch Patch155: 0156-netdrv-net-mlx5e-Fix-crash-in-recovery-flow-without-.patch Patch156: 0157-netdrv-net-mlx5-DR-Fix-postsend-actions-write-length.patch Patch157: 0158-netdrv-net-mlx5e-kTLS-Fix-TCP-seq-off-by-1-issue-in-.patch Patch158: 0159-netdrv-net-mlx5e-kTLS-Fix-wrong-value-in-record-trac.patch Patch159: 0160-netdrv-net-mlx5e-Fix-endianness-handling-in-pedit-ma.patch Patch160: 0161-netdrv-net-mlx5-Clear-LAG-notifier-pointer-after-unr.patch Patch161: 0162-netdrv-net-mlx5_core-Set-IB-capability-mask1-to-fix-.patch Patch162: 0163-netdrv-net-mlx5e-Enhance-ICOSQ-WQE-info-fields.patch Patch163: 0164-netdrv-net-mlx5e-Fix-missing-reset-of-SW-metadata-in.patch Patch164: 0165-netdrv-net-mlx5e-Fix-ICOSQ-recovery-flow-with-Stridi.patch Patch165: 0166-netdrv-net-mlx5e-Do-not-recover-from-a-non-fatal-syn.patch Patch166: 0167-netdrv-net-mlx5e-Define-one-flow-for-TXQ-selection-w.patch Patch167: 0168-netdrv-net-mlx5e-Add-missing-LRO-cap-check.patch Patch168: 0169-netdrv-net-mlx5e-Encapsulate-updating-netdev-queues-.patch Patch169: 0170-netdrv-net-mlx5e-Rename-hw_modify-to-preactivate.patch Patch170: 0171-netdrv-net-mlx5e-Use-preactivate-hook-to-set-the-ind.patch Patch171: 0172-netdrv-net-mlx5e-Fix-configuration-of-XPS-cpumasks-a.patch Patch172: 0173-netdrv-net-mlx5e-Remove-unneeded-netif_set_real_num_.patch Patch173: 0174-netdrv-net-mlx5e-Allow-mlx5e_switch_priv_channels-to.patch Patch174: 0175-netdrv-net-mlx5e-Add-context-to-the-preactivate-hook.patch Patch175: 0176-netdrv-net-mlx5e-Change-inline-mode-correctly-when-c.patch Patch176: 0177-netdrv-net-mlx5e-RX-Use-indirect-calls-wrapper-for-p.patch Patch177: 0178-netdrv-net-mlx5e-RX-Use-indirect-calls-wrapper-for-h.patch Patch178: 0179-netdrv-net-mlx5-sparse-warning-incorrect-type-in-ass.patch Patch179: 0180-netdrv-net-mlx5-sparse-warning-Using-plain-integer-a.patch Patch180: 0181-include-net-mlx5-fix-spelling-mistake-reserverd-rese.patch Patch181: 0182-netdrv-net-mlx5e-Use-netdev_warn-for-errors-for-adde.patch Patch182: 0183-include-net-mlx5-Expose-link-speed-directly.patch Patch183: 0184-netdrv-net-mlx5-Expose-port-speed-when-possible.patch Patch184: 0185-netdrv-net-mlx5-Tidy-up-and-fix-reverse-christmas-or.patch Patch185: 0186-netdrv-net-mlx5-E-Switch-Hold-mutex-when-querying-dr.patch Patch186: 0187-netdrv-net-mlx5-Fix-group-version-management.patch Patch187: 0188-netdrv-net-mlx5e-Don-t-allow-forwarding-between-upli.patch Patch188: 0189-netdrv-net-mlx5-Eswitch-avoid-redundant-mask.patch Patch189: 0190-netdrv-net-mlx5-DR-Change-matcher-priority-parameter.patch Patch190: 0191-netdrv-net-mlx5-DR-Improve-log-messages.patch Patch191: 0192-netdrv-net-mlx5-DR-Remove-unneeded-functions-deceler.patch Patch192: 0193-netdrv-net-mlx5e-Use-netdev_warn-instead-of-pr_err-f.patch Patch193: 0194-netdrv-net-mlx5e-Remove-unused-argument-from-parse_t.patch Patch194: 0195-netdrv-flow_offload-check-for-basic-action-hw-stats-.patch Patch195: 0196-netdrv-net-mlx5-Fix-frequent-ioread-PCI-access-durin.patch Patch196: 0197-netdrv-net-mlx5e-Add-missing-release-firmware-call.patch Patch197: 0198-netdrv-net-mlx5e-Fix-nest_level-for-vlan-pop-action.patch Patch198: 0199-netdrv-net-mlx5e-Fix-pfnum-in-devlink-port-attribute.patch Patch199: 0200-netdrv-net-mlx5-Fix-failing-fw-tracer-allocation-on-.patch Patch200: 0201-netdrv-net-mlx5e-Don-t-trigger-IRQ-multiple-times-on.patch Patch201: 0202-netdrv-net-mlx5e-Get-the-latest-values-from-counters.patch Patch202: 0203-netdrv-net-mlx5-DR-On-creation-set-CQ-s-arm_db-membe.patch Patch203: 0204-netdrv-net-mlx5-Fix-forced-completion-access-non-ini.patch Patch204: 0205-netdrv-net-mlx5-Fix-command-entry-leak-in-Internal-E.patch Patch205: 0206-netdrv-net-mlx5e-Fix-q-counters-on-uplink-represento.patch Patch206: 0207-netdrv-net-mlx5e-en_accel-Add-missing-net-geneve.h-i.patch Patch207: 0208-netdrv-net-mlx5e-Set-of-completion-request-bit-shoul.patch Patch208: 0209-netdrv-mlx5-Update-list-of-unsupported-devices.patch Patch209: 0210-netdrv-mlx5-Remove-the-unsupported-mark-from-Connect.patch Patch210: 0211-netdrv-net-mlx5-TC-Offload-flow-table-rules.patch Patch211: 0212-netdrv-net-mlx5-ft-Use-getter-function-to-get-ft-cha.patch Patch212: 0213-netdrv-net-mlx5-ft-Check-prio-and-chain-sanity-for-f.patch Patch213: 0214-netdrv-net-mlx5-E-Switch-Refactor-chains-and-priorit.patch Patch214: 0215-netdrv-net-mlx5-E-Switch-Increase-number-of-chains-a.patch Patch215: 0216-netdrv-net-mlx5-make-the-symbol-ESW_POOLS-static.patch Patch216: 0217-netdrv-net-mlx5e-Eswitch-Use-per-vport-tables-for-mi.patch Patch217: 0218-netdrv-net-mlx5-E-Switch-Allow-goto-earlier-chain-if.patch Patch218: 0219-netdrv-net-mlx5e-Use-NL_SET_ERR_MSG_MOD-extack-for-e.patch Patch219: 0220-netdrv-net-mlx5e-Reduce-number-of-arguments-in-slow-.patch Patch220: 0221-netdrv-net-mlx5e-Remove-redundant-comment-about-goto.patch Patch221: 0222-netdrv-net-mlx5-Verify-goto-chain-offload-support.patch Patch222: 0223-netdrv-net-mlx5e-Fix-an-IS_ERR-vs-NULL-check.patch Patch223: 0224-netdrv-net-mlx5-Change-the-name-of-steering-mode-par.patch Patch224: 0225-netdrv-net-mlx5e-Add-devlink-fdb_large_groups-parame.patch Patch225: 0226-netdrv-net-mlx5-Introduce-mapping-infra-for-mapping-.patch Patch226: 0227-infiniband-net-mlx5-E-Switch-Move-source-port-on-reg.patch Patch227: 0228-netdrv-net-mlx5-E-Switch-Get-reg_c0-value-on-CQE.patch Patch228: 0229-netdrv-net-mlx5-E-Switch-Mark-miss-packets-with-new-.patch Patch229: 0230-netdrv-net-mlx5e-Rx-Split-rep-rx-mpwqe-handler-from-.patch Patch230: 0231-netdrv-net-mlx5-E-Switch-Restore-chain-id-on-miss.patch Patch231: 0232-netdrv-net-mlx5e-Allow-re-allocating-mod-header-acti.patch Patch232: 0233-netdrv-net-mlx5e-Move-tc-tunnel-parsing-logic-with-t.patch Patch233: 0234-netdrv-net-mlx5e-Disallow-inserting-vxlan-vlan-egres.patch Patch234: 0235-netdrv-net-mlx5e-Support-inner-header-rewrite-with-g.patch Patch235: 0236-netdrv-net-mlx5-E-Switch-Get-reg_c1-value-on-miss.patch Patch236: 0237-netdrv-net-mlx5e-Restore-tunnel-metadata-on-miss.patch Patch237: 0238-netdrv-net-mlx5-E-Switch-Enable-reg-c1-loopback-when.patch Patch238: 0239-netdrv-net-mlx5e-en_rep-Create-uplink-rep-root-table.patch Patch239: 0240-netdrv-net-mlx5-E-Switch-Introduce-global-tables.patch Patch240: 0241-netdrv-net-mlx5-E-Switch-Add-support-for-offloading-.patch Patch241: 0242-netdrv-net-mlx5-E-Switch-Support-getting-chain-mappi.patch Patch242: 0243-netdrv-net-mlx5e-CT-Introduce-connection-tracking.patch Patch243: 0244-netdrv-net-mlx5e-CT-Offload-established-flows.patch Patch244: 0245-netdrv-net-mlx5e-CT-Handle-misses-after-executing-CT.patch Patch245: 0246-netdrv-net-mlx5e-CT-Support-clear-action.patch Patch246: 0247-netdrv-net-mlx5e-CT-Fix-stack-usage-compiler-warning.patch Patch247: 0248-netdrv-net-mlx5e-CT-Use-rhashtable-s-ct-entries-inst.patch Patch248: 0249-netdrv-net-mlx5-CT-Change-idr-to-xarray-to-protect-p.patch Patch249: 0250-netdrv-net-mlx5-E-switch-Fix-mutex-init-order.patch Patch250: 0251-netdrv-net-mlx5-E-Switch-free-flow_group_in-after-cr.patch Patch251: 0252-netdrv-net-mlx5-E-Switch-Enable-restore-table-only-i.patch Patch252: 0253-netdrv-net-mlx5-Add-missing-inline-to-stub-esw_add_r.patch Patch253: 0254-netdrv-net-mlx5-E-Switch-Fix-using-fwd-and-modify-wh.patch Patch254: 0255-netdrv-net-mlx5e-Fix-rejecting-all-egress-rules-not-.patch Patch255: 0256-netdrv-net-mlx5-E-switch-Fix-printing-wrong-error-va.patch Patch256: 0257-netdrv-net-mlx5-E-Switch-Use-correct-type-for-chain-.patch Patch257: 0258-netdrv-net-mlx5e-CT-Avoid-false-warning-about-rule-m.patch Patch258: 0259-netdrv-net-mlx5e-Fix-actions_match_supported-return.patch Patch259: 0260-netdrv-net-mlx5e-CT-Fix-insert-rules-when-TC_CT-conf.patch Patch260: 0261-netdrv-net-mlx5e-CT-remove-set-but-not-used-variable.patch Patch261: 0262-netdrv-net-mlx5e-Fix-missing-pedit-action-after-ct-c.patch Patch262: 0263-netdrv-net-mlx5e-CT-Fix-offload-with-CT-action-after.patch Patch263: 0264-netdrv-net-mlx5-E-switch-Annotate-termtbl_mutex-mute.patch Patch264: 0265-netdrv-net-mlx5-E-switch-Annotate-esw-state_lock-mut.patch Patch265: 0266-netdrv-net-mlx5-Avoid-deriving-mlx5_core_dev-second-.patch Patch266: 0267-netdrv-net-mlx5-Simplify-mlx5_register_device-to-ret.patch Patch267: 0268-netdrv-net-mlx5-Simplify-mlx5_unload_one-and-its-cal.patch Patch268: 0269-netdrv-net-mlx5-Split-eswitch-mode-check-to-differen.patch Patch269: 0270-netdrv-net-mlx5-E-switch-Extend-eswitch-enable-to-ha.patch Patch270: 0271-netdrv-net-mlx5-E-switch-Protect-eswitch-mode-change.patch Patch271: 0272-netdrv-net-mlx5e-Rename-representor-get-devlink-port.patch Patch272: 0273-netdrv-net-mlx5e-Add-support-for-devlink-port-in-non.patch Patch273: 0274-netdrv-net-mlx5e-Use-devlink-virtual-flavour-for-VF-.patch Patch274: 0275-netdrv-net-mlx5e-Fix-devlink-port-register-sequence.patch Patch275: 0276-netdrv-net-mlx5e-Fix-devlink-port-netdev-unregistrat.patch Patch276: 0277-netdrv-net-mlx5-Fix-crash-upon-suspend-resume.patch Patch277: 0278-netdrv-net-mlx5-Add-command-entry-handling-completio.patch Patch278: 0279-netdrv-net-mlx5-Fix-a-race-when-moving-command-inter.patch Patch279: 0280-netdrv-net-mlx5-Avoid-processing-commands-before-cmd.patch Patch280: 0281-netdrv-net-mlx5e-Fix-allowed-tc-redirect-merged-eswi.patch Patch281: 0282-netdrv-net-mlx5e-kTLS-Destroy-key-object-after-destr.patch Patch282: 0283-netdrv-net-mlx5e-Fix-inner-tirs-handling.patch Patch283: 0284-netdrv-net-mlx5-Fix-memory-leak-in-mlx5_events_init.patch Patch284: 0285-netdrv-net-mlx5-Fix-cleaning-unmanaged-flow-tables.patch Patch285: 0286-netdrv-net-mlx5-Don-t-maintain-a-case-of-del_sw_func.patch Patch286: 0287-netdrv-net-mlx5-Annotate-mutex-destroy-for-root-ns.patch Patch287: 0288-netdrv-net-mlx5e-Update-netdev-txq-on-completions-du.patch Patch288: 0289-netdrv-net-mlx5e-CT-Correctly-get-flow-rule.patch Patch289: 0290-netdrv-net-mlx5-Fix-error-flow-in-case-of-function_s.patch Patch290: 0291-netdrv-net-mlx5e-IPoIB-Enable-loopback-packets-for-I.patch Patch291: 0292-netdrv-net-mlx5e-IPoIB-Drop-multicast-packets-that-t.patch Patch292: 0293-netdrv-net-mlx5-DR-Fix-incorrect-type-in-argument.patch Patch293: 0294-netdrv-net-mlx5-DR-Fix-cast-to-restricted-__be32.patch Patch294: 0295-netdrv-net-mlx5-DR-Fix-incorrect-type-in-return-expr.patch Patch295: 0296-netdrv-net-mlx5-Accel-fpga-tls-fix-cast-to-__be64-an.patch Patch296: 0297-netdrv-net-mlx5e-Allow-partial-data-mask-for-tunnel-.patch Patch297: 0298-netdrv-net-mlx5e-en_tc-Fix-incorrect-type-in-initial.patch Patch298: 0299-netdrv-net-mlx5e-en_tc-Fix-cast-to-restricted-__be32.patch Patch299: 0300-netdrv-net-sched-expose-HW-stats-types-per-action-us.patch Patch300: 0301-netdrv-net-mlx5e-Fix-stats-update-for-matchall-class.patch Patch301: 0302-netdrv-net-mlx5e-Properly-set-default-values-when-di.patch Patch302: 0303-netdrv-net-mlx5e-Fix-MLX5_TC_CT-dependencies.patch Patch303: 0304-netdrv-net-mlx5e-replace-EINVAL-in-mlx5e_flower_pars.patch Patch304: 0305-netdrv-net-mlx5e-Remove-warning-devices-are-not-on-s.patch Patch305: 0306-include-net-mlx5-HW-bit-for-goto-chain-offload-suppo.patch Patch306: 0307-include-netfilter-add-include-guard-to-xt_connlabel..patch Patch307: 0308-include-netfilter-fix-include-guards.patch Patch308: 0310-include-net-mlx5-IPSec-Fix-incorrect-type-for-spi.patch Patch309: 0313-netdrv-net-mlx5e-Disable-devlink-port-support-for-no.patch Patch310: 9001-Bump-driver-version.patch Patch311: 9002-Add-mlx_backport_compat-h.patch Patch312: 9003-Add-xsk_umem_adjust_offset.patch Patch313: 9005-reporter_rx-strip-extack-parameter.patch Patch314: 9006-Provide-DEVLINK_PORT_FLAVOUR_VIRTUAL-stub-value.patch Patch315: 9007-Provide-TC_SETUP_FT-definition.patch Patch316: 9008-Add-flow_action_basic_hw_stats_types_check Patch317: 9009-add-NUM_FLOW_ACTIONS.patch %define findpat %( echo "%""P" ) %define __find_requires /usr/lib/rpm/redhat/find-requires.ksyms %define __find_provides /usr/lib/rpm/redhat/find-provides.ksyms %{kmod_name} %{?epoch:%{epoch}:}%{version}-%{release} %define sbindir %( if [ -d "/sbin" -a \! -h "/sbin" ]; then echo "/sbin"; else echo %{_sbindir}; fi ) %define dup_state_dir %{_localstatedir}/lib/rpm-state/kmod-dups %define kver_state_dir %{dup_state_dir}/kver %define kver_state_file %{kver_state_dir}/%{kmod_kernel_version}.%(arch) %define dup_module_list %{dup_state_dir}/rpm-kmod-%{kmod_name}-modules Name: kmod-redhat-mlx5_core Version: %{kmod_driver_version} Release: %{kmod_rpm_release}%{?dist} %if "%{kmod_driver_epoch}" != "" Epoch: %{kmod_driver_epoch} %endif Summary: mlx5_core kernel module for Driver Update Program Group: System/Kernel License: GPLv2 URL: https://www.kernel.org/ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: %kernel_devel_pkg = %kmod_kernel_version %if "%{kmod_dist_build_deps}" != "" BuildRequires: %{kmod_dist_build_deps} %endif ExclusiveArch: x86_64 %global kernel_source() /usr/src/kernels/%{kmod_kernel_version}.$(arch) %global _use_internal_dependency_generator 0 %if "%{?kmod_kernel_version_min}" != "" Provides: %kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu} %else Provides: %kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu} %endif Provides: kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires(post): %{sbindir}/weak-modules Requires(postun): %{sbindir}/weak-modules Requires: kernel >= 4.18.0-193.el8 Requires: kernel < 4.18.0-194.el8 %if 0 Requires: firmware(%{kmod_name}) = ENTER_FIRMWARE_VERSION %endif %if "%{kmod_build_dependencies}" != "" BuildRequires: %{kmod_build_dependencies} %endif %if "%{kmod_dependencies}" != "" Requires: %{kmod_dependencies} %endif # if there are multiple kmods for the same driver from different vendors, # they should conflict with each other. Conflicts: kmod-%{kmod_name} %description mlx5_core kernel module for Driver Update Program %if 0 %package -n kmod-redhat-mlx5_core-firmware Version: ENTER_FIRMWARE_VERSION Summary: mlx5_core firmware for Driver Update Program Provides: firmware(%{kmod_name}) = ENTER_FIRMWARE_VERSION %if "%{kmod_kernel_version_min}" != "" Provides: %kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu} %else Provides: %kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu} %endif %description -n kmod-redhat-mlx5_core-firmware mlx5_core firmware for Driver Update Program %files -n kmod-redhat-mlx5_core-firmware %defattr(644,root,root,755) %{FIRMWARE_FILES} %endif # Development package %if 0%{kmod_devel_package} %package -n kmod-redhat-mlx5_core-devel Version: %{kmod_driver_version} Requires: kernel >= 4.18.0-193.el8 Requires: kernel < 4.18.0-194.el8 Summary: mlx5_core development files for Driver Update Program %description -n kmod-redhat-mlx5_core-devel mlx5_core development files for Driver Update Program %files -n kmod-redhat-mlx5_core-devel %defattr(644,root,root,755) /lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/ %endif %post modules=( $(find /lib/modules/%{kmod_kernel_version}.%(arch)/%{kmod_install_path} | grep '\.ko$') ) printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --add-modules --no-initramfs mkdir -p "%{kver_state_dir}" touch "%{kver_state_file}" exit 0 %posttrans # We have to re-implement part of weak-modules here because it doesn't allow # calling initramfs regeneration separately if [ -f "%{kver_state_file}" ]; then kver_base="%{kmod_kernel_version_dep}" kvers=$(ls -d "/lib/modules/${kver_base%%.*}"*) for k_dir in $kvers; do k="${k_dir#/lib/modules/}" tmp_initramfs="/boot/initramfs-$k.tmp" dst_initramfs="/boot/initramfs-$k.img" # The same check as in weak-modules: we assume that the kernel present # if the symvers file exists. if [ -e "/boot/symvers-$k.gz" ]; then /usr/bin/dracut -f "$tmp_initramfs" "$k" || exit 1 cmp -s "$tmp_initramfs" "$dst_initramfs" if [ "$?" = 1 ]; then mv "$tmp_initramfs" "$dst_initramfs" else rm -f "$tmp_initramfs" fi fi done rm -f "%{kver_state_file}" rmdir "%{kver_state_dir}" 2> /dev/null fi rmdir "%{dup_state_dir}" 2> /dev/null exit 0 %preun if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then mkdir -p "%{kver_state_dir}" touch "%{kver_state_file}" fi mkdir -p "%{dup_state_dir}" rpm -ql kmod-redhat-mlx5_core-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | \ grep '\.ko$' > "%{dup_module_list}" %postun if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then initramfs_opt="--no-initramfs" else initramfs_opt="" fi modules=( $(cat "%{dup_module_list}") ) rm -f "%{dup_module_list}" printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --remove-modules $initramfs_opt rmdir "%{dup_state_dir}" 2> /dev/null exit 0 %files %defattr(644,root,root,755) /lib/modules/%{kmod_kernel_version}.%(arch) /etc/depmod.d/%{kmod_name}.conf %doc /usr/share/doc/%{kmod_rpm_name}/greylist.txt %prep %setup -n %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 %patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 %patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 %patch49 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 %patch54 -p1 %patch55 -p1 %patch56 -p1 %patch57 -p1 %patch58 -p1 %patch59 -p1 %patch60 -p1 %patch61 -p1 %patch62 -p1 %patch63 -p1 %patch64 -p1 %patch65 -p1 %patch66 -p1 %patch67 -p1 %patch68 -p1 %patch69 -p1 %patch70 -p1 %patch71 -p1 %patch72 -p1 %patch73 -p1 %patch74 -p1 %patch75 -p1 %patch76 -p1 %patch77 -p1 %patch78 -p1 %patch79 -p1 %patch80 -p1 %patch81 -p1 %patch82 -p1 %patch83 -p1 %patch84 -p1 %patch85 -p1 %patch86 -p1 %patch87 -p1 %patch88 -p1 %patch89 -p1 %patch90 -p1 %patch91 -p1 %patch92 -p1 %patch93 -p1 %patch94 -p1 %patch95 -p1 %patch96 -p1 %patch97 -p1 %patch98 -p1 %patch99 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch107 -p1 %patch108 -p1 %patch109 -p1 %patch110 -p1 %patch111 -p1 %patch112 -p1 %patch113 -p1 %patch114 -p1 %patch115 -p1 %patch116 -p1 %patch117 -p1 %patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 %patch123 -p1 %patch124 -p1 %patch125 -p1 %patch126 -p1 %patch127 -p1 %patch128 -p1 %patch129 -p1 %patch130 -p1 %patch131 -p1 %patch132 -p1 %patch133 -p1 %patch134 -p1 %patch135 -p1 %patch136 -p1 %patch137 -p1 %patch138 -p1 %patch139 -p1 %patch140 -p1 %patch141 -p1 %patch142 -p1 %patch143 -p1 %patch144 -p1 %patch145 -p1 %patch146 -p1 %patch147 -p1 %patch148 -p1 %patch149 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 %patch153 -p1 %patch154 -p1 %patch155 -p1 %patch156 -p1 %patch157 -p1 %patch158 -p1 %patch159 -p1 %patch160 -p1 %patch161 -p1 %patch162 -p1 %patch163 -p1 %patch164 -p1 %patch165 -p1 %patch166 -p1 %patch167 -p1 %patch168 -p1 %patch169 -p1 %patch170 -p1 %patch171 -p1 %patch172 -p1 %patch173 -p1 %patch174 -p1 %patch175 -p1 %patch176 -p1 %patch177 -p1 %patch178 -p1 %patch179 -p1 %patch180 -p1 %patch181 -p1 %patch182 -p1 %patch183 -p1 %patch184 -p1 %patch185 -p1 %patch186 -p1 %patch187 -p1 %patch188 -p1 %patch189 -p1 %patch190 -p1 %patch191 -p1 %patch192 -p1 %patch193 -p1 %patch194 -p1 %patch195 -p1 %patch196 -p1 %patch197 -p1 %patch198 -p1 %patch199 -p1 %patch200 -p1 %patch201 -p1 %patch202 -p1 %patch203 -p1 %patch204 -p1 %patch205 -p1 %patch206 -p1 %patch207 -p1 %patch208 -p1 %patch209 -p1 %patch210 -p1 %patch211 -p1 %patch212 -p1 %patch213 -p1 %patch214 -p1 %patch215 -p1 %patch216 -p1 %patch217 -p1 %patch218 -p1 %patch219 -p1 %patch220 -p1 %patch221 -p1 %patch222 -p1 %patch223 -p1 %patch224 -p1 %patch225 -p1 %patch226 -p1 %patch227 -p1 %patch228 -p1 %patch229 -p1 %patch230 -p1 %patch231 -p1 %patch232 -p1 %patch233 -p1 %patch234 -p1 %patch235 -p1 %patch236 -p1 %patch237 -p1 %patch238 -p1 %patch239 -p1 %patch240 -p1 %patch241 -p1 %patch242 -p1 %patch243 -p1 %patch244 -p1 %patch245 -p1 %patch246 -p1 %patch247 -p1 %patch248 -p1 %patch249 -p1 %patch250 -p1 %patch251 -p1 %patch252 -p1 %patch253 -p1 %patch254 -p1 %patch255 -p1 %patch256 -p1 %patch257 -p1 %patch258 -p1 %patch259 -p1 %patch260 -p1 %patch261 -p1 %patch262 -p1 %patch263 -p1 %patch264 -p1 %patch265 -p1 %patch266 -p1 %patch267 -p1 %patch268 -p1 %patch269 -p1 %patch270 -p1 %patch271 -p1 %patch272 -p1 %patch273 -p1 %patch274 -p1 %patch275 -p1 %patch276 -p1 %patch277 -p1 %patch278 -p1 %patch279 -p1 %patch280 -p1 %patch281 -p1 %patch282 -p1 %patch283 -p1 %patch284 -p1 %patch285 -p1 %patch286 -p1 %patch287 -p1 %patch288 -p1 %patch289 -p1 %patch290 -p1 %patch291 -p1 %patch292 -p1 %patch293 -p1 %patch294 -p1 %patch295 -p1 %patch296 -p1 %patch297 -p1 %patch298 -p1 %patch299 -p1 %patch300 -p1 %patch301 -p1 %patch302 -p1 %patch303 -p1 %patch304 -p1 %patch305 -p1 %patch306 -p1 %patch307 -p1 %patch308 -p1 %patch309 -p1 %patch310 -p1 %patch311 -p1 %patch312 -p1 %patch313 -p1 %patch314 -p1 %patch315 -p1 %patch316 -p1 %patch317 -p1 set -- * mkdir source mv "$@" source/ mkdir obj %build rm -rf obj cp -r source obj PWD_PATH="$PWD" %if "%{workaround_no_pwd_rel_path}" != "1" PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD") %endif %{make_build} -C %{kernel_source} V=1 M="$PWD_PATH/obj/%{kmod_kbuild_dir}" \ NOSTDINC_FLAGS="-I$PWD_PATH/obj/include -I$PWD_PATH/obj/include/uapi %{nil}" \ EXTRA_CFLAGS="%{nil}" \ %{nil} # mark modules executable so that strip-to-file can strip them find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' + whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}" for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do # update depmod.conf module_weak_path=$(echo "$modules" | sed 's/[\/]*[^\/]*$//') if [ -z "$module_weak_path" ]; then module_weak_path=%{name} else module_weak_path=%{name}/$module_weak_path fi echo "override $(echo $modules | sed 's/.*\///')" \ "$(echo "%{kmod_kernel_version_dep}" | sed 's/\.[^\.]*$//; s/\([.+?^$\/\\|()\[]\|\]\)/\\\0/g').*" \ "weak-updates/$module_weak_path" >> source/depmod.conf # update greylist nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' | sed 's/^\.//' | sort -u | while read -r symbol; do grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist done done sort -u source/greylist | uniq > source/greylist.txt %install export INSTALL_MOD_PATH=$RPM_BUILD_ROOT export INSTALL_MOD_DIR=%{kmod_install_path} PWD_PATH="$PWD" %if "%{workaround_no_pwd_rel_path}" != "1" PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD") %endif make -C %{kernel_source} modules_install \ M=$PWD_PATH/obj/%{kmod_kbuild_dir} # Cleanup unnecessary kernel-generated module dependency files. find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \; install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/%{kmod_rpm_name}/greylist.txt %if 0 %{FIRMWARE_FILES_INSTALL} %endif %if 0%{kmod_devel_package} install -m 644 -D $PWD/obj/%{kmod_kbuild_dir}/Module.symvers $RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/Module.symvers if [ -n "%{kmod_devel_src_paths}" ]; then for i in %{kmod_devel_src_paths}; do mkdir -p "$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$(dirname "$i")" cp -rv "$PWD/source/$i" \ "$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$i" done fi %endif %clean rm -rf $RPM_BUILD_ROOT %changelog * Wed Oct 21 2020 Eugene Syromiatnikov 5.0_0_dup8.2-2 - Bump release due to "Package build kmod-redhat-mlx5_core-5.0_0_dup8.2-1.el8_2 kept gated because not onboarded to gating". * Wed Oct 21 2020 Eugene Syromiatnikov 5.0_0_dup8.2-1 - 86de78c2e6f431762836a4ea5891f891bc0fdcb4 - mlx5_core kernel module for Driver Update Program - Resolves: #bz1889733