You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

Preferred Network Interface(PNI) is a feature introduced in RDK to avoid the confusion related to network connectivity and switch seamlessly between different interfaces. currently it is meant for wifi and ethernet interfaces.

Background

For RDK client profiles, the network connectivity options are usually two, ethernet and WiFi.Ethernet connectivity is preferred to WiFi, but the option to choose interface is exposed to user.

Features

Services involved

pni_settings_loader.service

This service is managed by systemd.This is mostly used to load the persisted data from previous runs.

pni_controller.service

This services is controlled by netsrvmgr service. This is invoked every time a network interface status is changed. Possible scernarios include, but not limited to

  • Ethernet connect/disconnect
  • invoking setInterfaceEnabled API
  • Wifi endpoint connect/disconnect.

Environment Settings

Three variables are defined for PNI. These variables are defined in pni_controller.service

  • CONFIG_DISABLE_PNI
       - determines whether PNI is enabled in the device.
  • CONFIG_DISABLE_CONNECTIVITY_TEST
        - determines whether a connectivity test needs to be done after network is established
  • CONFIG_ALLOW_PNI_TO_DISABLE_WIFI
       - determines whether PNI can disable wifi interface altogether or remove route and ip address information alone.

RDK Feature Control(RFC) settings

Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PreferredNetworkInterface

   - Use this RFC to set WiFi as default interface. By default Ethernet is the default interface.

Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Network.AllowDisableDefaultNetwork

 - Use this to disable interface irrespective of whether the interface is the active interface or not.
    If this RFC is not enabled, you can only disable passive interfaces.

References

RDK-14208 (1.0)

RDK-29489 (2.0)

Networking Details

  • No labels