Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-19409

Implement `cwnd` feature in nmstate to match nmcli functionality

    • nmstate-2.2.27-1.el9
    • FutureFeature
    • 1
    • rhel-sst-network-management
    • ssg_networking
    • 6
    • 2
    • False
    • Hide

      None

      Show
      None
    • No
    • Red Hat Enterprise Linux
    • NMT - RHEL-9.5 DTM 4
    • Hide

      User story:
      As a network administrator using nmstate on RHEL, I want to set the congestion window (cwnd) for static routes, so that I can have more control over TCP traffic flow and optimize network performance.

      Acceptance criteria:
      Given a system administrator configuring a static route using nmstate on RHEL, 
      When they specify the 'cwnd' (congestion window) value as part of the route configuration,
      Then the route should correctly apply this 'cwnd' value, and it should be verifiable through network tools or logs, demonstrating the effective control of the TCP congestion window for that route.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Unit test and integration test are written and pass
      • The code is part of a build attached to an errata
      • The initial text for this enhancement in the feature-reason-result format (More details here)
      Show
      User story : As a network administrator using nmstate on RHEL, I want to set the congestion window (cwnd) for static routes, so that I can have more control over TCP traffic flow and optimize network performance. Acceptance criteria : Given a system administrator configuring a static route using nmstate on RHEL,  When they specify the 'cwnd' (congestion window) value as part of the route configuration, Then the route should correctly apply this 'cwnd' value, and it should be verifiable through network tools or logs, demonstrating the effective control of the TCP congestion window for that route. Definition of Done : The implementation meets the acceptance criteria Unit test and integration test are written and pass The code is part of a build attached to an errata The initial text for this enhancement in the feature-reason-result format (More details here )
    • Pass
    • Automated
    • Enhancement
    • Hide
      .`nmstate` now supports the congestion window clamp (`cwnd`) option

      With this update, you can use the `cwnd` option of the `nmstate` utility to set a maximum limit on the TCP congestion window size. This way you can control the maximum amount of unacknowledged data expressed as a number of packets that can be in transit over the network at any given time. The following example YAML file sets the `cwnd` option:

      ----
      ---
      interfaces:
        - name: eth1
          type: ethernet
          state: up
          ipv4:
            address:
              - ip: 192.0.2.251
                prefix-length: 24
            dhcp: false
            enabled: true

      routes:
        config:
          - destination: 198.51.100.0/24
            metric: 150
            next-hop-address: 192.0.2.1
            next-hop-interface: eth1
            table-id: 254
            cwnd: 20
      ----
      Show
      .`nmstate` now supports the congestion window clamp (`cwnd`) option With this update, you can use the `cwnd` option of the `nmstate` utility to set a maximum limit on the TCP congestion window size. This way you can control the maximum amount of unacknowledged data expressed as a number of packets that can be in transit over the network at any given time. The following example YAML file sets the `cwnd` option: ---- --- interfaces:   - name: eth1     type: ethernet     state: up     ipv4:       address:         - ip: 192.0.2.251           prefix-length: 24       dhcp: false       enabled: true routes:   config:     - destination: 198.51.100.0/24       metric: 150       next-hop-address: 192.0.2.1       next-hop-interface: eth1       table-id: 254       cwnd: 20 ----
    • Done
    • All
    • None

      What were you trying to do that didn't work?

       

      Use nmstate to have all options that nmcli provides. These include:

       

      cwnd=N

      lock-cwnd=true|false

      lock-mtu=true|false

      lock-window=true|false

      mtu=N

      onlink=true|false

      scope=N

      src=address

      table=table_id

      tos=N

      type=value

      window=N

       

      See for reference: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-static-routes_configuring-and-managing-networking#how-to-use-the-nmcli-command-to-configure-a-static-route_configuring-static-routes

      Please provide the package NVR for which bug is seen:

      How reproducible: 100%

      Steps to reproduce

      1.  This feature does not exists and is not documented.
      2.  
      3.  

      Expected results

      Actual results

              ihuguet@redhat.com Inigo Huguet
              rhn-gps-mwhitehe Matthew Whitehead
              Inigo Huguet Inigo Huguet
              Mingyu Shi Mingyu Shi
              Jaroslav Klech Jaroslav Klech
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated:
                Resolved: