Kernel configuration parameter changes between Photon 3 & Photon 5

Photon 3 supports a kernel configuration parameter, vfio_pci.disable_resets, which can be used to suppress PCI resets issued when using vfio_pci binding with TCP-RAN.

With Photon 5, this parameter has a different module name, and is now called vfio_pci_core.disable_resets. If the parameter is used with Photon 3, vendor CSARs should change the parameter accordingly for Photon 5.

Driver Naming Convention (Photon 3 vs. Photon 5)

In VMware Telco Cloud Automation 3.1, the driver naming convention has changed for Photon 3 and Photon 5.

Notice that the names and versions for packages with linux-rt-drivers-intel are specified differently for Photon 5 and Photon 3.

Photon 3
type=[ice/iavf/i40e]
  
-name: linux-rt-drivers-intel-[type]-[driver-version]
 version: [kernel-version]
  
ex.
  
packages:  
- name: linux-rt-drivers-intel-ice-1.13.7    
  version: 4.19.305-3.ph3  
- name: linux-rt-drivers-intel-iavf-4.9.5    
  version: 4.19.305-3.ph3  
- name: linux-rt-drivers-intel-i40e-2.22.18    
  version: 4.19.305-3.ph3
Photon 5
type=[ice/iavf/i40e]
  
-name: linux-rt-drivers-intel-[type]
 version: [driver-version]-[spec-release]
  
ex.
  
packages: 
- name: linux-rt-drivers-intel-ice   
  version: 1.13.7-1 
- name: linux-rt-drivers-intel-iavf   
  version: 4.9.5-1 
- name: linux-rt-drivers-intel-i40e   
  version: 2.22.18-1

Kernel configuration parameter changes between Photon 3 & Photon 5

Photon 3 supports a kernel configuration parameter, vfio_pci.disable_resets, which can be used to suppress PCI resets issued when using vfio_pci binding with TCP-RAN.

With Photon 5, this parameter has a different module name, and is now called vfio_pci_core.disable_resets. If the parameter is used with Photon 3, vendor CSARs should change the parameter accordingly for Photon 5.

Conditional CSAR

VMware Telco Cloud Automation 3.1 passes down a new condition schema. This will include infra_requirements for both photon 3 and photon 5.

The following testnf-du example shows two sets of kernel and 2 sets of custom_packages (including 2 sets of kernel_args that are not shown):
topology_template:
 
  node_templates:
 
    testnf:
 
      node_type: tosca.nodes.nfv.VMware.CNF.testnf
 
      properties:
 
        infra_requirements:              <==== photon 5 related requirements
 
      node_components:
 
           kernel:
 
             kernel_type:
 
               name: linux-rt
 
               version: 6.1.70-5.ph5   
 
             kernel_args: ...
 
             kernel_modules:
 
                - name: dpdk
 
                  version: '22.11'
 
              custom_packages:
 
                - name: pciutils
 
                  version: 3.9.0-1.ph5
 
                - name: tuned
 
                  version: 2.19.0-10.ph5
 
                - name: linuxptp
 
                  version: 4.0-1.ph5
 
                - name: stalld
 
                  version: 1.17.1-3.ph5
 
                - name: linux-rt-drivers-intel-ice
 
                  version: 1.12.7-1
 
                - name: linux-rt-drivers-intel-iavf
 
                  version: 4.9.1-1
 
                - name: linux-rt-drivers-intel-i40e
 
                  version: 2.23.17-1
 
         conditional_infra_requirements:
 
         - conditions:                   <==== photon 3 related requirements
 
           - os.major=3
 
           node_components:
 
             kernel:
 
               kernel_type:
 
                 name: linux-rt
 
                 version: 4.19.305-3.ph3
 
                 kernel_args: ...
 
                 kernel_modules:
 
                    - name: dpdk
 
                      version: '21.11'
 
                  custom_packages:
 
                    - name: pciutils
 
                      version: 3.6.2-1.ph3
 
                    - name: tuned
 
                      version: 2.15.0-3.ph3
 
                    - name: linuxptp
 
                      version: 4.0-2.ph3
 
                    - name: stalld
 
                      version: 1.3.0-9.ph3
 
                    - name: linux-rt-drivers-intel-ice-1.12.7
 
                      version: 4.19.305-3.ph3
 
                    - name: linux-rt-drivers-intel-iavf-4.9.1
 
                      version: 4.19.305-3.ph3
 
                    - name: linux-rt-drivers-intel-i40e-2.23.17
 
                      version: 4.19.305-3.ph3
 
...
Notice that the names and versions for packages with linux-rt-drivers-intel are specified differently for photon 5 and photon 3.
Photon 3:
 
type=[ice/iavf/i40e]
 
- name: linux-rt-drivers-intel-[type]-[driver-version]
 
  version: [kernel-version]
 
ex.
 
- name: linux-rt-drivers-intel-i40e-2.23.17
 
  version: 4.19.305-3.ph3
 
Photon 5:
 
type=[ice/iavf/i40e]
 
-name: linux-rt-drivers-intel-[type]
 
-version: [driver-version]-[spec-release]
 
ex.
 
- name: linux-rt-drivers-intel-i40e
 
  version: 2.23.17-1

In the specific Network Function Descriptor tab, navigate to Infrastructure Requirements to see the configuration drop-downs.

Default Configuration is for Photon 5.

Condition: OS Version 3 is Photon 3

If you make changes to packages, you are in the correct configuration section whether it is photon 5 or photon 3.