Skip to content

Commit fa3d696

Browse files
TELCODOCS-1280: First draft
1 parent bfe2a14 commit fa3d696

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

hardware_enablement/kmm-kernel-module-management.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ include::modules/kmm-installing-using-cli.adoc[leveloffset=+2]
1717
include::modules/kmm-installing-older-versions.adoc[leveloffset=+2]
1818
include::modules/kmm-deploying-modules.adoc[leveloffset=+1]
1919
include::modules/kmm-creating-module-cr.adoc[leveloffset=+2]
20+
21+
// Added for TELCODOCS-1280
22+
include::modules/kmm-setting-soft-dependencies-between-kernel-modules.adoc[leveloffset=+2]
23+
2024
include::modules/kmm-security.adoc[leveloffset=+2]
2125

2226
[role="_additional-resources"]
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hardware_enablement/kmm-kernel-module-management.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="kmm-setting-soft-dependencies-between-kernel-modules_{context}"]
7+
= Set soft dependencies between kernel modules
8+
9+
Some configurations require that several kernel modules be loaded in a specific order to work properly, even though the modules do not directly depend on each other through symbols.
10+
These are called soft dependencies.
11+
`depmod` is usually not aware of these dependencies, and they do not appear in the files it produces.
12+
For example, if `mod_a` has a soft dependency on `mod_b`, `modprobe mod_a` will not load `mod_b`.
13+
14+
You can resolve these situations by declaring soft dependencies in the Module Custom Resource Definition (CRD) using the `modulesLoadingOrder` field.
15+
16+
[source,yaml]
17+
----
18+
# ...
19+
spec:
20+
moduleLoader:
21+
container:
22+
modprobe:
23+
moduleName: mod_a
24+
dirName: /opt
25+
firmwarePath: /firmware
26+
parameters:
27+
- param=1
28+
modulesLoadingOrder:
29+
- mod_a
30+
- mod_b
31+
----
32+
33+
In the configuration above:
34+
35+
* The loading order is `mod_b`, then `mod_a`.
36+
* The unloading order is `mod_a`, then `mod_b`.
37+
38+
[NOTE]
39+
====
40+
The first value in the list, to be loaded last, must be equivalent to the `moduleName`.
41+
====

0 commit comments

Comments
 (0)