Skip to content

Ixia-c Release Notes and Version Compatibility

Release v1.13.0-9 (Latest)

4th October, 2024

Build Details

Component Version
Open Traffic Generator API 1.13.0
snappi 1.13.0
gosnappi 1.13.0
keng-controller 1.13.0-9
ixia-c-traffic-engine 1.8.0.90
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.404
keng-layer23-hw-server 1.13.0-5
keng-operator 0.3.34
otg-gnmi-server 1.14.14
ixia-c-one 1.13.0-9
UHD400 1.4.0

Release Features(s)

  • Keng-Operator: go version is upgraded to use v1.23 along with security updates.

  • Ixia-C: Support added to send flows over DHCPv4 endpoints.

      f1 := config.Flows().Add()
      f1.SetName(flowName).
        TxRx().Device().
        SetTxNames([]string{"p1d1dhcpv4_1"}).
        SetRxNames([]string{"p2d1ipv4"})
      f1Ip := f1.Packet().Add().Ipv4()
      // will be populated automatically with the the dynamically allocated Ip to DHCP client​
      f1Ip.Src().Auto().Dhcp()
      …​
      f2Ip.Dst().Auto().Dhcp()
    

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for LLDP.

      // LLDP configuration.​
      lldp := config.Lldp().Add()
      lldp.SystemName().SetValue(lldpSrc.systemName)
      lldp.SetName(lldpSrc.otgName)
      lldp.Connection().SetPortName(portName)
      lldp.ChassisId().MacAddressSubtype().
        SetValue(lldpSrc.macAddress)
    

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): There was degradation in time taken for starting large number of BGP/BGP+ peers on one port. This issue is fixed.​

  • Ixia Chassis & Appliances(Novus, AresOne): There was an exception being returned from set_config on creating multiple loopbacks in a device and configuring protocols on top of that. This issue is fixed.

  • Ixia Chassis & Appliances(Novus, AresOne): If multiple routes are received by a BGP/BGP+ peer with some having MED/Local Preference and some not having MED/Local Preference, in get_states MED/Local Preference were not being correctly returned. This issue is 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.

Release v1.13.0-1

17th September, 2024

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:​

go 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.

Release v1.12.0-1

2nd September, 2024

Build Details

Component Version
Open Traffic Generator API 1.12.0
snappi 1.12.0
gosnappi 1.12.0
keng-controller 1.12.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.398
keng-layer23-hw-server 1.12.0-1
keng-operator 0.3.30
otg-gnmi-server 1.14.12
ixia-c-one 1.12.0-1
UHD400 1.3.5

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv6 client interfaces to be used as source/destination for device traffic.
  • In this the learned IPv6 address from the DHCPv6 server is automatically populated in ipv6.src/dst if the choice is set to auto.dhcp.

      clientToServerFlow.SetName("ClientToServer").TxRx().Device().
      SetTxNames([]string{"DHCPv6ClientName"}).
      SetRxNames([]string{"DHCPv6ServerInterfaceName"})
      clientToServerFlow.Packet().Add().Ethernet()
      clientToServerFlowIp := clientToServerFlow.Packet().Add().Ipv6()
      clientToServerFlowIp.Src().Auto().Dhcp()
    
      serverToClientFlow.SetName("ServerToClient").TxRx().Device().
          SetTxNames([]string{"DHCPv6ServerInterfaceName"}).
          SetRxNames([]string{"DHCPv6ClientName"})
      serverToClientFlow.Packet().Add().Ethernet()
      serverToClientFlowIp := serverToClientFlow.Packet().Add().Ipv6()
      serverToClientFlowIp.Dst().Auto().Dhcp()
    
    Note: For DHCPv6 client to DHCPv6 server each flow supports only one source endpoint in tx_rx.device.tx_names, hence a separate flow has to be configured for each DHCPv6 client if packet[i].ipv6.src.auto.dhcp is set.

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for devices[i].ethernets[j].dhcpv6_interfaces[k].options/options_request and devices[i].dhcp_server.ipv6_interfaces[j].options.

          // Configure a DHCPv6 Client
          dhcpv6Client := d1Eth1.Dhcpv6Interfaces().Add().
            SetName("DHCPv6-Client")
    
          .........
    
          //options
          dhcpv6Client.Options().VendorInfo().
            SetEnterpriseNumber(1000).
            OptionData().
            Add().
            SetCode(88).
            SetData("enterprise")
          dhcpv6Client.Options().VendorInfo().AssociatedDhcpMessages().All()
    
          //option request
          dhcpv6Client.OptionsRequest().Request().Add().BootfileUrl()
          dhcpv6Client.OptionsRequest().Request().Add().Custom().SetType(3)
          dhcpv6Client.OptionsRequest().AssociatedDhcpMessages().All()
    
          // Configure a DHCPv6 Server
          dhcpv6Server := d2.DhcpServer().Ipv6Interfaces().Add().
            SetName("DHCPv6-Server")
    
          ............
          dhcpv6Server.Options().BootfileUrl().SetUrl("URL").AssociatedDhcpMessages().All()
            dhcpv6Server.Options().Dns().SetPrimary("8::8").SecondaryDns().Add().SetIp("9::9")
    

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for devices[i].dhcp_server.ipv6_interfaces[j].leases[k].ia_type.choice.iapd/ianapd.

          // Configure a DHCPv6 Server
          dhcpv6Server := d2.DhcpServer().Ipv6Interfaces().Add().
            SetName("DHCPv6-Server")
    
          dhcpv6ServerPool := dhcpv6Server.SetIpv6Name("p2d1ipv6").
            Leases().Add().
            SetLeaseTime(3600)
          IaType := dhcpv6ServerPool.IaType().Iapd()
          IaType.
            SetAdvertisedPrefixLen(64).
            SetStartPrefixAddress("2000:0:0:100::0").
            SetPrefixStep(1).
            SetPrefixSize(10)
    

  • Ixia-c: Support added for sending Organizational tlvs in LLDP PDUs.

      lldp := config.Lldp().Items()[0]
    
      orgInfos1 := lldp.OrgInfos().Add()
      orgInfos1.Information().SetInfo("AABB11")
      orgInfos1.SetOui("1abcdf").SetSubtype(1)
    
    Note: Received Organizational tlvs can be seen in the get_states response of lldp_neighbors.

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.

Release v1.8.0-1

20th August, 2024

Build Details

Component Version
Open Traffic Generator API 1.8.0
snappi 1.8.0
gosnappi 1.8.0
keng-controller 1.8.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.393
keng-layer23-hw-server 1.8.0-1
keng-operator 0.3.30
otg-gnmi-server 1.14.8
ixia-c-one 1.8.0-1
UHD400 1.3.5

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv6 Client and Server in control plane. details
  • User will be the able to configure DHCPv6 Client and Server by the following code snippet.

          // Configure a DHCP Client
          dhcpv6client := d1Eth1.Dhcpv6Interfaces().Add().
            SetName("p1d1dhcpv61")
    
          dhcpv6client.IaType().Iata()
          dhcpv6client.DuidType().Llt()
    
          // Configure a DHCPv6 Server
          d1Dhcpv6Server := d2.DhcpServer().Ipv6Interfaces().Add().
            SetName("p2d1Dhcpv6Server1").
    
          d1Dhcpv6ServerPool := d1Dhcpv6Server.SetIpv6Name("p2d1ipv6").
            Leases().Add().
            SetLeaseTime(3600)
          IaType := d1Dhcpv6ServerPool.IaType().Iata()
          IaType.
            SetStartAddress("2000:0:0:1::100").
            SetStep(1).
            SetSize(10).
            SetPrefixLen(64) 
    
    Note: Support for devices[i].dhcp_server.ipv6_interfaces[j].options and devices[i].dhcp_server.ipv6_interfaces[j].leases[k].ia_type.choice.iapd/ianapd will be available in the subsequent sprints.

  • Ixia Chassis & Appliances(Novus, AresOne): gNMI support added to fetch control plane metics and states of DHCPv6 Client and Server.

  • Support added for DHCPv6 Client/Server metrics using following gNMI paths.
     // dhcpv6 client
     dhcpv6-clients/dhcpv6-client[name=*]/state/counters
    
     // dhcpv6 server
     dhcpv6-servers/dhcpv6-server[name=*]/state/counters​
    
  • Support added for DHCPv6 Client/Server states using following gNMI paths.
     // dhcpv6 client
     dhcpv6-clients/dhcpv6-client[name=*]/state/interface
    
     // dhcpv6 server
     dhcpv6-servers/dhcpv6-server[name=*]/state/interface
    

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.

Release v1.7.2-1

7th August, 2024

Build Details

Component Version
Open Traffic Generator API 1.7.1
snappi 1.7.2
gosnappi 1.7.2
keng-controller 1.7.2-1
ixia-c-traffic-engine 1.8.0.25
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.392
keng-layer23-hw-server 1.7.1-4
keng-operator 0.3.30
otg-gnmi-server 1.14.7
ixia-c-one 1.7.2-1
UHD400 1.3.5

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for new traffic applying infrastructure.
  • Instead of "Failed to apply flow configurations due to: Please contact Ixia Support." ,
    • In scenarios where underlying hardware module doesn't have the resources to apply the flow a proper error message such as "Failed to apply flow configurations due to: Error occurred for flow 'ipv6flowlabel': The Tx Ports of the flow do not support the combinations of fields and size of value lists configured. Please reduce the size of the value lists or/and fields with value lists configured or use a load module ( or variant) with more resources.​" Based on this either test can be modified or appropriate load modules can be used for the test.
    • There were certain scenarios with large values in packet fields in the flows which were failing with above error inspite of being within the modules capabilities and can now be applied without any error.
  • Earlier configuration with multiples flows with large values in packet fields would fail with error as "Failed to apply flow configurations due to: Traffic configuration exceeds port background memory size.". This issue is also fixed with the upgrade to new traffic applying infrastructure.
  • Issue where correct values/increment/decrement for ethernet.src/dst was not being transmitted on the wire is fixed.
  • In this new infrastructure, traffic will be directly applied to the hardware ports resulting in better performance on set_transmit_state.

  • gosnappi: Client side file organization of the gosnappi sdk is modified to allow for better auto-completion support when writing test programs. Note: Client must be upgraded to gosnappi v1.7.2.

  • Ixia-C, UHD400: Support added for DHCPv4 Client and Server in control plane. details

  • User will be the able to configure DHCPv4 Client and Server by the following code snippet. More comprehensive B2B example
      // Configure a DHCP Client
      dhcpclient := d1Eth1.Dhcpv4Interfaces().Add().
          SetName("p1d1dhcpv41")
    
      dhcpclient.FirstServer()
      dhcpclient.ParametersRequestList().
          SetSubnetMask(true).
          SetRouter(true).
          SetRenewalTimer(true)
    
    // Configure a DHCP Server
      d2Dhcpv4Server := d2.DhcpServer().Ipv4Interfaces().Add().
          SetName("p2d1dhcpv4server")
    
      d2Dhcpv4Server.SetIpv4Name("p2d1ipv4").AddressPools().
          Add().SetName("pool1").
          SetLeaseTime(3600).
          SetStartAddress("100.1.100.1").
          SetStep(1).
          SetCount(1).
          SetPrefixLength(16).Options().SetRouterAddress("100.1.0.1").SetEchoRelayWithTlv82(true)
    
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Support added for random in following flow fields. details
  • ipv4.src​/dst
  • ipv6.flow_label​
  • tcp.src_port/dst_port
  • udp.src_port/dst_port

    • User can configure by using following snippet.
        ipv6 := flow1.Packet().Add().Ipv6()
        ipv6.FlowLabel().Random().SetMin(1).SetMax(1048574).SetCount(250000).SetSeed(1)
      
      Note: For UHD400 an intermittent issue is present on using random, where rx fields of flow_metrics can return zero values.
  • Ixia-C: New environment variable OPT_ADAPTIVE_CPU_USAGE="" is introduced for docker based ixia-c-traffic-engine setups which enables adaptive CPU usage on the rx port for a flow. By default a non adaptive receiver is used when the rx CPU core usage reaches up to 100%. The adaptive receiver reduces rx CPU core usage from 100% to less than 5% in idle mode. To disable the adaptive receiver please remove this environment variable from docker run command. It is recommended to also pin the rx to specific cpu cores using the ARG_CORE_LIST environment variable when enabling OPT_ADAPTIVE_CPU_USAGE.

  • Example docker usage:

  docker run --net=host --privileged --rm -d \
    -e OPT_LISTEN_PORT="5555" \
    -e ARG_CORE_LIST="1 2 3" \
    -e ARG_IFACE_LIST="virtual@af_packet,enp7s0" \
    -e OPT_NO_HUGEPAGES="Yes" \
    -e OPT_ADAPTIVE_CPU_USAGE="" \
    --name ixia-c-traffic-engine \
    ixia-c-traffic-engine:1.8.0.25

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where flow_metrics were not being returned within timeout resulting in "Could not send message, error: unexpected queue Get(1) error: queue: disposed" and "Stats may be inconsistent" error is fixed.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where BGP/BGP+ learned information containing origin of type incomplete was not being returned properly by get_states is fixed. This would result in deserialization error while accessing BGP/BGP+ learned information using otg-gNMI-server.

  • Ixia Chassis & Appliances(AresOne): Issue where port_metrics were not available when load module of type 1 x 400G AresOne-M with transceiver of type 800GE LAN QSFP-DD was being used, is fixed.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where set_control_state.protocol.route.state=withdraw/advertise is triggered with an empty names field, all configured route ranges were being not withdrawn or advertised, is fixed.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where on set_control_state.protocol.all.state=start, a l1 up/down event was triggered even when l1 state was already up, is now fixed.

Note: If port is in down state, it has to be brought back to up state before starting a test.

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 clients receive the leased IPv4 addresses from the DHCPv4 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.

Release v1.6.2-13

19th July, 2024

Build Details

Component Version
Open Traffic Generator API 1.6.2
snappi 1.6.2
gosnappi 1.6.2
keng-controller 1.6.2-13
ixia-c-traffic-engine 1.8.0.12
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.390
keng-layer23-hw-server 1.6.2-4
keng-operator 0.3.30
otg-gnmi-server 1.14.6
ixia-c-one 1.6.2-13
UHD400 1.3.3

Release Features(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): gNMI support added for first-timestamp and last-timestamp in flow metrics. details
  • User needs to set flows[i].metrics.timestamps=true to fetch these new fields.
  module: open-traffic-generator-flow​
  +--rw flows​
    +--ro flow* [name]​
      +--ro name              -> ../state/name​
      +--ro state​
        |  +--ro name?              string​
        .........
        |  +--ro first-timestamp?   decimal64​
        |  +--ro last-timestamp?    decimal64​

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where devices[i].rsvp.ipv4_interfaces[j].summary_refresh_interval was not setting correctly, is fixed.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where destination mac address was not getting resolved properly for traffic over ISIS IPv6 routes, is 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 clients receive the leased IPv4 addresses from the DHCPv4 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.

Release v1.6.2-1

28th June, 2024

Build Details

Component Version
Open Traffic Generator API 1.6.2
snappi 1.6.2
gosnappi 1.6.2
keng-controller 1.6.2-1
ixia-c-traffic-engine 1.8.0.12
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.390
keng-layer23-hw-server 1.6.2-1
keng-operator 0.3.30
otg-gnmi-server 1.14.4
ixia-c-one 1.6.2-1
UHD400 1.3.3

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv4 client interfaces to be used as source/destination for device traffic.
  • In this the learned IPv4 address from the DHCPv4 server is automatically populated in ipv4.src/dst if the choice is set to auto.dhcp.

  clientToServerFlow.SetName("ClientToServer").TxRx().Device().
  SetTxNames([]string{"DHCPv4ClientName"}).
  SetRxNames([]string{"DHCPv4ServerInterfaceName"})
  clientToServerFlowIp := clientToServerFlow.Packet().Add().Ipv4()
  clientToServerFlowIp.Src().Auto().Dhcp()

  serverToClientFlow.SetName("ServerToClient").TxRx().Device().
      SetTxNames([]string{"DHCPv4ServerInterfaceName"}).
      SetRxNames([]string{"DHCPv4ClientName"})
  serverToClientFlowIp := serverToClientFlow.Packet().Add().Ipv4()
  serverToClientFlowIp.Dst().Auto().Dhcp()
Note: For DHCPv4 client to DHCPv4 server each flow supports only one source endpoint in tx_rx.device.tx_names, hence a separate flow has to be configured for each DHCPv4 client if packet[i].ipv4.src.auto.dhcp is set.

  • Ixia-C: Support added for multiple address groups in BGPv4/v6 routes.
      route = peer.V4Routes().Add().
        SetNextHopIpv4Address("2.2.2.2").
        SetName("peer1.rr1")
    
      route.Addresses().Add().
        SetAddress("20.20.20.1").SetPrefix(32).SetCount(2).SetStep(2)
    
      route.Addresses().Add().
        SetAddress("20.20.21.1").SetPrefix(32).SetCount(2).SetStep(2)
    

Bug Fix(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Issue where if a BGPv4/v6 prefix with extended-community or community attributes was updated via a BGP Update with the extended-community or community attribute deleted without a Route Withdraw in between , the subsequent get_states call on the bgp prefixes would incorrectly continue to show the extended-community or community attributes learned via the previous received Update is fixed.

  • Ixia-C: Issue where If a test was setup such that only test port would initiate ARP/ND and time taken to configure the soft-DUT connected to the test port was taking extended time such that it would not respond to ARP/ND requests within 10s, ARP/ND procedures would fail resulting in test failures in ARP/ND verification step is fixed.

  • Ixia-C: Issue where if a IPv6 address on the emulated interface was configured in non-shortest format e.g. 2001:0db8::192:0:2:2 instead of 2001:db8::192:0:2:2 (notice the redundant leading 0 in :0db8), the test port would not initiate IPv6 Neighbor Discovery for corresponding IPv6 gateway result in Neighbor Discovery failure is fixed.

  • Keng-Operator: Some fixes are provided to handle security warnings raised by k8s security scanning tool such as 'container "manager" in Deployment "ixiatg-op-controller-manager" does not set readOnlyRootFilesystem: true in its securityContext. This setting is encouraged because it can prevent attackers from writing malicious binaries into runnable locations in the container filesystem.'.

  • UHD400: Issue is fixed where frames_rx is reported twice of frames_tx in flow_metrics is 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 clients receive the leased IPv4 addresses from the DHCPv4 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.

Release v1.5.1-12

14th June, 2024

Build Details

Component Version
Open Traffic Generator API 1.5.1
snappi 1.5.1
gosnappi 1.5.1
keng-controller 1.5.1-12
ixia-c-traffic-engine 1.8.0.12
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.383
keng-layer23-hw-server 1.5.1-6
keng-operator 0.3.29
otg-gnmi-server 1.14.2
ixia-c-one 1.5.1-12
UHD400 1.2.9

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): gNMI support for GetStates of DHCP Server added.
  • DHCPv4 Server

  # States information
  dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases
* UHD400: Value-list support added for IPv4 dscp field.
  flowEth := flow.Packet().Add().Ethernet()
  .... 
  ipv4 := flow.Packet().Add().ipv4()
    ipv4.Src().SetValue(srcAddr)
    ipv4.Dst().SetValue(dstAddr)
    ipv4.Priority().Dscp().Phb().SetValues([]uint32{10,12,14,18 ...})

Bug Fix(s)

  • Ixia-C: Issue where withdrawing BGP/BGP+ routes using set_control_state.protocol.route.withdraw was failing in multi-nic topology is fixed.
  • Ixia Chassis & Appliances(AresOne): Issue where after running BGP/BGP+ tests on multi-nic ports would result intermittently in context deadline errors for subsequent tests/sub tests is fixed.
  • Ixia Chassis & Appliances(Novus, AresOne): Issue where after running tests involving continuous connect/reconnect of test ports for long duration (e.g. 2 - 3 hrs) would result in intermittent context deadline errors for a bunch of consecutive tests is 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 clients receive the leased IPv4 addresses from the DHCPv4 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.

Release v1.5.1-3

1st June, 2024

Build Details

Component Version
Open Traffic Generator API 1.5.1
snappi 1.5.1
gosnappi 1.5.1
keng-controller 1.5.1-3
ixia-c-traffic-engine 1.8.0.12
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.383
keng-layer23-hw-server 1.5.1-4
keng-operator 0.3.29
otg-gnmi-server 1.14.2
ixia-c-one 1.5.1-3
UHD400 1.2.8

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv4 Client and Server in control plane. details
  • User will be the able to configure DHCPv4 Client and Server by the following code snippet. More comprehensive B2B example

      // Configure a DHCP Client
        dhcpclient := d1Eth1.Dhcpv4Interfaces().Add().
            SetName("p1d1dhcpv41")
    
        dhcpclient.FirstServer()
        dhcpclient.ParametersRequestList().
            SetSubnetMask(true).
            SetRouter(true).
            SetRenewalTimer(true)
    
      // Configure a DHCP Server
        d2Dhcpv4Server := d2.DhcpServer().Ipv4Interfaces().Add().
            SetName("p2d1dhcpv4server")
    
        d2Dhcpv4Server.SetIpv4Name("p2d1ipv4").AddressPools().
            Add().SetName("pool1").
            SetLeaseTime(3600).
            SetStartAddress("100.1.100.1").
            SetStep(1).
            SetCount(1).
            SetPrefixLength(16).Options().SetRouterAddress("100.1.0.1").SetEchoRelayWithTlv82(true)
    

  • Ixia Chassis & Appliances(Novus, AresOne): gNMI support added to fetch DHCPv4 Client and Server statistics.

  • DHCPv4 Client

  # Combined metrics and states information
  dhcpv4-clients/dhcpv4-client[name=clientName]/state

  # Metrics information 
  dhcpv4-clients/dhcpv4-client[name=clientName]/state/counters

  # States information
  dhcpv4-clients/dhcpv4-client[name=clientName]/state/interface
- DHCPv4 Server

  # Combined metrics and states information
  dhcpv4-servers/dhcpv4-servers[name=serverName]/state

  # Metrics information
  dhcpv4-servers/dhcpv4-servers[name=serverName]/state/counters

  # States information
  dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases (For now it will return empty responses.)
Note: Support for GetStates/dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases of DHCP Server will be provided in subsequent release.

Bug Fix(s)

  • UHD400: An issue has been fixed where, Despite proper ARP resolution, packets of flows of type device might not get forwarded by the DUT, resulting in 0 rx statistics. This issue is visible for UHD400/ixia-c releases up to v1.5.0-1.

Known Issues

  • Ixia Chassis & Appliances(Novus, AresOne): set_control_state.protocol.all.start can get stuck till the time all DHPCv4 clients receive the leased IPv4 addresses from the DHCPv4 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • 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.
  • 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.

Release v1.5.0-1

23rd May, 2024

Build Details

Component Version
Open Traffic Generator API 1.5.0
snappi 1.5.0
gosnappi 1.5.0
keng-controller 1.5.0-1
ixia-c-traffic-engine 1.8.0.7
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.382
keng-layer23-hw-server 1.5.0-1
keng-operator 0.3.28
otg-gnmi-server 1.14.1
ixia-c-one 1.5.0-1
UHD400 1.2.7

Bug Fix(s)

  • Ixia-C: An issue has been detected whereby some internal certificates used in the ixia-c containerized solution has expired. This is fixed in this patch build.

The most common manifestation of this is that despite proper ARP resolution, Traffic Start in tests will fail in combined protocol-engine/traffic-engine setups with Error occurred while starting flows: [error starting tx port <portname>: unsuccessful Response: MAC address resolution failed for IP: <ip address> ].

This issue should not affect standalone traffic-engine setups using 'port' or raw traffic flows.

This issue is visible for ixia-c community releases starting from v0.1.0-3 to v1.4.0-15.

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.
  • 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.

Release v1.4.0-15

20th May, 2024

Build Details

Component Version
Open Traffic Generator API 1.4.0
snappi 1.4.0
gosnappi 1.4.0
keng-controller 1.4.0-15
ixia-c-traffic-engine 1.8.0.3
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.379
keng-layer23-hw-server 1.4.0-3
keng-operator 0.3.28
otg-gnmi-server 1.13.18
ixia-c-one 1.4.0-15
UHD400 1.2.7

Bug Fix(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Issue is fixed where metric columns were being returned that were not part of the requested metric columns in the get_metrics request for port/flow.
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400 Issue where BGP learned information intermittently fails to correctly fetch information from peers across multiple test ports is fixed.
  • Ixia Chassis & Appliances(Novus, AresOne): Issue where flow_metrics[i].timestamps.first_timestamp_ns/last_timestamp_ns is being returned with wrong values is 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.
  • 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.

Release v1.4.0-1

7th May, 2024

Build Details

Component Version
Open Traffic Generator API 1.4.0
snappi 1.4.0
gosnappi 1.4.0
keng-controller 1.4.0-1
ixia-c-traffic-engine 1.6.0.167
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.379
keng-layer23-hw-server 1.4.0-2
keng-operator 0.3.28
otg-gnmi-server 1.13.18
ixia-c-one 1.4.0-1
UHD400 1.2.7

Release Features(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Support added for fetching information about received extended community attributes in get_states for bgp_prefixes.
  • OTG support details. For more details and example please refer here.

    monitor/get_state/responses/200/bgp_prefixes/ipv[4|6]_unicast_prefixes/extended_communities
    

  • gNMI support details.

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

Note: To store the received routes, please set devices[i].bgp.ipv4/v6_interfaces[j].peers[k].learned_information_filter.unicast_ipv4/v6_prefix=true.

  • OTG-gNMI-Server: Support added for get software and sdk version of keng-controller. details
  • gNMI query path
    /components/component[name=keng-controller]/​
    

Bug Fix(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Issue is fixed where metric columns were being returned that were not part of the requested metric columns in the get_metrics request for bgpv4/bgpv6/isis/rsvp/lag/lacp.
  • Ixia-C: Issue is fixed where extended communities of type Transitive IPv4 were being sent with reversed bytes on the wire is fixed.
  • Ixia Chassis & Appliances(Novus, AresOne): Issue where storage of learned LSPs for ISIS was always enabled is now fixed. User can enable it by setting devices[i].isis.basic.learned_lsp_filter=true.
  • UHD400: Issue where tx and rx statistics returned erroneously for multiple runs on same traffic config 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.
  • 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.

Release v1.3.0-2

19th April, 2024

Build Details

Component Version
Open Traffic Generator API 1.3.0
snappi 1.3.0
gosnappi 1.3.0
keng-controller 1.3.0-2
ixia-c-traffic-engine 1.6.0.167
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.378
keng-layer23-hw-server 1.3.0-4
keng-operator 0.3.28
otg-gnmi-server 1.13.15
ixia-c-one 1.3.0-2
UHD400 1.2.4

Release Features(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Support added for advertising Segment Routing Traffic Engineering(SR-TE) policy using replay_updates.
      peer.Capability().SetIpv4SrTePolicy(true) 
      updateReplayBlock := peer.ReplayUpdates().StructuredPdus()
      adv := updateReplayBlock.Updates().Add()
      ...
      adv.PathAttributes().
        Community().
        Add().
        NoAdvertised()
      ipv4_sr_routes_adv := adv.PathAttributes().
        MpReach().
        Ipv4Srpolicy()
      ipv4_sr_routes_adv.SetEndpoint("0.0.0.0").
        SetColor(100).
        SetDistinguisher(1)
      sr := adv.PathAttributes().
        TunnelEncapsulation().
        SrPolicy()
      sr.Preference().SetValue(3)
      sr.PolicyName().SetValue("TypeA Policy")
      ...
      sr.BindingSegmentIdentifier().Mpls().
        SetFlagSpecifiedBsidOnly(true).
        MplsSid().
        SetLabel(22222)
      segmentList := sr.SegmentList().Add()
      segmentList.Weight().
        SetValue(200)
      typeA := segmentList.Segments().Add().TypeA()
      typeA.Flags().
        SetSFlag(true)
      typeA.MplsSid().
        SetLabel(10000)
      //More segments and segments lists​
    
  • Ixia-C : Support added for zero and custom checksum in TCP/UDP/ICMPv4/v6/IPv4/GRE packet templates in flows.
      udp := cfg.Flows().Add().Packet().Add().Udp()
      udp.Checksum().SetCustom(0)
    
  • Ixia-C : DPDK version upgraded from v21.11 to v23.11 for standalone ixia-c-traffic-engine container based deployment in DPDK mode.
  • Ixia Chassis & Appliances(Novus, AresOne): Support added for IPv4/v6 route ranges with varying number of communities/extended_communities for BGP/BGP+ peers.
      route.Communities().Add().
        SetAsNumber(65534).
        SetAsCustom(20410).
        SetType(gosnappi.BgpCommunityType.MANUAL_AS_NUMBER)
    

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where sometimes fetching ISIS get_states would result in Error occurred while fetching isis lsps states:Index was outside the bounds of the array exception.
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Issue is fixed where sometimes misleading warnings were being returned from set_config when running consecutive replay_updates tests with different types of BGP peers configured(iBGP/eBGP).
  • Ixia-C : Memory leak fixed for BGPv4/v6 peers with large number of routes configured.

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.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values.
  • UHD400: Port statistics are not getting cleared on SetConfig.
  • 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.

Release v1.1.0-21

29th March, 2024

Build Details

Component Version
Open Traffic Generator API 1.1.0
snappi 1.1.1
gosnappi 1.1.1
keng-controller 1.1.0-21
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.375
keng-layer23-hw-server 1.1.0-6
keng-operator 0.3.28
otg-gnmi-server 1.13.14
ixia-c-one 1.1.0-21
UHD400 1.2.4

Release Features(s)

  • Ixia Chassis & Appliances(Novus + AresOne): Support added for BGP/BGP+ update replay. This feature can be used to configure the BGP/BGP+ peer to send series of updates containing advertised or withdrawn IPv4/v6 unicast routes.

      updateReplayBlock := bgpPeer.ReplayUpdates().StructuredPdus()
      adv := updateReplayBlock.Updates().Add()
      adv.PathAttributes().SetOrigin(gosnappi.BgpAttributesOrigin.IGP)
      adv.PathAttributes().AsPath().
            FourByteAsPath().
            Segments().
            Add().
            SetType(gosnappi.BgpAttributesFourByteAsPathSegmentType.AS_SEQ).
            SetAsNumbers([]uint32{2222, 1113, 7000, 80000})
    
      adv.PathAttributes().Community().Add().CustomCommunity().SetAsNumber(65534).SetCustom("4FBA")
      adv.PathAttributes().Community().Add().CustomCommunity().SetAsNumber(65534).SetCustom("AAAA")​​
      ....
      adv.PathAttributes().MpReach(). NextHop().SetIpv4("1.1.1.2")
      ipv4_unicast_routes_adv := adv.PathAttributes().MpReach().Ipv4Unicast() 
      ipv4_unicast_routes_adv.Add().SetAddress("10.10.10.10").SetPrefix(32)
      ...    
    

  • UHD400: Support added for setting ports state using set_control_state.port.link.state=up/down.

  • snappi: support added for python v3.12.

Bug Fix(s)

  • Ixia-C: Issue where BGP/BGP+ sessions were intermittently flapping for large number of routes such as 1 million is fixed.
  • Ixia-C: Issue where if priority bits were set in VLAN header for incoming ISIS PDUs session was not coming up is fixed.
  • Ixia Chassis & Appliances(AresOne): Issue where port stats were not coming for port type TA1-KD08D of AresOne is fixed.
  • UHD400: Intermittent issue where rx counters were not being incremented for flow stats is fixed.

Known Issues

  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values.
  • UHD400: Port statistics are not getting cleared on SetConfig.
  • 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-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.

Release v1.1.0-12

22nd March, 2024

Build Details

Component Version
Open Traffic Generator API 1.1.0
snappi 1.1.0
gosnappi 1.1.0
keng-controller 1.1.0-12
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.370
keng-layer23-hw-server 1.1.0-5
keng-operator 0.3.28
otg-gnmi-server 1.13.13
ixia-c-one 1.1.0-12
UHD400 1.2.3

Release Features(s)

  • UHD400: Support for LAG and LACP protocol is added.
  • LACP parameters are supported as per LAG/LACP section in OTG model Release v1.1.0
  • Per Port LACP Metrics can be retrieved using GNMI as per otg-models-yang details.
  • Per LAG Metrics can be retrieved using GNMI as per otg-models-yang details.

  • UHD400: Support for data traffic over LAG is added for rx ports.

Known Issues

  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values.
  • UHD400: Port statistics are not getting cleared on SetConfig.
  • 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-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.

Release v1.1.0-10

20th March, 2024

Build Details

Component Version
Open Traffic Generator API 1.1.0
snappi 1.1.0
gosnappi 1.1.0
keng-controller 1.1.0-10
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.370
keng-layer23-hw-server 1.1.0-5
keng-operator 0.3.28
otg-gnmi-server 1.13.12
ixia-c-one 1.1.0-10
UHD400 1.1.1

Release Features(s)

  • Ixia-C & UHD400: Support added for BGP/BGP+ update replay. This feature can be used to configure the BGP/BGP+ peer to send series of updates containing advertised or withdrawn IPv4/v6 unicast routes.
      updateReplayBlock := bgpPeer.ReplayUpdates().StructuredPdus()
      adv := updateReplayBlock.Updates().Add()
      adv.PathAttributes().SetOrigin(gosnappi.BgpAttributesOrigin.IGP)
      adv.PathAttributes().AsPath().
            FourByteAsPath().
            Segments().
            Add().
            SetType(gosnappi.BgpAttributesFourByteAsPathSegmentType.AS_SEQ).
            SetAsNumbers([]uint32{2222, 1113, 7000, 80000})
      ....
      adv.PathAttributes().MpReach(). NextHop().SetIpv4("1.1.1.2")
      ipv4_unicast_routes_adv := adv.PathAttributes().MpReach().Ipv4Unicast() 
      ipv4_unicast_routes_adv.Add().SetAddress("10.10.10.10").SetPrefix(32)
      ...    
    
  • custom attributes can be added in following manner.

      adv1.PathAttributes().
              OtherAttributes().Add().
              SetFlagOptional(true).
              SetFlagTransitive(true).
              SetType(8).
              SetRawValue("04ffff0007")
    

  • Complete custom update packet can be added by using RawBytes option as shown below.

      updateReplayBlock := d1BgpIpv4Interface1Peer1.ReplayUpdates().RawBytes()
          adv1 := updateReplayBlock.Updates().Add()
          adv1.SetUpdateBytes("400101004002004005040")
    

  • Ixia-C: Value-list support added for IPv4 dscp field.

      flowEth := flow.Packet().Add().Ethernet()
      .... 
      ipv4 := flow.Packet().Add().ipv4()
        ipv4.Src().SetValue(srcAddr)
        ipv4.Dst().SetValue(dstAddr)
        ipv4.Priority().Dscp().Phb().SetValues([]uint32{10,12,14,18 ...})
    

  • OTG-gNMI-Server: Support added for InUpdates, OutUpdates, InOpens, OutOpens, InNotifications and OutNotifications for gNMI path /bgp-peers/bgp-peer/state/counters.

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus + AresOne): Issue where for protocol over LAG scenarios (e.g. BGP over LAG) get_metrics was returning empty protocol metrics, is fixed.
  • Ixia-C: Issue where get_states.ipv4/v6_neighbors for interfaces created over LAG was failing, is now fixed.
  • Ixia-C: Issue where peers[i].advanced.time_to_live attribute was not working as expected for BGPv4 peers is fixed.

Known Issues

  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values.
  • UHD400: Port statistics are not getting cleared on SetConfig.
  • 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-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.

Release v1.0.0-104

1st March, 2024

Build Details

Component Version
Open Traffic Generator API 1.0.2
snappi 1.0.2
gosnappi 1.0.2
keng-controller 1.0.0-104
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.367
keng-layer23-hw-server 1.0.2-4
keng-operator 0.3.28
otg-gnmi-server 1.13.10
ixia-c-one 1.0.1-104
UHD400 1.1.1

Release Features(s)

  • UHD400: Value-list support added for IPv6 flow label.
      flowEth := flow.Packet().Add().Ethernet()
      .... 
      ipv6 := flow.Packet().Add().Ipv6()
        ipv6.Src().SetValue(srcAddr)
        ipv6.Dst().SetValue(dstAddr)
        ipv6.FlowLabel().SetValues([]uint32{1000,2000, ...})
    
  • UHD400: Support added for egress tracking on DSCP field in IPv4 traffic header using Priority.Raw field with appropriate offsets.
      eth := flow.EgressPacket().Add().Ethernet()
      ipv4 := flow.EgressPacket().Add().Ipv4()
      ipv4PhbTag := ipv4.Priority().Raw().MetricTags().Add()
      ipv4PhbTag.SetName("flow_ipv4_dscp_phb")
      ipv4PhbTag.SetOffset(0)
      ipv4PhbTag.SetLength(6)
        ipv4EcnTag := ipv4.Priority().Raw().MetricTags().Add()
      ipv4EcnTag.SetName("flow_ipv4_dscp_ecn")
      ipv4EcnTag.SetOffset(6)
      ipv4EcnTag.SetLength(2)
    
  • Ixia Chassis & Appliances(Novus + AresOne), Ixia-C and UHD400: Support added for partial Start / Stop for ISIS .
      s := gosnappi.NewControlState()
      isisRouters := s.Protocol().Isis().Routers()        
      isisRouters.SetRouterNames(routerNames).SetState("up/down")
      _ , err := client.Api().SetControlState(s)
    
  • Ixia Chassis & Appliances(Novus + AresOne): Support added for partial Start / Stop for BGP.
      s := gosnappi.NewControlState()
      bgpPeers := s.Protocol().Bgp().Peers()        
      bgpPeers.SetPeerNames(peerNames).SetState("up/down")
      _ , err := client.Api().SetControlState(s)
    
  • Ixia Chassis & Appliances(Novus + AresOne) and Ixia-C: Support for all objects including ERO and RRO are now available for RSVP packet header.
  • User can encode rsvp packet using flows and invoke set_control_state.traffic.flow_transmit to transmit the rsvp packets.
      f1.Packet().Add().Ethernet()
      ip := f1.Packet().Add().Ipv4()
      ip.Options().Add().SetChoice("router_alert")
      rsvp := f1.Packet().Add().Rsvp()
      rsvpPathMsg := rsvp.MessageType().Path()
      session := rsvpPathMsg.Objects().Add().ClassNum().Session().CType().LspTunnelIpv4()
      session.Ipv4TunnelEndPointAddress().SetValue("2.2.2.2")
      session.TunnelId().SetValue(1)
      session.ExtendedTunnelId().AsIpv4().SetValue("1.1.1.1")
      rsvpHop := rsvpPathMsg.Objects().Add().ClassNum().RsvpHop().CType().Ipv4()
      rsvpHop.Ipv4Address().SetValue("1.1.2.1")
      rsvpPathMsg.Objects().Add().ClassNum().TimeValues()
      rsvpPathMsg.Objects().Add().ClassNum().LabelRequest()
      ero := rsvpPathMsg.Objects().Add().ClassNum().ExplicitRoute().CType().Type1()
      ero.Subobjects().Add().Type().Ipv4Prefix().Ipv4Address().SetValue("1.1.3.1")
      ero.Subobjects().Add().Type().Ipv4Prefix().Ipv4Address().SetValue("1.1.4.1")
      sessionAttribute := rsvpPathMsg.Objects().Add().ClassNum().SessionAttribute().CType().LspTunnel()
      sessionAttribute.SetSessionName("otg_test_port")
      senderTemplate := rsvpPathMsg.Objects().Add().ClassNum().SenderTemplate().CType().LspTunnelIpv4()
      senderTemplate.Ipv4TunnelSenderAddress().SetValue("1.1.1.1")
      senderTemplate.LspId().SetValue(1)
      senderTspec := rsvpPathMsg.Objects().Add().ClassNum().SenderTspec().CType().IntServ()
      senderTspec.MaximumPacketSize().SetValue(1500)
      senderTspec.SetPeakDataRate(1e+10)
      rro := rsvpPathMsg.Objects().Add().ClassNum().RecordRoute().CType().Type1()
      rro.Subobjects().Add().Type().Ipv4Address().Ipv4Address().SetValue("1.1.1.1")
      rro.Subobjects().Add().Type().Ipv4Address().Ipv4Address().SetValue("1.1.2.1")
    
  • Note:
    • Variable field values within the flow using increment, decrement and values are not supported for rsvp fields.
    • Tracking should not be enabled if intention is for device under test to consume the generated packets.

Bug Fix(s)

  • Ixia-C and UHD400: Intermittent issue is fixed where for certain ISIS L1+L2 test scenarios, ISIS Hello PDUs were not being transmitted from test ports.
  • Ixia-C and UHD400: Potential deadlock during SetConfig related to creation of interfaces is fixed.
  • Ixia-C and UHD400: Intermittent issue is fixed where ixia-c-protocol-engine container was restarting during BGP session establishment in certain scenarios.
  • Ixia Chassis & Appliances(AresOne): Issue where SetConfig returns error Object reference not set to an instance of an object. for AresOne ports (QSFP-DD-400GE+200G+100G+50G) is fixed.
  • Ixia Chassis & Appliances(Novus + AresOne): Issue where SetConfig returns error Somehow <lag_name> not available within BGP portData for BGP over LAG is fixed (Please refer to Known Issues section for issue related to BGP metrics returning empty values for BGP over LAG scenario).​

Known Issues

  • Ixia Chassis & Appliances(Novus + AresOne): For protocol over LAG scenarios (e.g. BGP over LAG) get_metrics is returning empty protocol metrics.
  • Ixia-C: Get neighbor states for a LAG member port fails.
  • 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-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.

Release v1.0.0-92

22nd February, 2024

Build Details

Component Version
Open Traffic Generator API 1.0.1
snappi 1.0.1
gosnappi 1.0.1
keng-controller 1.0.0-92
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.360
keng-layer23-hw-server 1.0.1-4
keng-operator 0.3.28
otg-gnmi-server 1.13.9
ixia-c-one 1.0.1-1
UHD400 1.1.1

Release Features(s)

  • UHD400: Enabling metric_tags for egress tracking is now supported for ethernet.src/ dst, vlan.id, vlan.priority, ipv4.src/ dst, ipv4.precedence, ipv6.src/ dst, ipv6.traffic_class
    eth := flow.EgressPacket().Add().Ethernet()
    ipv4 := flow.EgressPacket().Add().Ipv4()
    ipv4Tag := ipv4.Dst().MetricTags().Add()
    ipv4Tag.SetName("flow_ipv4_dst")
    ipv4Tag.SetOffset(22)
    ipv4Tag.SetLength(10)
    
  • Limitations:

    • Maximum of 10 tracking bits is supported.
    • Only a single flow is supported when egress tracking is enabled, except when the tracking header field is Vlan.priority, IPv4.precedence or IPv6.traffic_class. Multiple flows are supported when tracking is enabled on these fields.
    • Tracking is supported on the last 10 bits of header fields, except for IPv4 src/ dst where first 5 bit tracking is also supported.
  • UHD400: Support is added for values on header fields ethernet.src /dst, ipv4.src /dst, ipv6.src /dst, vlan.id, tcp.src_port, tcp.dst_port, udp.src_port, udp.dst_port.

  • Ixia-C: Support added for rsvp Path Message PDU in raw traffic.

  • User can encode rsvp packet using flows and invoke set_control_state.traffic.flow_transmit to transmit the rsvp packets.
      f1.Packet().Add().Ethernet()
      ip := f1.Packet().Add().Ipv4()
      ip.Options().Add().SetChoice("router_alert")
      rsvp := f1.Packet().Add().Rsvp()
      rsvpPathMsg := rsvp.MessageType().Path()
      session := rsvpPathMsg.Objects().Add().ClassNum().Session().CType().LspTunnelIpv4()
      session.Ipv4TunnelEndPointAddress().SetValue("2.2.2.2")
      session.TunnelId().SetValue(1)
      session.ExtendedTunnelId().AsIpv4().SetValue("1.1.1.1")
      rsvpHop := rsvpPathMsg.Objects().Add().ClassNum().RsvpHop().CType().Ipv4()
      rsvpHop.Ipv4Address().SetValue("1.1.2.1")
      rsvpPathMsg.Objects().Add().ClassNum().TimeValues()
      rsvpPathMsg.Objects().Add().ClassNum().LabelRequest()
      sessionAttribute := rsvpPathMsg.Objects().Add().ClassNum().SessionAttribute().CType().LspTunnel()
      sessionAttribute.SetSessionName("otg_test_port")
      senderTemplate := rsvpPathMsg.Objects().Add().ClassNum().SenderTemplate().CType().LspTunnelIpv4()
      senderTemplate.Ipv4TunnelSenderAddress().SetValue("1.1.1.1")
      senderTemplate.LspId().SetValue(1)
      senderTspec := rsvpPathMsg.Objects().Add().ClassNum().SenderTspec().CType().IntServ()
      senderTspec.MaximumPacketSize().SetValue(1500)
      senderTspec.SetPeakDataRate(1e+10)
    
  • Note:
    • Variable field values within the flow using increment, decrement and values are not supported for rsvp fields.
    • Optional objects ClassNum().ExplicitRoute() and ClassNum().RecordRoute() are not yet supported.
    • Tracking should not be enabled if intention is for device under test to consume the generated packets.

Bug Fix(s)

  • keng-operator: Issue is fixed where Ixia-C containers would incorrectly signal readiness even when containers were not fully started in kne deployment, resulting in SetConfig and licensing errors.
  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where SetConfig fails for a traffic flow where inner header (v4/v6) has DSCP value set.

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-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.

Release v1.0.0-7

5th February, 2024

About

This release introduces snappi v1.0 and keng-controller v1.0. Backwards API compatibility will be maintained within 1.x versions of Open Traffic Generator, go-snappi and snappi APIs.

Build Details

Component Version
Open Traffic Generator API 1.0.0
snappi 1.0.0
gosnappi 1.0.0
keng-controller 1.0.0-7
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.358
keng-layer23-hw-server 1.0.0-1
keng-operator 0.3.22
otg-gnmi-server 1.13.8
ixia-c-one 1.0.0-7
UHD400 1.0.28

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for snmpv2c raw traffic.
  • User can encode snmpv2c packet using flows and invoke set_control_state.traffic.flow_transmit to transmit the snmpv2c packets.

      flowEth := flow.Packet().Add().Ethernet()
      .... 
      flowIp := flow.Packet().Add().Ipv4()
      ....
      flowUdp := flow.Packet().Add().Udp()
      ....
      flowUdp.DstPort().SetValue(uint32(161)) // 161 = SNMP
      flowSnmpv2c := flow.Packet().Add().Snmpv2C()​​​
      pdu := flowSnmpv2c.Data().GetRequest()
      pdu.RequestId().SetValue(77777)​​​
      varBinds := pdu.VariableBindings().Add()
      varBinds.SetObjectIdentifier(
        "1.3.6....",
      )​​
    
    Note: Variable field values within the same flow using increment, decrement and values are not supported for snmpv2c fields.

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for AresOne-M 800G`` load modules. For using this,IXOS 10.00must be installed on the chassis. For other load modules, it will continue to work withIXOS 9.20 and 9.30` setups.

Bug Fix(s)

  • Ixia-C: Issue where set_control_state.port.link.state was not working when applied to member ports of a LAG 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-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.

Release v0.1.0-222

19th January, 2024

About

This build includes new features and bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.7
snappi 0.13.7
gosnappi 0.13.7
keng-controller 0.1.0-222
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.355
keng-layer23-hw-server 0.13.7-1
keng-operator 0.3.15
otg-gnmi-server 1.13.7
ixia-c-one 0.1.0-222
UHD400 1.0.28

Release Features(s)

  • Ixia-C: Support added for snmpv2c raw traffic.
  • User can encode snmpv2c packet using flows and invoke set_control_state.traffic.flow_transmit to transmit the snmpv2c packets.

      flowEth := flow.Packet().Add().Ethernet()
      .... 
      flowIp := flow.Packet().Add().Ipv4()
      ....
      flowUdp := flow.Packet().Add().Udp()
      ....
      flowUdp.DstPort().SetValue(uint32(161)) // 161 = SNMP
      flowSnmpv2c := flow.Packet().Add().Snmpv2C()​​​
      pdu := flowSnmpv2c.Data().GetRequest()
      pdu.RequestId().SetValue(77777)​​​
      varBinds := pdu.VariableBindings().Add()
      varBinds.SetObjectIdentifier(
        "1.3.6....",
      )​​
    
    Note: Variable field values within the same flow using increment, decrement and values are not supported for snmpv2c fields.

  • Ixia-C: Support added for ipv4.options in ipv4 header of raw traffic.

  • router_alert option allows devices to intercept packets not addressed to them directly as defined in RFC2113.
  • custom option is provided for to be able to configure user defined ipv4.options as needed.

      // Sample of router_alert option:
      ip.Options().Add().SetChoice("router_alert")
    
      // Sample of user defined custom TLV options (Stream ID)
      ipOptionCustom := ip.Options().Add().SetChoice("custom")
      ipOptionCustom.Custom().Type().CopiedFlag().SetChoice("value").SetValue(0)
      ipOptionCustom.Custom().Type().OptionClass().SetChoice("value").SetValue(0)
      ipOptionCustom.Custom().Type().OptionNumber().SetChoice("value").SetValue(8)
    
      ipOptionCustom.Custom().Length().SetChoice("value").SetValue(4)
      ipOptionCustom.Custom().SetValue("0088")
    

  • Ixia-C: Support added to enable/disable LACP sessions on the fly.

      lagOnlyStart := port2.NewControlState().
          SetChoice(gosnappi.ControlStateChoice.PROTOCOL)
      lagMembers := lagOnlyStart.Protocol().
          Lacp().
          MemberPorts()
      lagMembers.
          SetState(gosnappi.StateProtocolLacpMemberPortsState.UP)
    

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue where egress tracking(metric_tags) was returning an error when trying to track on 'ipv4.priority.raw'(for DSCP) is fixed.
  • Ixia-C: Issue where BGP AS4 number was being logged incorrectly in ixia-c-protocol-engine logs is fixed. #217
  • Ixia-C: Couple of memory leak issues fixed in BGP seen for multiple start/stop of large number of BGP sessions on a 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-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.

Release v0.1.0-158

21st December, 2023

About

This build includes new features and bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.4
snappi 0.13.4
gosnappi 0.13.4
keng-controller 0.1.0-158
ixia-c-traffic-engine 1.6.0.109
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.348
keng-layer23-hw-server 0.13.4-1
keng-operator 0.3.14
otg-gnmi-server 1.13.4
ixia-c-one 0.1.0-158
UHD400 1.0.28

Release Features(s)

  • Ixia-C, UHD400, Ixia Chassis & Appliances(Novus, AresOne): Support added for BGP/BGP+ peers to use custom ports instead of default 179 tcp port.
  • Listen Port - TCP port number on which to accept BGP/BGP+ connections from the remote peer.
  • Neighbor Port - Destination TCP port number to be used by the BGP/BGP+ peer when initiating a session to the remote peer.
      bgpPeer.Advanced().SetListenPort(55555)
      bgpPeer.Advanced().SetNeighborPort(55555)
    
  • Ixia-C: Support added to enable/disable BGP/BGP+ peers on the fly.
      s := gosnappi.NewControlState().               
          SetChoice(gosnappi.ControlStateChoice.PROTOCOL)
      bgpPeers := s.Protocol().Bgp().Peers()        
      bgpPeers.SetPeerNames(peerNames).
      SetState(gosnappi.StateProtocolBgpPeersState.UP/DOWN)
      _ , err := client.Api().SetControlState(s)
    
  • Public API in gosnappi SDK has been cleaned up and refactored. PR with the details
  • GosnappiApi interface is now renamed to Api interface.
  • All public methods for creation of structs are now removed from GosnappiApi interface.
  • There were helper methods defined on each struct which have been reorganized or hidden.
  • Choice setter SetChoice() has been made private and is now implicitly set based on the choice property set by the user.
  • Impact on backward compatibility:
    • Updating of gosnappi to 0.13.4 or higher will need change of test programs/implementations utilizing gosnappi SDK.
    • If gosnappi is not updated on the client current tests will continue to work with new keng-controller:0.1.0-158.

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): If a port was in link down state, the state was not being cleared on fresh SetConfig for AresOne ports and Novus100G mode, affecting future tests. This issue is 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-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.

Release v0.1.0-84

7th December, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.13.2
snappi 0.13.2
gosnappi 0.13.2
keng-controller 0.1.0-84
ixia-c-traffic-engine 1.6.0.100
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.340
keng-layer23-hw-server 0.13.2-2
keng-operator 0.3.13
otg-gnmi-server 1.13.2
ixia-c-one 0.1.0-84
UHD400 1.0.27

Release Features(s)

  • Ixia-C: Support added to trigger link up/down on test ports using the API set_control_state.port.link. This applicable only when the test port is directly connected to device under test via veth connection, e.g in KNE single node cluster, containerlab.
      portStateAction := gosnappi.NewControlState()
      linkState := portStateAction.Port().Link().
                      SetPortNames([]string{port.Name()}).
                      SetState(gosnappi.StatePortLinkState.DOWN/UP)
      api.SetControlState(portStateAction)
    
  • It removes the deviation (deviation_ate_port_link_state_operations_unsupported) which was added in featuresprofile tests for no supporting the LinkState trigger in Ixia-C.

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-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.

Release v0.1.0-81

24th November, 2023

About

This build includes new features and bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.2
snappi 0.13.2
gosnappi 0.13.2
keng-controller 0.1.0-81
ixia-c-traffic-engine 1.6.0.100
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.339
keng-layer23-hw-server 0.13.2-2
keng-operator 0.3.13
otg-gnmi-server 1.13.2
ixia-c-one 0.1.0-81
UHD400 1.0.27

Release Features(s)

  • Support for BGP/BGP+ passive mode Ixia-C, UHD400 and Ixia Chassis & Appliances(Novus, AresOne). If passive_mode of a peer is set to true, it will wait for the remote peer to initiate the BGP session.
  • User needs to set devices[i].bgp.ipv4/v6_interfaces[j].peers[k].advance.passive_mode to true for enabling passive mode.

  • When layer1[i].speed is not explicitly set, the current speed of underlying test interface shall be assumed.

  • This allows setting of layer1 MTU in tests to run on setups with different port speeds on Ixia-C and Ixia Chassis & Appliances(Novus, AresOne) without any modifications.
      otgConfig.Layer1().Add().
          SetName("layerOne").
          SetPortNames(portNames).
          SetMtu(9000)
    
  • For traffic with flow.rate.percentage specified and layer1[i].speed not specified, the rate is now automatically calculated based on the port speed of the port from where traffic is being transmitted.

Bug Fix(s)

  • Issue where devices[i].bgp.ipv4/v6_interfaces[j].peers[k].v4/v6_routes[m].communities was not being sent properly for Ixia Chassis & Appliances(Novus, AresOne) 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-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.

Release v0.1.0-53

10th November, 2023

About

This build includes new features and bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.0
snappi 0.13.0
gosnappi 0.13.0
keng-controller 0.1.0-53
ixia-c-traffic-engine 1.6.0.85
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.337
keng-layer23-hw-server 0.13.0-6
keng-operator 0.3.13
otg-gnmi-server 1.13.0
ixia-c-one 0.1.0-53
UHD400 1.0.27

Release Features(s)

  • Support added for link up/down trigger for UHD400​.
      portStateAction := gosnappi.NewControlState().
                            Port().
                            Link().
                            SetPortNames([]string{"port1"}).
                            SetState(gosnappi.StatePortLinkState.DOWN)
      gosnappi.setControlState(portStateAction)
    
  • Support added for 0x8100(Vlan) and 0x6007(Google Discovery Protocol) ether types in data plane traffic in UHD400.

Bug Fix(s)

  • Some tests were failing because packets were not sent on wire due to frame size of flows not being sufficient to include tracking information in Ixia Chassis & Appliances(AresOne only)​ is fixed.
  • egress tracking on VLAN id or other fields for more than 3 bits was not working in Ixia Chassis & Appliances(Novus, AresOne)​, is fixed.
  • egress tracking now supports upto 11 bits.
  • Issue in ARP resolution in certain cases is now fixed in UHD400​.

Known Issues

  • If keng-layer23-hw-server version is upgraded/downgraded, the ports from Ixia Chassis & Appliances(Novus, AresOne) which will be used from this container must be rebooted once before running the tests.
  • Adding more than 256 devices on a single ixia-c-port causing failure for Ixia Chassis & Appliances(Novus, AresOne).
  • 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.
  • With certain DUTs, ssh service hangs if ISIS L1 MD5 is enabled.
  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.1.0-26

3rd November, 2023

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.0
snappi 0.13.0
gosnappi 0.13.0
keng-controller 0.1.0-26
ixia-c-traffic-engine 1.6.0.85
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.337
keng-layer23-hw-server 0.13.0-2
keng-operator 0.3.13
otg-gnmi-server 1.13.0
ixia-c-one 0.1.0-26
UHD400 1.0.26

Known Issues

  • If keng-layer23-hw-server version is upgraded/downgraded, the ports from Ixia Chassis & Appliances(Novus, AresOne) which will be used from this container must be rebooted once before running the tests.
  • Adding more than 256 devices on a single ixia-c-port causing failure for Ixia Chassis & Appliances(Novus, AresOne).
  • 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.
  • With certain DUTs, ssh service hangs if ISIS L1 MD5 is enabled.
  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.1.0-3

20th October, 2023

About

This build includes new features, stability and bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.13.0
snappi 0.13.0
gosnappi 0.13.0
keng-controller 0.1.0-3
ixia-c-traffic-engine 1.6.0.85
keng-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.337
keng-layer23-hw-server 0.13.0-2
keng-operator 0.3.13
otg-gnmi-server 1.13.0
ixia-c-one 0.1.0-3

Release Feature(s)

  • Ixia-C now offers following existing licensed features free for community use (without requiring Keysight Licensing Solution):
  • ixia-c-protocol-engine, which enables control plane emulation in Ixia-C is now publicly downloadable.
  • Emulation of one or more IPv4 and IPv6 interfaces with Address Resolution Protocol (ARP) and Neighbor Discovery (ND), respectively, is now supported.
  • Automatic destination MAC address resolution for flows with IPv4 / IPv6 endpoints is now supported.
  • Configuring one BGP session over IPv4 / IPv6, advertising V4 / V6 routes is now supported.
  • Users exercising full feature set (Keysight Elastic Network Generator aka KENG) will now have to subscribe to Keysight Licensing Solution. Please reach out to Keysight for more details.
  • keng-layer23-hw-server, which facilitates control and data plane operations on Ixia Chassis & Appliances(Novus, AresOne) is now publicly downloadable (but can only be used with Keysight Licensing Solution)
  • Support is added for overload bit and extended ipv4 reachability in get_states for isis_lsps in Ixia Chassis & Appliances(Novus, AresOne); gNMI path for isis_lsps:
      +--rw isis-routers
        +--ro isis-router* [name]
            +--ro name     -> ../state/name
            +--ro state
              +--ro name?                  string
              .
              .
              +--ro link-state-database
                  +--ro lsp-states
    

The container image paths have changed for some Ixia-C artifacts. Please review Build Details for correct paths.

Bug Fix(s)

  • Memory leak in Ixia Chassis & Appliances(Novus, AresOne) is fixed for long duration tests.
  • gosnappi now correctly validates required primitive types when they're not explicitly set by users.
  • IS-IS metric is no longer sent as 63 when configured as 200 (or more than 63) with wide metrics enabled on Ixia Chassis & Appliances(Novus, AresOne).

Known Issues

  • If keng-layer23-hw-server version is upgraded/downgraded, the ports from Ixia Chassis & Appliances(Novus, AresOne) which will be used from this container must be rebooted once before running the tests.
  • Adding more than 256 devices on a single ixia-c-port causing failure for Ixia Chassis & Appliances(Novus, AresOne).
  • 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.
  • With certain DUTs, ssh service hangs if ISIS L1 MD5 is enabled.
  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4554

29th September, 2023

About

This build includes bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.12.5
snappi 0.12.6
gosnappi 0.12.6
ixia-c-controller 0.0.1-4554
ixia-c-traffic-engine 1.6.0.85
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.331
ixia-c-ixhw-server 0.12.5-1
ixia-c-operator 0.3.6
ixia-c-gnmi-server 1.12.7
ixia-c-one 0.0.1-4554

Bug Fix(s)

  • monitor.flow_metrics will now correctly reports bytes_tx.
  • The VLAN TPID field in flow packet header configuration is now set to correct default of 65535 when it’s not encapsulating known protocol header.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4478

14th September, 2023

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.12.3
snappi 0.12.3
gosnappi 0.12.3
ixia-c-controller 0.0.1-4478
ixia-c-traffic-engine 1.6.0.45
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.326
ixia-c-ixhw-server 0.12.3-2
ixia-c-operator 0.3.6
ixia-c-gnmi-server 1.12.5
ixia-c-one 0.0.1-4478

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4435

1st September, 2023

About

This build includes bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.12.2
snappi 0.12.2
gosnappi 0.12.2
ixia-c-controller 0.0.1-4435
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.325
ixia-c-ixhw-server 0.12.2-2
ixia-c-operator 0.3.4
ixia-c-gnmi-server 1.12.4
ixia-c-one 0.0.1-4435
`
#### Bug Fix(s)
* set_config fails with unsuccessful Response: RX runtime not configured for port: if large port testbed is used on subsequent test runs is fixed.
#### Known Issues
* Supported value for flows[i].metrics.latency.mode is cut_through.
* The metric loss in flow metrics is currently not supported.
* When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
* #118

Release v0.0.1-4399

21st August, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.12.1
snappi 0.12.1
gosnappi 0.12.1
ixia-c-controller 0.0.1-4399
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.320
ixia-c-ixhw-server 0.12.1-2
ixia-c-operator 0.3.4
ixia-c-gnmi-server 1.12.2
ixia-c-one 0.0.1-4399
`

Release Feature(s)

  • Support for deprecated control, action and update APIs (set_transmit_state, set_link_state, set_capture_state, update_flows, set_route_state, send_ping, set_protocol_state, set_device_state) have been removed. Please use following set_control_state, set_control_action and update_config APIs instead of the previous ones. Please refer to go utils and python utils for further details usage.
  • Most properties in OTG with integer data type have been assigned correct integer format (from uint32, uint64, int32 and int64). Please click here to examine all changes.
  • Once you upgrade the new ixia-c release, in addition to removing the deprecated APIs from the test programs, data types of some variables in the test programs might need to be changed to avoid compilation errors.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4306

4th August, 2023

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.11.11
snappi 0.11.17
gosnappi 0.11.17
ixia-c-controller 0.0.1-4306
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.318
ixia-c-ixhw-server 0.11.11-2
ixia-c-operator 0.3.4
ixia-c-gnmi-server 1.11.16
ixia-c-one 0.0.1-4306
`

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4167

21st July, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.10
snappi 0.11.16
gosnappi 0.11.16
ixia-c-controller 0.0.1-4167
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.316
ixia-c-ixhw-server 0.11.10-13
ixia-c-operator 0.3.4
ixia-c-gnmi-server 1.11.16
ixia-c-one 0.0.1-4167

Release Feature(s)

  • Enabling metric_tags for egress tracking is now also supported on ipv6.src/dst, ipv6.traffic_class, ipv6.flow_label and ipv6.payload_length. [Ixia-C]
      eth := flow.EgressPacket().Add().Ethernet()
      ipv6 := flow.EgressPacket().Add().Ipv6()
      ipv6Tag := ipv6.Dst().MetricTags().Add()
      ipv6Tag.SetName("flow_ipv6_dst")
      ipv6Tag.SetOffset(120)
      ipv6Tag.SetLength(8)
    
  • Support is available in gNMI to fetch the drill-down statistics for egress tracking as follows [Ixia-C] details:
      1. Flow level metrics + Tagged Metrics:
          example path: "flows/flow[name=f1]“
      2. Only Flow level metrics:
          example path: "flows/flow[name=f1]/state“
      3. Only Tagged metrics 
          example path: "flows/flow[name=f1]/tagged-metrics“
      4. Filtered Tagged metrics: 
          example path: "flows/flow[name=f1]/tagged-metrics/tagged-metric[name-value-pairs=flow_ipv6_dst=0x2]”
    

Bug Fix(s)

  • For flow.duration.continuous type of traffic in Ixia-C, intermittent issue where last few packets in a traffic flow were not accounted for in flow_metrics.frames_rx statistics after stopping a flow is fixed.
  • Proper error mesage is propagated to user if user has used community edition of Ixia-C (instead of licensed edition) and invoked any API/Configuration not supported by it. example: Device configuration is not supported in free version of controller.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4139

29th June, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.10
snappi 0.11.16
gosnappi 0.11.16
ixia-c-controller 0.0.1-4139
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.315
ixia-c-ixhw-server 0.11.10-2
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.16
ixia-c-one 0.0.1-4139

Release Features(s)

  • Support added for multiple Rx endpoints both port traffic.
    // Port Traffic
    flow.SetName("flow:p1->p2,p3").
      TxRx().Port().
      SetTxName("p1").
      SetRxNames([]string{"p2", "p3"})
    
  • Support added for Rx port disaggregation of flow metrics.
    flow := config.Flows().Add().SetName("flow")
    flow.Metrics(). PredefinedMetricTags().SetRxName(true)
    
// gNMI state fetch on flows will show the drilldown as given below
"updates": [
  {
  "Path": "flows/flow[name=f1]",
  "values": {
    "flows/flow": {
    "open-traffic-generator-flow:name": "f1",
    "open-traffic-generator-flow:state": {                     // Contains the aggregated per-flow stats
      ....
    },
    "open-traffic-generator-flow:tag-metrics": {              // Contains the disaggregated per-flow stats
      "tag-metric": [
      {
        "name-value": "rx_name=p2",
        "state": {
          ....
          "name-value": "rx_name=p2",
          "tags": [
            {
            "tag-name": "rx_name",
            "tag-value": 
              {
                "value-as-string": "p2",
                "value-type": "STRING"
              }
        ....
      },
      {
        "name-value": "rx_name=p3",
        "state": {
          ....
        }
      }
    ....
  }
]

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4124

16th June, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.9
snappi 0.11.15
gosnappi 0.11.15
ixia-c-controller 0.0.1-4124
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.310
ixia-c-ixhw-server 0.11.9-6
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.14
ixia-c-one 0.0.1-4124

Release Features(s)

  • Support added for weighted pairs for packet size distribution in traffic flows.
  • predefined packet size distributions supported are imix, ipsec_imix, ipv6_imix, standard_imix, tcp_imix. It can be configured as follows:
      myFlow.Size().WeightPairs().SetPredefined(gosnappi.FlowSizeWeightPairsPredefined.IMIX)
    
  • Custom packet size distribution is also supported. It can configured as follows,
      customWeightPairs := myFlow.Size().WeightPairs().Custom()
      customWeightPairs.Add().SetSize(64).SetWeight(7)
      customWeightPairs.Add().SetSize(570).SetWeight(4)
      customWeightPairs.Add().SetSize(1518).SetWeight(1)
    
  • Support is added for egress tracking based on IPv4 total length.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4080

2nd June, 2023

About

This build includes bug fix.

Build Details

Component Version
Open Traffic Generator API 0.11.9
snappi 0.11.15
gosnappi 0.11.15
ixia-c-controller 0.0.1-4080
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.02.21.29
ixia-c-ixhw-server 0.11.9-3
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.14
ixia-c-one 0.0.1-4080

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4064

18th May, 2023

About

This build includes bug fix.

Build Details

Component Version
Open Traffic Generator API 0.11.8
snappi 0.11.14
gosnappi 0.11.14
ixia-c-controller 0.0.1-4064
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.02.21.17
ixia-c-ixhw-server 0.11.8-12
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.13
ixia-c-one 0.0.1-4064

Bug Fix(s)

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-4013

5th May, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.8
snappi 0.11.14
gosnappi 0.11.14
ixia-c-controller 0.0.1-4013
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.299
ixia-c-ixhw-server 0.11.8-8
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.13
ixia-c-one 0.0.1-4013

Release Features(s)

  • Egress tracking now also supports tracking for vlan, mpls packet headers.
  • Support added in ixia-c-gnmi-server for fetching Latency measurements.
  • User can enable latency measurement by setting f1.Metrics().SetEnable(true).Latency().SetEnable(true).
    • Only cut_through latency mode is supported.
  • User can fetch latency measurements using given models-yang path.
      module: open-traffic-generator-flow
      +--rw flows
        +--ro flow* [name]
            +--ro name              -> ../state/name
            +--ro state
            |  ....
            |  ....
            |  +--ro minimum-latency?   otg-types:timeticks64
            |  +--ro maximum-latency?   otg-types:timeticks64
            |  +--ro average-latency?   otg-types:timeticks64
            |  ....
            |  ....
    

Bug Fix(s)

  • Intermittent crash in ixia-c-controller while fetching flow_metrics is fixed.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3927

24th April, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.8
snappi 0.11.14
gosnappi 0.11.14
ixia-c-controller 0.0.1-3927
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.298
ixia-c-ixhw-server 0.11.8-1
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.10
ixia-c-one 0.0.1-3927

Release Features(s)

  • A new property egress_packet inside flow has been introduced to configure expected packet shape as it is received on the test port.
      eth := flow.EgressPacket().Add().Ethernet()
      ipv4 := flow.EgressPacket().Add().Ipv4()
    
  • A new property metric_tags has been introduced for fields inside headers configured in egress_packet to enable tracking metrics for each applicable value corresponding to a portion of or all bits inside the field.
      ipv4Tag := ipv4.Dst().MetricTags().Add()
      ipv4Tag.SetName("flow_ipv4_dst")
      ipv4Tag.SetOffset(24)
      ipv4Tag.SetLength(8)
    
  • As of this release, enabling metric_tags is only supported on ethernet.src/dst, ipv4.src/dst, ipv4.tos. Support for more fields shall be added in upcoming releases.

  • Limitations:

    • The total number of tracking bits available on an ixia-c Rx port is 12 bits. Out of these some of the bits are needed for tracking flows, example 2 flows need 1 bit, 4 flows need 2 bits, 8 flows need 3 bits etc. The sum of metric_tag.length for each field inside each header configured in egress_packet cannot exceed the remaining bits available on the Rx port.
    • The total number of tracking fields that can be configured across a set of flows which have the same Rx port, is two.
  • A new property is introduced in get_metrics.flow to fetch tagged metrics.

  • 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.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3889

31st March, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.4
snappi 0.11.6
gosnappi 0.11.6
ixia-c-controller 0.0.1-3889
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.290
ixia-c-ixhw-server 0.11.4-1
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.5
ixia-c-one 0.0.1-3889

Features(s)

  • All API response errors over gRPC and HTTP transport can now be inspected like so:

        # snippet of error handling in snappi
        try:
        # call set config
        api.set_config(payload)
        except Exception as e:
            err = api.from_exception(e)  # helper function to parse exception
            if err is not None: # exception was of otg error format
                print(err.code)
                print(err.errors)
            else: # some other exception
                print(e)
    

        // gosnappi snippet for error handling
        resp, err := api.SetConfig(config)
        if err != nil {
            // helper function to parse error
            // retuns a bool with err, indicating wheather the error was of otg error format 
            errSt, ok := api.FromError(err)
            if ok {
                fmt.Println(errSt.Code())
                if errSt.errSt.HasKind() {
                fmt.Println(errSt.Kind())
                }
                fmt.Println(errSt.Errors())
            } else {
                fmt.Println(err.Error())
            }
        }
    

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3865

16th March, 2023

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.11.1
snappi 0.11.1
gosnappi 0.11.1
ixia-c-controller 0.0.1-3865
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.283
ixia-c-ixhw-server 0.11.1-1
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.11.1
ixia-c-one 0.0.1-3865

Features(s)

  • Warning messages shall now be automatically printed on STDOUT if a property or an API with status deprecated or under-review is exercised in snappi / gosnappi. This may also lead to linters raising deprecation error.
  • New API endpoints /control/state and /control/action have been exposed consolidating pre-existing API endpoints inside /control/ (now deprecated) in order to reduce API surface and introducing clean organization. Please see snappi-tests utils for usage.
  • API endpoints /results/* have now been renamed to /monitor/* .

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3841

3rd March, 2023

Announcement

ixia-c container images are hosted on GitHub Container Registry, We stopped publishing ixia-c container images to DockerHub.

About

This build includes new features.

Build Details

Component Version
Open Traffic Generator API 0.10.12
snappi 0.10.9
gosnappi 0.10.9
ixia-c-controller 0.0.1-3841
ixia-c-traffic-engine 1.6.0.35
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.279
ixia-c-ixhw-server 0.10.12-2
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.10.19
ixia-c-one 0.0.1-3841

Features(s)

  • API version compatibility check is now automatically performed between ixia-c containers upon API calls to ixia-c-controller . It can be disabled by booting ixia-c-controller container with --disable-version-check flag.
  • API version compatibility check can now be automatically performed between snappi/gosnappi and ixia-c-controller upon API calls by enabling version check flag in API handle like so:
    • gosnappi
          api := gosnappi.NewApi()
          api.SetVersionCompatibilityCheck(true)
      ````
      - snappi
      
      api = snappi.api(version_check=True) ``` In upcoming releases, this will be enabled by default.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3807

17th February, 2023

Announcement

ixia-c container images are hosted on GitHub Container Registry, We stopped publishing ixia-c container images to DockerHub.

About

This build contains bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.10.9
snappi 0.10.7
gosnappi 0.10.7
ixia-c-controller 0.0.1-3807
ixia-c-traffic-engine 1.6.0.30
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.271
ixia-c-ixhw-server 0.10.7-8
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.10.14
ixia-c-one 0.0.1-3807

Bug Fix(s)

  • Concurrent API calls (where at least one call was set_config) to ixia-c-controller was resulting in crash.

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3767

2nd February, 2023

Announcement

ixia-c container images are hosted on GitHub Container Registry, We stopped publishing ixia-c container images to DockerHub.

About

This build contains bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.10.7
snappi 0.10.5
gosnappi 0.10.5
ixia-c-controller 0.0.1-3768
ixia-c-traffic-engine 1.6.0.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.271
ixia-c-ixhw-server 0.10.7-1
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.10.8
ixia-c-one 0.0.1-3768

Bug Fix(s)

  • Issue where TCP header length was not set correctly is fixed. #117

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.
  • #118

Release v0.0.1-3724

20th January, 2023

Announcement

ixia-c container images are hosted on GitHub Container Registry, We stopped publishing ixia-c container images to DockerHub.

About

This build contains bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.10.6
snappi 0.10.4
gosnappi 0.10.4
ixia-c-controller 0.0.1-3724
ixia-c-traffic-engine 1.6.0.24
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.256
ixia-c-ixhw-server 0.10.6-1
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.10.6
ixia-c-one 0.0.1-3722

Bug Fix(s)

  • Payload size field in all inner headers for tunneling protocols do not take into account inner FCS is fixed. #112

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3698

15th December, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry, We stopped publishing ixia-c container images to DockerHub.

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.10.5
snappi 0.10.3
gosnappi 0.10.3
ixia-c-controller 0.0.1-3698
ixia-c-traffic-engine 1.6.0.19
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.252
ixia-c-operator 0.3.1
ixia-c-gnmi-server 1.10.5
ixia-c-one 0.0.1-3698

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3662

1st December, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

Build Details

Component Version
Open Traffic Generator API 0.9.10
snappi 0.9.8
gosnappi 0.9.8
ixia-c-controller 0.0.1-3662
ixia-c-traffic-engine 1.6.0.19
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.243
ixia-c-operator 0.3.0
ixia-c-gnmi-server 1.9.9
ixia-c-one 0.0.1-3662

Features(s)

  • ixia-c-controller now runs with a non-root user inside the container (instead of root user previously)
  • ixia-c-controller now listens on non-privileged HTTPs port 8443 (instead of 443 previously)

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3619

10th November, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

Build Details

Component Version
Open Traffic Generator API 0.9.1
snappi 0.9.4
gosnappi 0.9.4
ixia-c-controller 0.0.1-3619
ixia-c-traffic-engine 1.6.0.19
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.238
ixia-c-operator 0.2.6
ixia-c-gnmi-server 1.9.7
ixia-c-one 0.0.1-3619

Features(s)

  • ixia-c-controller and ixia-c-gnmi-server can now accept the environment variables HTTP_PORT and HTTP_SERVER respectively, overriding the values provided for corresponding arguments --http-port and --http-server.

  • ixia-c-controller and ixia-c-gnmi-server can now be run using an arbitrary UID (user ID), to support deployment in OpenShift environment.

Bug Fix(s)

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3587

28th October, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

About

This build contains bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.9.1
snappi 0.9.4
gosnappi 0.9.4
ixia-c-controller 0.0.1-3587
ixia-c-traffic-engine 1.6.0.19
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.236
ixia-c-operator 0.2.5
ixia-c-gnmi-server 1.9.5
ixia-c-one 0.0.1-3587

Bug Fix(s)

Known Issues

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3423

29th September, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.9.1
snappi 0.9.4
gosnappi 0.9.4
ixia-c-controller 0.0.1-3423
ixia-c-traffic-engine 1.6.0.19
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.232
ixia-c-operator 0.2.2
ixia-c-gnmi-server 1.9.5
ixia-c-one 0.0.1-3423

Known Limitations

  • Supported value for flows[i].metrics.latency.mode is cut_through.
  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

Release v0.0.1-3383

16th September, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

Build Details

Component Version
Open Traffic Generator API 0.9.1
snappi 0.9.4
gosnappi 0.9.4
ixia-c-controller 0.0.1-3383
ixia-c-traffic-engine 1.6.0.17
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.225
ixia-c-operator 0.2.1
ixia-c-gnmi-server 1.9.3
ixia-c-one 0.0.1-3380

Release Features(s)

  • Support added for increment and decrement values in all MPLS packet header fields.
  • Support added for raw traffic where tx and rx endpoints could be same.
  • Support added in traffic-engine-service deployment to disable IPv6 networking.
    • OPT_ENABLE_IPv6 environment flag is introduced. If it is Yes ipv6 networking will be enabled and if it is No ipv6 networking status will be unchanged.

Bug Fix(s)

  • get_config is failing, if config contains TCP header. it is fixed now. #184

Known Issues

  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets

Release v0.0.1-3182 (Latest)

1st September, 2022

Announcement

ixia-c container images are hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub until 18th November, 2022.

Build Details

Component Version
Open Traffic Generator API 0.9.1
snappi 0.9.3
gosnappi 0.9.3
ixia-c-controller 0.0.1-3182
ixia-c-traffic-engine 1.6.0.9
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.217
ixia-c-operator 0.2.1
ixia-c-gnmi-server 1.9.1
ixia-c-one 0.0.1-3182

Release Features(s)

  • ixia-c-controller container now supports gRPC requests on default TCP port 40051 (alongside TCP port 8443 for HTTP) and hence ixia-c-grpc-server container is no longer needed.
  • There has been a breaking change in OTG API to provide stronger compatibility guarantees across different semver patch versions of snappi and ixia-c-controller.

Known Issues

  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets

Release v0.0.1-3113

18th August, 2022

Announcement

From now onwards ixia-c container images will be hosted on GitHub Container Registry. However we will continue publishing ixia-c container images to DockerHub as well for the next 3 months. (until 18th November, 2022)

Build Details

Component Version
Open Traffic Generator API 0.8.6
snappi 0.8.8
gosnappi 0.8.8
ixia-c-controller 0.0.1-3113
ixia-c-traffic-engine 1.6.0.9
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.214
ixia-c-operator 0.1.95
ixia-c-gnmi-server 1.8.13
ixia-c-grpc-server 0.8.9
ixia-c-one 0.0.1-3113

Release Features(s)

  • Support added for setting transmit state on subset of configured flows. https://github.com/open-traffic-generator/ixia-c/issues/56

Bug Fix(s)

  • When flow duration is configured using fixed_seconds, then in some cases packet transmission does not stop after specified duration has elapsed. https://github.com/open-traffic-generator/ixia-c/issues/95

Known Issues

  • The metric loss in flow metrics is currently not supported.
  • When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets

Release v0.0.1-3027

4th August, 2022

About

Support added for static MPLS packet header in flows.

Build Details

Component Version
Open Traffic Generator API 0.8.6
snappi 0.8.8
gosnappi 0.8.8
ixia-c-controller 0.0.1-3027
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.209
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.8.10
ixia-c-grpc-server 0.8.8
ixia-c-one 0.0.1-3027

Release Features(s)

  • Support added for static MPLS packet header in flows.
    • Fixed value is supported for all fields.
    • Dynamic MPLS is not supported yet.
      • label field's default choice is value if it is selected as auto.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-3002

27th July, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.8.5
snappi 0.8.5
gosnappi 0.8.5
ixia-c-controller 0.0.1-3002
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.205
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.8.8
ixia-c-grpc-server 0.8.7
ixia-c-one 0.0.1-3002

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-3000

21st July, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.8.5
snappi 0.8.5
gosnappi 0.8.5
ixia-c-controller 0.0.1-3000
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.203
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.8.8
ixia-c-grpc-server 0.8.7
ixia-c-one 0.0.1-3000

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2994

1st July, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.8.1
snappi 0.8.2
gosnappi 0.8.2
ixia-c-controller 0.0.1-2994
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.192
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.8.3
ixia-c-grpc-server 0.8.2
ixia-c-one 0.0.1-2994

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2992

30th June, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.8.1
snappi 0.8.2
gosnappi 0.8.2
ixia-c-controller 0.0.1-2992
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.191
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.8.3
ixia-c-grpc-server 0.8.2
ixia-c-one 0.0.1-2992

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2969

16th June, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.15
snappi 0.7.41
gosnappi 0.7.41
ixia-c-controller 0.0.1-2969
ixia-c-traffic-engine 1.4.1.29
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.181
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.7.31
ixia-c-grpc-server 0.7.17
ixia-c-one 0.0.1-2969

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2934

2nd June, 2022

About

This build contains bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.13
snappi 0.7.37
gosnappi 0.7.37
ixia-c-controller 0.0.1-2934
ixia-c-traffic-engine 1.4.1.26
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.174
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.7.27
ixia-c-grpc-server 0.7.15
ixia-c-one 0.0.1-2934

Bug Fix(s)

  • ixia-c-controller will return an empty response instead of error when metrics / states are queried right after boot-up.
  • ixia-c-gnmi-server will return an empty response instead of error when metrics / states are queried without ever setting config

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2897

19th May, 2022

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2897
ixia-c-traffic-engine 1.4.1.26
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.165
ixia-c-operator 0.1.94
ixia-c-gnmi-server 1.7.23
ixia-c-grpc-server 0.7.12
ixia-c-one 0.0.1-2897

New Feature(s)

  • ixia-c-one is now supported on platforms with cgroupv2 enabled. https://github.com/open-traffic-generator/ixia-c/issues/77

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2801

9th May, 2022

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2801
ixia-c-traffic-engine 1.4.1.26
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.158
ixia-c-operator 0.1.89
ixia-c-gnmi-server 1.7.15
ixia-c-grpc-server 0.7.8

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2790

5th May, 2022

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2790
ixia-c-traffic-engine 1.4.1.26
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.158
ixia-c-operator 0.0.80
ixia-c-gnmi-server 1.7.15
ixia-c-grpc-server 0.7.8

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2770

21st April, 2022

About

This build includes stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2770
ixia-c-traffic-engine 1.0.0.275
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.154
ixia-c-operator 0.0.80
ixia-c-gnmi-server 1.7.13
ixia-c-grpc-server 0.7.8

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2755

7th April, 2022

About

This build includes following bug fix - Clearing of port and flow statistics as part of set_config.

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2755
ixia-c-traffic-engine 1.4.1.23
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.152
ixia-c-operator 0.0.75
ixia-c-gnmi-server 0.7.8
ixia-c-grpc-server 0.7.8

Bug Fix(s)

  • Clearing of port and flow statistics is now part of set_config.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2738

25th March, 2022

About

This build includes following new functionalities - fix in handling of ether_type field of ethernet packet

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2738
ixia-c-traffic-engine 1.4.1.23
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.151
ixia-c-operator 0.0.75
ixia-c-gnmi-server 0.7.8
ixia-c-grpc-server 0.7.8

New Feature(s)

  • Users would be able to set ether_type in ethernet header which may not be based on the next header type.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2727

24th March, 2022

About

This build includes following new functionalities - correct received(rx) rate statistics in port metrics - auto destination mac learning support in destination mac field of ethernet packet

Build Details

Component Version
Open Traffic Generator API 0.7.8
snappi 0.7.18
gosnappi 0.7.18
ixia-c-controller 0.0.1-2727
ixia-c-traffic-engine 1.4.1.23
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.151
ixia-c-operator 0.0.75
ixia-c-gnmi-server 0.7.8
ixia-c-grpc-server 0.7.8

New Feature(s)

  • Correct received(rx) rate statistics support is incorporated as part of port metrics.

    • frames_rx_rate
    • bytes_rx_rate
  • [Breaking Change] Auto learning of destination MAC is currently supported for both IPv4 and IPv6 Flows without any VLAN(originated from device endpoints) by setting ethernet destination with choice as auto in the packet. Earlier this was working by setting ethernet destination mac with "00:00:00:00:00:00" in the packet header. ``` { "choice": "ethernet", "ethernet": { "dst": { "choice": "auto" }, "src": { "choice": "value", "value": "00:00:01:01:01:01" } } }, ````

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2678

11th March, 2022

About

This build contains stability and debuggability enhancements.

Build Details

Component Version
Open Traffic Generator API 0.7.3
snappi 0.7.13
gosnappi 0.7.13
ixia-c-controller 0.0.1-2678
ixia-c-traffic-engine 1.4.1.23
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.146
ixia-c-operator 0.0.75
ixia-c-gnmi-server 0.7.5
ixia-c-grpc-server 0.7.7

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2662

24th February, 2022

About

This build implements transmit(tx) statistics & transmit state of flow metrics.

Build Details

Component Version
Open Traffic Generator API 0.7.3
snappi 0.7.13
gosnappi 0.7.13
ixia-c-controller 0.0.1-2662
ixia-c-traffic-engine 1.4.1.23
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.144
ixia-c-operator 0.0.75
ixia-c-gnmi-server 0.7.5
ixia-c-grpc-server 0.7.6

New Feature(s)

  • Transmit(tx) statistics & Transmit state support is incorporated as part of flow metrics.
    • transmit
    • frames_tx
    • frames_tx_rate

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2610

10th February, 2022

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.3
snappi 0.7.13
gosnappi 0.7.13
ixia-c-controller 0.0.1-2610
ixia-c-traffic-engine 1.4.1.5
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.133
ixia-c-operator 0.0.72
ixia-c-gnmi-server 0.7.5
ixia-c-grpc-server 0.7.5

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2597

27th January, 2022

About

This build contains debuggability enhancements.

Build Details

Component Version
Open Traffic Generator API 0.7.2
snappi 0.7.6
gosnappi 0.7.6
ixia-c-controller 0.0.1-2597
ixia-c-traffic-engine 1.4.1.2
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.133
ixia-c-operator 0.0.70
ixia-c-gnmi-server 0.7.4
ixia-c-grpc-server 0.7.4

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2543

16th December, 2021

About

This build contains stability fixes.

Build Details

Component Version
Open Traffic Generator API 0.7.2
snappi 0.7.3
gosnappi 0.7.3
ixia-c-controller 0.0.1-2543
ixia-c-traffic-engine 1.4.1.2
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.127
ixia-c-operator 0.0.70
ixia-c-gnmi-server 0.7.2
ixia-c-grpc-server 0.7.2

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2446

2nd December, 2021

About

This build introduces ability to return large FramesTx/RX values by metric APIs.

Build Details

Component Version
Open Traffic Generator API 0.6.13
snappi 0.6.21
gosnappi 0.6.21
ixia-c-controller 0.0.1-2446
ixia-c-traffic-engine 1.4.0.15
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.115
ixia-c-operator 0.0.70
ixia-c-gnmi-server 0.6.18
ixia-c-grpc-server 0.6.17

New Feature(s)

  • Maximum FramesTx and FramesRx value that can be correctly returned by flow_metrics and port_metrics has been increased from 2147483648 to 9.223372e+18

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2399

18th November, 2021

About

This build introduces ability to auto plug in default values for missing fields with primitive types upon receiving JSON payload.

Build Details

Component Version
Open Traffic Generator API 0.6.10
snappi 0.6.16
gosnappi 0.6.16
ixia-c-controller 0.0.1-2399
ixia-c-traffic-engine 1.4.0.15
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.111
ixia-c-operator 0.0.70
ixia-c-gnmi-server 0.6.14
ixia-c-grpc-server 0.6.15

New Feature(s)

  • Upon receiving JSON payload, ixia-c-controller will now automatically plug in default values for missing fields with primitive types.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2367

5th November, 2021

About

This build introduces uniform logging across some Ixia-c components.

Build Details

Component Version
Open Traffic Generator API 0.6.7
snappi 0.6.12
gosnappi 0.6.12
ixia-c-controller 0.0.1-2367
ixia-c-traffic-engine 1.4.0.15
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.96
ixia-c-operator 0.0.1-65
ixia-c-gnmi-server 0.6.11
ixia-c-grpc-server 0.6.11

Bug Fix(s)

  • Introduced structured logging for ixia-c-gnmi-server and ixia-c-grpc-server to aid uniform logging across Ixia-c components.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2342

27th October, 2021

About

This build contains validation bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.6.5
snappi 0.6.5
gosnappi 0.6.5
ixia-c-controller 0.0.1-2342
ixia-c-traffic-engine 1.4.0.15
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.83
ixia-c-operator 0.0.1-65
ixia-c-gnmi-server 0.6.6
ixia-c-grpc-server 0.6.6

Bug Fix(s)

  • Validation has been fixed for traffic configuration consisting of IPv4 and IPv6 interface names

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2337

21st October, 2021

About

This build contains bugfixes for SetConfig and FPS values in GetMetrics.

Build Details

Component Version
Open Traffic Generator API 0.6.5
snappi 0.6.5
gosnappi 0.6.5
ixia-c-controller 0.0.1-2337
ixia-c-traffic-engine 1.4.0.14
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.83
ixia-c-operator 0.0.1-65
ixia-c-gnmi-server 0.6.6
ixia-c-grpc-server 0.6.6

New Feature(s)

  • The race condition during connection initialization in SetConfig is fixed for scenarios involving large port count.
  • FPS value in GetMetrics for ports and flows is fixed for scenarios involving multiple consecutive SetTransmitState calls.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2289

29th September, 2021

About

This build contains support for performance optimisation through concurrent port operations.

Build Details

Component Version
Open Traffic Generator API 0.6.1
snappi 0.6.1
ixia-c-controller 0.0.1-2289
ixia-c-traffic-engine 1.4.0.13
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.70
otg-gnmi-server 0.6.1
otg-grpc-server 0.6.1

New Feature(s)

  • Performance is optimised through concurrent port operations.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2185

8th September, 2021

About

This build contains support for updating flow rate without disrupting transmit state.

Build Details

Component Version
Open Traffic Generator API 0.5.4
snappi 0.5.3
ixia-c-controller 0.0.1-2185
ixia-c-traffic-engine 1.4.0.11
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.56
otg-gnmi-server 0.5.2
otg-grpc-server 0.5.3

New Feature(s)

  • Updating flow rate without disrupting transmit state is now supported. Rate of multiple flows can be updated simultaneously through update_flows api without stopping the traffic.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-2120

27th August, 2021

About

This build contains support for capture filter, setting GRE checksum flag, redirecting Ixia-c controller log to stdout and some bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.4.12
snappi 0.4.25
ixia-c-controller 0.0.1-2120
ixia-c-traffic-engine 1.4.0.9
ixia-c-app-usage-reporter 0.0.1-37
ixia-c-protocol-engine 1.00.0.50
otg-gnmi-server 0.4.4
otg-grpc-server 0.0.9

New Feature(s)

  • Capture filters are now supported. Multiple patterns can be specified in the configuration.
  • Controller log is now redirected to stdout. docker logs can now be used to access Ixia-c controller logs.
  • Checksum field in GRE header now can be set.

Bug Fixes

  • All patterns of IPv6 value now can be set for increment and decrement properties in flow header fields.
  • Default value of step for decrement properties in flow header fields is now set correctly.

Known Issues

  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-1622

25th June, 2021

About

This build contains support for protocols GRE and VXLAN (RFC 2784), enabling/disabling flow metrics and some bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.4.0
snappi 0.4.0
ixia-c-controller 0.0.1-1622
ixia-c-traffic-engine 1.4.0.1
ixia-c-app-usage-reporter 0.0.1-36

New Feature(s)

  • Flow header configuration for protocols GRE and VXLAN (RFC 2784) are now supported.
  • Flow metrics is now disabled by default to allow transmitting packets with unaltered payload(i.e. without any timestamps and instrumentation bytes embedded in it).
  • Flow metrics (including metrics that are its sub-properties, e.g. latency and timestamp) can now be explicitly enabled on per-flow basis.

Bug Fixes

  • ixia-c-controller can now safely serve multiple parallel requests from different clients preventing any undefined behavior.
  • Port metrics can now be fetched for ports which are not part of flow configuration.
  • Providing port locations for ixia-c-traffic-engine running in unsupported mode will now throw a user-friendly error.
  • Default values for increment and decrement properties in flow header fields are now aligned per Open Traffic Generator API.

Known Issues

  • Checksum field in GRE header currently cannot be set.
  • The metric loss in flow metrics is currently not supported.

Release v0.0.1-1388

31st May, 2021

About

This build contains support for flow delay and some bug fixes.

Build Details

Component Version
Open Traffic Generator API 0.3.10
snappi 0.3.20
ixia-c-controller 0.0.1-1388
ixia-c-traffic-engine 1.2.0.12
ixia-c-app-usage-reporter 0.0.1-36

New Feature(s)

  • Ixia-c now supports delay parameter in flow configuration. Refer to v0.3.10 of the Open Traffic Generator API specification for more details.

Bug Fixes

  • The flow configuration parameter inter_burst_gap when specified in nanoseconds can now be set to a value larger than 4.2 seconds.
  • Invalid values can now be set for the phb (per hob behavior) field in the DSCP bits in the IPv4 header.
  • The set_config method will return an error when flows are over subscribed.
  • Fixed an error in calculation for packet counts when duration is set in terms of fixed_seconds.

Known Issues

  • The metrics frames_rx_rate and bytes_rx_rate in port statistics are not calculated correctly and are always zero.
  • The metric min_latency_ns in flow statistics is not calculated correctly and is always zero.