Skip to content

Release v1.13.0-1

Compare
Choose a tag to compare
@biplamal biplamal released this 13 Sep 07:56
· 24 commits to main since this release
6dcb821

Build Details

Component Version
Open Traffic Generator API 1.13.0
snappi 1.13.0
gosnappi 1.13.0
keng-controller 1.13.0-1
ixia-c-traffic-engine 1.8.0.25
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.399
keng-layer23-hw-server 1.13.0-3
keng-operator 0.3.30
otg-gnmi-server 1.14.14
ixia-c-one 1.13.0-1
UHD400 1.4.0

Release Features(s)

  • gosnappi: gosnappi is updated to work with go >= v1.21.

    • Older versions of go are no longer supported.
      • When older version of go is installed on the server, User will be liable to get errors like "slices: package slices is not in GOROOT (/root/.local/go/src/slices)".

    Note: keng-controller and otg-gnmi-server are upgraded to use go v1.23.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Support added for BGP GracefulRestart Notification Enhancement based on RFC8538​.

    • To enable advertisement of Notification support in GracefulRestart capability:
        peer.GracefulRestart().SetEnableNotification(true)​
    • To optionally send Notification when peer is going down during InitiateGracefulRestart trigger:​
        grAction := gosnappi.NewControlAction()​
        bgpPeersRestart := grAction.Protocol().Bgp().InitiateGracefulRestart()​
        bgpPeersRestart.​
            SetPeerNames([]string{"peer1"}).​
            SetRestartDelay(20)​
        notification:= bgpPeersRestart.Notification()​
        if sendHardReset == true {              	​
          notification.Cease().SetSubcode(​
            gosnappi.DeviceBgpCeaseErrorSubcode.HARD_RESET_CODE6_SUBCODE9)​
        } 
        else {​
          /* Send anything else except hard reset */notification.Cease().SetSubcode(​
              gosnappi.DeviceBgpCeaseErrorSubcode.OUT_OF_RESOURCES_CODE6_SUBCODE8)​
        }​
  • Ixia Chassis & Appliances(Novus, AresOne): Support added to update traffic rate on the fly.

      req := gosnappi.NewConfigUpdate()
      reqFlow := req.Flows().SetPropertyNames([]gosnappi.FlowsUpdatePropertyNamesEnum{
        gosnappi.FlowsUpdatePropertyNames.RATE,
      })
      f1.Rate().SetPps(100) // f1 is an existing flow in the config
      reqFlow.Flows().Append(f1)
        gosnappi.NewApi().UpdateConfig(req)

Bug Fix(s)

  • UHD400: Issue where flows[i].packet.ipv6.dst.increment was not being reflected in transmitted packets when two or more flows were configured, is now fixed.

Known Issues

  • Ixia Chassis & Appliances(Novus, AresOne): If keng-layer23-hw-server version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests.
  • Ixia Chassis & Appliances(Novus, AresOne): StartProtocols/set_control_state.protocol.all.start can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: Supported value for flows[i].metrics.latency.mode is cut_through.
  • Ixia-C: The metric loss in flow metrics is currently not supported.
  • Ixia-C: When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.