Configure Platform Network Bandwidth using the CLI

You can apply rate-limiting on platform interfaces using the CLI.

Rate-limiting platform network is different from rate-limiting SR-IOV interfaces of data networks. For details on applying rate-limiting on SR-IOV, see Configure VF Interfaces Rate Limiting Using the CLI.

This is applicable for external platform traffic and not for internal cluster management traffic. This capability limits the bandwidth consumption while performing operations, such as subcloud prestaging, subcloud remote backup, leaving more bandwidth for application workloads.

There are two interface configuration parameters:

  • max-tx-rate: For rate-limiting Egress traffic bandwidth.

  • max-rx-rate: For rate-limiting Ingress traffic bandwidth.

Follow the guidelines below while using this feature:

  • Rate-limiting is applicable to the maximum transmission/receiving rate.

  • Rate-limiting is disabled by default.

  • Interfaces with ifclass: platform and iftype: ethernet/AE/VLAN are allowed for rate-limiting platform traffic.

  • The units are Mbps, and the value 0 means turn off the rate limiting.

  • Network types pxeboot, cluster-host are considered as internal platform traffic and they are not allowed for rate-limiting.

  • Management network types are allowed for rate-limiting only in the Distributed Cloud setup, where the traffic from System Controller to a subcloud is considered external.

  • OAM, admin network types are allowed for rate-limiting.

Operational Conditions

  • Rate-limiting parameters can be modified at runtime without locking the host.

  • An interface can be created with rate-limiting parameters, however the host needs to be locked.

  • If a network type is not assigned for an interface, rate-limiting will not take place. For configuring rate-limiting, make sure to follow the guidelines mentioned above.

  • To check if an interface has network type assigned, run the following command:

    ~(keystone_admin)$ system interface-network-list controller-0 admin0
    

    Empty response can be expected when no network is assigned to the interface.

  • To assign network to an interface, run the following command:

    ~(keystone_admin)$ system interface-network-assign HOST_NAME IF_NAME NETWORK
    

    For more information on interface networks, see Attach Ethernet Interfaces to Networks Using the CLI.

Create a New Interface

Procedure

  1. Lock the host.

    ~(keystone_admin)$ system host-lock controller-0
    
  2. Create an interface with rate-limiting configuration.

    ~(keystone_admin)$ system host-if-add -c platform --max-tx-rate 30 --max-rx-rate 30 controller-0 admin0 ethernet ens1f0
    
  3. Unlock the host.

    ~(keystone_admin)$ system host-unlock controller-0
    

Note

  • Units for max-tx-rate/max-rx-rate are Mbps.

  • max-tx-rate and max-rx-rate can be configured independent of each other.

Modify an Existing Interface

To modify an existing interface, run the following command:

~(keystone_admin)$ system host-if-modify --max-tx-rate=40 --max-rx-rate=40 controller-0 admin0

To remove the rate-limit configuration, specify a value of zero.

~(keystone_admin)$ system host-if-modify controller-0 admin0 --max-tx-rate=0

To check if rate-limit is configured for an interface, run the following command:

~(keystone_admin)$ system host-if-list controller-0

max_tx_rate and max_rx_rate are displayed in the attributes column of an interface.

Note

To modify rate-limit at runtime (without host-lock/unlock), ensure that the modifying parameters are either max-tx-rate or max-rx-rate or both. Any other interface parameter, such as MTU will force a host-lock/unlock.