Skip to content

Releases: open-traffic-generator/ixia-c

Release v1.48.0-5

11 Mar 06:41

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.48.0
snappi 1.48.0
gosnappi 1.48.0
keng-controller 1.48.0-5
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.507
keng-layer23-hw-server 1.48.0-4
keng-operator 0.3.34
otg-gnmi-server 1.48.0
ixia-c-one 1.48.0-5
UHD400 1.5.10

Release Feature(s):

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for retrieval of BGP MPLS IPv4/v6 labeled unicast prefixes. details

    • To enable storage of MPLS prefixes,
          bgpPeer.LearnedInformationFilter().SetIpv4MplsUnicastPrefix(true).SetIpv6MplsUnicastPrefix(true)
    • To fetch prefixes,
          req := gosnappi.NewStatesRequest()
          req.BgpPrefixes().SetBgpPeerNames(peerNames)
          req.BgpPrefixes().SetPrefixFilters([]gosnappi.BgpPrefixStateRequestPrefixFiltersEnum{
              gosnappi.BgpPrefixStateRequestPrefixFilters.IPV4_MPLS_UNICAST,
              gosnappi.BgpPrefixStateRequestPrefixFilters.IPV6_MPLS_UNICAST,
          })
          res, _ := client.GetStates(req)
          // MPLS Prefix information can be accessed within the following objects.
          res.BgpPrefixes().Ipv4MplsUnicastPrefixes()
          res.BgpPrefixes().Ipv6MplsUnicastPrefixes()

    Note: gNMI support will be added in subsequent sprints.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for sending and withdrawing IPv4 routes from BGPv4 peers using MP_REACH/UNREACH NLRIs. details

        bgpPeer := bgpIntf.
                Peers().
                Add().
                ...
                .SetTraditionalNlriForIpv4Routes(false) 

    Note: Default behavior is to send/withdraw IPv4 routes from BGPv4 peers using Traditional REACH/UNREACH NLRI.

Bug Fix(s):

Ixia-C & UHD400 Issue is fixed in DHCPv4 client where the client was unable to use the offered address provided by pre-configured DHCPv4 server.

Ixia Chassis & Appliances(Novus, AresOne) Issue is fixed for RSVP-TE where assigned ERO was not being published for get_states for rsvp_lsps[i].ipv4_lsps[j].eros on the ingress test port.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.45.0-5

24 Feb 07:32

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.45.0
snappi 1.45.0
gosnappi 1.45.0
keng-controller 1.45.0-5
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.504
keng-layer23-hw-server 1.45.0-4
keng-operator 0.3.34
otg-gnmi-server 1.45.1
ixia-c-one 1.45.0-5
UHD400 1.5.10

Release Feature(s):

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for enabling and fetching data-integrity port statistics in set_config and get_metrics. details

    • To configure enable data-integrity at global level.
        cfg.Options().PortOptions().SetDataIntegrity(true)
    • to fetch data-integrity metrics use the following snippet.

          req := gosnappi.NewMetricsRequest()
          reqPort := req.Port()
          reqPort.SetPortNames([]string{"port1", "port2"})
          res, err := client.GetMetrics(req)
      • If data-integrity is enabled, new object called data-integrity will be returned in the port metrics which will contain two new fields total-frames-rx and error-frames-rx.
    • gNMI support details:

          ports/port[name=*]/state/data-integrity
      

      Note: featureprofiles users needs to sync to latest otherwise retrieval of OTG Port counters/state using gNMI might give incorrect results.

    Note: Only frames generated from flows will have data-integrity enabled.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for capturing rx packets on ports using pcapng format.

        c1 := config.Captures().Add().SetName("Capture")
        c1.SetPortNames([]string{"port1"})
        c1.SetFormat("pcapng")
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: gNMI support is added for link-bandwidth subtype in transitive_2octet_as_type under extended_communities for BGP/BGP+ routes in get_states. details

      bgp-peers/bgp-peer[name=*]/unicast-ipv4-prefixes/unicast-ipv4-prefix/state/extended-community[i]/structured/transitive_2octet_as_type/link_bandwidth_subtype
    
      bgp-peers/bgp-peer[name=*]/unicast-ipv6-prefixes/unicast-ipv6-prefix/state/extended-community[i]/structured/transitive_2octet_as_type/link_bandwidth_subtype
    

    Note: featureprofiles users needs to sync to latest otherwise retrieval of OTG BGP counters/state using gNMI might give incorrect results.

Bug Fix(s):

  • Ixia-C & UHD400: Issue is fixed in BGP/BGP+ where the pod/container would sometimes restart on trying to start BGP for the first time with ixstack_bgp_accept_check backtrace present in the protocol-engine logs, especially on slower systems.

  • Ixia-C & UHD400: The default mode of transmission of BGPv4 routes from BGP peers is changed from MP_REACH/UNREACH to Traditional REACH/UNREACH, to bring it in sync with default behavior of Ixia Chassis & Appliances(Novus, AresOne).

  • otg-gnmi-server: Issue is fixed in models-yang due to which error schema "lsp-id": "192000002001-00-00" does not match regular expression pattern "^([0-9a-fA-F]*)$" would be seen during gNMI client validation when accessing ISIS lsp-id using /isis-routers/isis-router[name=*]/state/link-state-database/lsp-states/lsps[lsp-id=*][pdu-type=*]/state/lsp-id.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.44.0-8

09 Feb 09:11
c84cfc1

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.44.0
snappi 1.44.0
gosnappi 1.44.0
keng-controller 1.44.0-8
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.501
keng-layer23-hw-server 1.44.0-8
keng-operator 0.3.34
otg-gnmi-server 1.44.1
ixia-c-one 1.44.0-8
UHD400 1.5.10

Release Feature(s):

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for link_bandwidth_subtype in transitive_2octet_as_type under extended_communities for BGP/BGP+ routes in set_config and get_states. details

    • To configure:
          ext_comm := route.ExtendedCommunities().Add()
          ext_comm.Transitive2OctetAsType().LinkBandwidthSubtype().
                          SetGlobal2ByteAs(peer.AsNumber()).
                          SetBandwidth(10000.0)
    • To fetch:
          req := gosnappi.NewStatesRequest()
          req.BgpPrefixes().SetBgpPeerNames(peerNames)
          res, err := client.GetStates(req)
          if err != nil {
              return nil, err
          }
          
          learnedRoutes := res.BgpPrefixes()
          liFirstPeer := actualBGPv4Prefix.Items()[0]
          route := liFirstPeer.Ipv4UnicastPrefixes().Items()[0]
          extComm := route.ExtendedCommunities().Items()[0]
          if ( extComm.Structured().Transitive2OctetAsType().LinkBandwidthSubtype().Bandwidth()!= 1000.0 ||
                  extComm.Structured().Transitive2OctetAsType().LinkBandwidthSubtype().Global2ByteAs() != 65000){
                  t.Fatal("Bandwidth value / AS value not as expected.")
          }

    Note: gNMI support will be added in the subsequent sprint once ondatra incorporates latest models-yang.

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for auto detection of port left in dirty state by other user and automatic reboot during set_config.

Bug Fix(s):

  • otg-gnmi-server: Issue is fixed in models-yang due to which error validation failed: /device/flows/flow/tagged-metrics/tagged-metric/state/tags/tag-value/value-as-hex: schema "value-as-hex": "0x02" does not match regular expression pattern "^([0-9a-fA-F]*)$" would be seen during gNMI client validation for tagged metrics.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Issue is fixed where incorrect packet template related to ICMPv6 over IPv4 and ICMPv4 over IPv6 was incorrectly accepted by the controller, resulting in incorrect behavior including context deadline exceeded error. Instead proper error will now be returned on set_config and only valid configurations of icmp over ipv4 and icmpv6 over ipv6 will be accepted.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where in certain scenarios the time taken for set_config API was seen to be increasing for large number of iterations.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.43.0-7

29 Jan 07:10

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.43.0
snappi 1.43.0
gosnappi 1.43.0
keng-controller 1.43.0-7
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.494
keng-layer23-hw-server 1.43.0-3
keng-operator 0.3.34
otg-gnmi-server 1.43.0
ixia-c-one 1.43.0-7
UHD400 1.5.10

Release Feature(s):

  • Ixia Chassis & Appliances(Novus, AresOne): reboot support is added for port in set_control_action.
        // port reboot action with empty port-names - to reboot all ports in the otg configuration
        ca1 := gosnappi.NewControlAction()
        ca1.Port().Reboot()
        result, err := client.Api().SetControlAction(ca1)
    
        // port reboot action with specific port-names - to reboot specific ports in the otg configuration
        ca2 := gosnappi.NewControlAction()
        ca2.Port().Reboot().SetPortNames([]string{"port1", "port2"})
        result, err := client.Api().SetControlAction(ca2)
    • same could be achieved using curl/Rest Api after a successful set_config operation,
          curl -k -X POST -H "Content-Type: application/json" --data-binary "@rebootports.json" https://<controller-ip>:8443/control/action
      
          // port reboot action with empty port-names - to reboot all ports in the otg configuration
          rebootports.json:
          {
              "choice": "port",
              "port": {
                  "choice": "reboot"
              }
          }
      
          // port reboot action with specific port-names - to reboot specific ports in the otg configuration
          rebootports.json:
          {
              "choice": "port",
              "port": {
                  "choice": "reboot",
                  "reboot":{
                      "port_names": ["port1", "port2"]
                  }
              }
          }

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.42.1-4

22 Dec 06:47
8f2c51f

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.42.1
snappi 1.42.1
gosnappi 1.42.1
keng-controller 1.42.1-4
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.491
keng-layer23-hw-server 1.42.1-2
keng-operator 0.3.34
otg-gnmi-server 1.42.5
ixia-c-one 1.42.1-4
UHD400 1.5.10

Release Feature(s):

  • Ixia Chassis & Appliances(Novus, AresOne): ping support is added for IPv4/v6 protocol in set_control_action.

        // IPv4 Ping
        ca := gosnappi.NewControlAction()
        pa := ca.Protocol().Ipv4().Ping()
        // If the requests list is not provided, by default ping will be invoked for all IPv4 and IPv4 Loopback interfaces in the current configuration.
        // requests is list of local IPv4 interface name + Destination IPv4 tuple
        for _, req := range requests {
            pingReq := gosnappi.NewActionProtocolIpv4PingRequest().SetSrcName(req.SrcName).SetDstIp(req.DstIp)
            pa.Requests().Append(pingReq)
        }
    
        result, err := client.Api().SetControlAction(ca)
    
        // process responses
        pingResponseItems := result.Response().Protocol().Ipv4().​Ping().Responses().Items()
        for _, actM := range pingResponseItems {
            t.Logf("%v  %v : %v", actM.SrcName(), actM.DstIp(), actM.Result()) // Where Result is success or failure.
        }
    
        // IPv6 Ping
        ca := gosnappi.NewControlAction()
        pa := ca.Protocol().Ipv6().Ping()
        // If the requests list is not provided, by default ping will be invoked for all IPv6 and IPv6 Loopback interfaces in the current configuration.
        // requests is list of local IPv6 interface name + Destination IPv6 tuple
        for _, req := range requests {
            pingReq := gosnappi.NewActionProtocolIpv6PingRequest().SetSrcName(req.SrcName).SetDstIp(req.DstIp)
            pa.Requests().Append(pingReq)
        }
    
        // Result processing is similar to IPv4 above.
    • using curl/Rest Api,
          curl -k -X POST -H "Content-Type: application/json" --data-binary "@ping.json" https://<controller-ip>:8443/control/action
      
          cat ping.json
          {
              "choice": "protocol",
                  "protocol": {
                      "choice": "ipv4",
                      "ipv4": {
                          "choice": "ping"
                  }
              }
          }
  • Ixia Chassis & Appliances(Novus, AresOne): Support of Ingress Flow tracking is added for any combination of supported fields with metric_tags up to a maximum combined tracking bits of 12, which includes flow tracking as well.

        flow := cfg.Flow().Add()​
        flow.Packet().Add().Ethernet()​
        ipv4 := flow.Packet().Add().Ipv4()​
        ipv4.Src().MetricTags().Add().SetName("src").SetLength(32)​ // Currently the maximum length of the field being tracked must be provided.
        ipv4.Dst().MetricTags().Add().SetName("dst").SetLength(32) // Ingress tracking for partial bits in a field is not supported.
    • User can set get_metrics.flow.tagged_metrics.include=false not to include tagged_metrics in the flow_metrics response.
    • Specific tagged_metrics can be fetched by setting get_metrics.flow.tagged_metrics.filters[i].name.
    • Support is available in gNMI to fetch the drill-down statistics for ingress tracking as follows. details:
          1. Flow level metrics + Tagged Metrics:
              example path: "flows/flow[name=f1]“
          2. Only Tagged metrics 
              example path: "flows/flow[name=f1]/tagged-metrics“
          3. Filtered Tagged metrics: 
              example path: "flows/flow[name=f1]/tagged-metrics/tagged-metric[name-value-pairs=flow_ipv6_dst=0x2]”
      

    Note: Ingress and Egress tracking together, is currently not supported.

Bug Fix(s):

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Issue is fixed where context deadline was being seen intermittently for large ISIS configurations especially with Simulated Topology for repeated set_config, set_control_state.protocol.start/stop actions, due to port crashes while processing ISIS Hellos.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.42.0-4

08 Dec 09:00
896a7eb

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.42.0
snappi 1.42.0
gosnappi 1.42.0
keng-controller 1.42.0-4
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.488
keng-layer23-hw-server 1.42.0-4
keng-operator 0.3.34
otg-gnmi-server 1.42.4
ixia-c-one 1.42.0-4
UHD400 1.5.10

Release Feature(s):

  • Ixia-C, UHD400 & Ixia Chassis & Appliances(Novus, AresOne): Support added for BGP Monitoring Protocol (BMP). details
        p1 := config.Ports().Add().SetName("p1").SetLocation("...")
        device := config.Devices().Add().SetName("p1.dev1")
        ...
        bmpIntf := device.Bmp().Ipv4Interfaces().Add()
        bmpIntf.SetIpv4Name("p1.dev1.eth1.ipv4")
    
        bmpServer := bmpIntf.Servers().Add()
        bmpServer.SetName(device.Name()+".bmp")
        bmpServer.SetClientIp("1.1.1.1")
        // To control which TCP port on which to accept requests from DUT BMP Client.
        bmpServer.Connection().Passive().SetListenPort(10123)
    
        //To store all routes
        //bmpServer.PrefixStorage().Ipv4Unicast().Store()
    
        //Store specifically needed routes
        discard := bmpServer.PrefixStorage().Ipv4Unicast().Discard()
        discard.Exceptions().Add().
                SetIpv4Prefix("172.16.0.0").
                SetPrefixLength(16)
    
        //Store all IPv6 prefixes
        // bmpServer.PrefixStorage().Ipv6Unicast().Store()
    
        //Store subset of IPv6 prefixes
        v6discard := bmpServer.PrefixStorage().Ipv6Unicast().Discard()
        v6discard.Exceptions().Add().
                SetIpv6Prefix("172:16:0:1::").
                SetPrefixLength(64)
            
        //To get BMP Metrics: 
        reqMetrics := gosnappi.NewMetricsRequest()
        reqMetrics.BmpServer()
        bmpMetrics, err := client.Api().GetMetrics(reqMetrics)
        ...
    
        // To get BMP State info ( the per peer stats/prefixes information sent by BMP Client) 
        reqStates := gosnappi.NewStatesRequest()
        reqStates.BmpServers()
        bmpState, err := client.Api().GetStates(reqStates)
    • gNMI support added to fetch metics and states of BGP Monitoring Protocol (BMP) models-yang.

          // metrics
          bmp-servers/bmp-server[name=*]/state/counters
          
          // states
          bmp-servers/bmp-server[name=*]/state/peer-state-database/peers
      

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.41.0-8

24 Nov 10:41
4d7255a

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.41.0
snappi 1.41.0
gosnappi 1.41.0
keng-controller 1.41.0-8
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.486
keng-layer23-hw-server 1.41.0-5
keng-operator 0.3.34
otg-gnmi-server 1.41.0
ixia-c-one 1.41.0-8
UHD400 1.5.10

Bug Fix(s):

  • Ixia Chassis & Appliances(Novus): Issue is fixed where if protocols were restarted followed by restart of previously configured flows , flow packets were not being transmitted on the wire and flow tx metrics stayed at 0. This issue is specific to Novus load module.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where for certain cases multiple consecutive API calls would fail and result in 'potential deadlock' related messages in keng-layer23-hw-server logs. Now if keng-layer23-hw-server is stuck & busy on processing last API, future API calls will immediately fail with proper error instead of earlier 'context deadline' error after timeout of 10 min.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.41.0-1

11 Nov 08:07
11ddb6c

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.41.0
snappi 1.41.0
gosnappi 1.41.0
keng-controller 1.41.0-1
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.483
keng-layer23-hw-server 1.41.0-2
keng-operator 0.3.34
otg-gnmi-server 1.41.0
ixia-c-one 1.41.0-1
UHD400 1.5.10

Release Features(s):

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for BGP/BGP+ labeled IPv4/v6 unicast routes.
    • To configure single label.
        peer.Capability().SetIpv4Mpls(true).SetIpv6Mpls(true)​
        peerRoutes := peer.​
            V4Routes().Add().SetName("peer.routes")​
        peerRoutes.Addresses().Add().SetAddress("20.20.20.1").SetPrefix(32).SetCount(2)
    
        peerRouteLabel := peerRoutes.MplsLabels()​
        peerRouteLabel.Labels().Add().SetStart(10000).SetStep(10)
        // This will result in prefix 20.20.20.1/32 to be sent with label 10000 and
        // prefix 20.20.20.2/32 to be sent with label 10010
    • To configure multiple labels.
        multiMpls := peer.Capability().MultipleIpv4Mpls()​
        multiMpls.SetLabelCount(2)
        peerRoutes := peer.​
            V4Routes().Add().SetName("peer.routes")​
        peerRoutes.Addresses().Add().SetAddress("20.20.20.1").SetPrefix(32).SetCount(2)
    
        peerRouteLabels := peerRoutes.MplsLabels()​
        peerRouteLabels.Labels().Add().SetStart(10000)​.SetStep(10)
        peerRouteLabels.Labels().Add().SetStart(20000).SetStep(10)
        // This will result in prefix 20.20.20.1/32 to be sent with label stack 10000, 20000 and
        // prefix 20.20.20.2/32 to be sent with label stack 10010, 20020

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.40.0-15

24 Oct 11:20

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.40.0
snappi 1.40.3
gosnappi 1.40.3
keng-controller 1.40.0-15
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.482
keng-layer23-hw-server 1.40.0-5
keng-operator 0.3.34
otg-gnmi-server 1.40.3
ixia-c-one 1.40.0-15
UHD400 1.5.10

Note

gosnappi will support go version >=v1.24 and snappi will support python version from v3.8 to v3.12.

Release Features(s):

  • UHD400: Support added for capturing packets on multiple test ports.
        // Enabling capture ports​
        enableCapture := config.Captures().Add().SetName("Capture")​
        enableCapture.SetPortNames([]string{"p1", "p2", "p3", "p4"})​
    
        // startCapture on enabled ports​
        for _, capture := range gosnappi.Config.Captures().Items() {​
            capturePorts = append(capturePorts, capture.PortNames()...)​
        }​
        ​
        s := gosnappi.NewControlState()​
        s.Port().Capture().SetPortNames(portNames).SetState(gosnappi.StatePortCaptureState.START)​
        client.Api().SetControlState(s, "StartCapture")​
        ​
        // Retrieve Capture​
        captureFileObj, err := os.Create(“capture_test.pcap”)​
        req := gosnappi.NewCaptureRequest().SetPortName(portName)​
        captureBytes, err := client.Api().GetCapture(req)​
        captureFileObj.Write(captureBytes)​
        pcap.OpenOffline(outCaptureFile)​
    ```​
  • Ixia Chassis & Appliances(Novus, AresOne):Support added for extended IPv6 routing header type 4(IPv6 SR) as Data traffic.
        // go-snappi snippet​
        f1Eth := f1.Packet().Add().Ethernet()​
        ...
        f1Ip := f1.Packet().Add().Ipv6()​
        ...// IPv6 SR Header ​
        f1ExtHdr := f1.Packet().Add().Ipv6ExtensionHeader()​
        f1SR := f1ExtHdr.Routing().SegmentRouting()​
        f1SR.SegmentsLeft().SetValue(2)​
        f1SR.LastEntry().SetValue(2)​
        f1SegList := f1SR.SegmentList()​
        f1SegList.Add().Segment().SetValue("5000:0:0:1:0:0:0:1")​
        f1SegList.Add().Segment().SetValue("1000:0:0:1:0:0:0:1")​
        ...

Bug Fix(s):

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where for certain scaled ISIS simulated topology configs "context deadline exceeded" error was being encountered on set_config.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.

Release v1.40.0-1

26 Sep 03:55

Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.40.0
snappi 1.40.0
gosnappi 1.40.0
keng-controller 1.40.0-1
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.482
keng-layer23-hw-server 1.40.0-2
keng-operator 0.3.34
otg-gnmi-server 1.40.0
ixia-c-one 1.40.0-1
UHD400 1.5.8

Release Features(s):

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for LACP header in flow. details

        f1Eth := flow.Packet().Add().Ethernet()
        f1Eth.Src().SetValue("00:00:00:00:00:AA")
        f1Eth.Dst().SetValue("01:80:C2:00:00:02")
    
        f1Lacp := flow.Packet().Add().Lacp()
        f1Lacpdu := f1Lacp.Lacpdu()
    
        f1LacpActor := f1Lacpdu.Actor()
        f1LacpActor.SystemPriority().SetValue(32768)
        f1LacpActor.SystemId().SetValue("00:00:00:00:00:AA")
        f1LacpActor.Key().SetValue(13)
        f1LacpActor.PortPriority().SetValue(32768)
        f1LacpActor.PortNumber().SetValue(25)
        f1LacpActor.ActorState().Activity.SetValue(1)
        f1LacpActor.ActorState().Aggregation.SetValue(1)
        f1LacpActor.ActorState().Collecting.SetValue(1)
    
        f1LacpPartner := f1Lacpdu.Partner()
        f1LacpPartner.SystemPriority().SetValue(32768)
        f1LacpPartner.SystemId().SetValue("00:0c:29:1e:a2:6d")
        f1LacpPartner.Key().SetValue(1)
        f1LacpPartner.PortPriority().SetValue(32768)
        f1LacpPartner.PortNumber().SetValue(1)
        f1LacpPartner.PartnerState().Distributing.SetValue(1)  

    Note: flows[i].metrics.enable should be set to false, to ensure that instrumentation data is not appended to the LACP PDU being transmitted on the wire.

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for fetching user specified packet slice from captured packets. details

        // Capture Slice: get N number of packets starting from Mth packet 
        captureRequest = gosnappi.NewCaptureRequest()
        captureRequest.SetPortName("p1")
        captureRequest.Packets().Slice().Initial().SetStart(10).SetCount(50)

Bug Fix(s):

  • Ixia-C, UHD400: Issue is fixed where if devices[i].bgp.ipv4/6_interfaces[j].peers[k].capability.route_refresh was explicitly set to false, the IPv6 capability would not be advertised in the BGP Open message, resulting in IPv6 routes not getting installed in this specific scenario.

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. If larger set of values are required for a field which are random, please use random instead of 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: 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.