Skip to content

Releases: open-traffic-generator/ixia-c

Release v1.20.0-8

26 Feb 06:41
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.20.0
snappi 1.20.0
gosnappi 1.20.0
keng-controller 1.20.0-8
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.431
keng-layer23-hw-server 1.20.0-2
keng-operator 0.3.34
otg-gnmi-server 1.20.2
ixia-c-one 1.20.0-8
UHD400 1.5.3

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where on running a test with a large number of replay_updates multiple times would cause a PCPU out of memory crash, resulting in "context deadline" error on set_config or set_control_state.protocol.start.

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: Non default virtual wiring configuration can result in ARP failures and traffic loss due to dropped packets on the rx path.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.20.0-6

11 Feb 09:14
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.20.0
snappi 1.20.0
gosnappi 1.20.0
keng-controller 1.20.0-6
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.431
keng-layer23-hw-server 1.20.0-1
keng-operator 0.3.34
otg-gnmi-server 1.20.2
ixia-c-one 1.20.0-6
UHD400 1.5.3

Release Features(s)

  • UHD400: Support added to retrieve timestamp of the last link state change event of the test port. More Details
    • This can be retrieved by accessing port_metrics[i].last_change.

      Note:

      • Test ports and DUT must be time synced to the same time source if link state change timestamps need to be co-related.

Bug Fix(s)

  • Ixia-C & UHD400: For certain asymmetric configurations of BGPv4/v6 replay_updates with a large number of updates, set_config or set_control_state.protocol.start would result in the protocol-engine container to get stuck and ultimately result in context_deadline_exceeded error and subsequent actions to not return a response. 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. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.19.0-18

24 Jan 15:45
70792d6
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.19.0
snappi 1.19.0
gosnappi 1.19.0
keng-controller 1.19.0-18
ixia-c-traffic-engine 1.8.0.245
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.426
keng-layer23-hw-server 1.19.0-9
keng-operator 0.3.34
otg-gnmi-server 1.19.0
ixia-c-one 1.19.0-18
UHD400 1.5.1

Release Features(s)

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Support added for GUEv1 IPv4/v6 over UDP traffic.

        f1Ip1 := f1.Packet().Add().Ipv4()​
        f1Ip1.Src().SetValue("1.1.1.1")​
        f1Ip1.Dst().SetValue("1.1.1.2")​
        ​
        f1Udp := f1.Packet().Add().Udp()​
        f1Udp.SrcPort().SetValue(30000)​
        f1Udp.DstPort().SetValue(6080)​
        // IPv4 Over UDP​
        f1Ip2 := f1.Packet().Add().Ipv4()​
        f1Ip2.Src().SetValues([]string{​
            "2.2.2.1",​
            "2.2.2.2",​
            "2.2.2.3",​
            "2.2.2.4",​
        })​
        f1Ip2.Dst().SetValue("3.3.3.1")​
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Support added for MPLS Over UDP traffic.

        //udp Dst port as 6635​
        f1Udp := f1.Packet().Add().Udp()​
        f1Udp.DstPort().SetValue(6635)​
        f1Udp.SrcPort().SetValue(65530)​
        //mpls over udp​
        f1Mpls1 := f1.Packet().Add().Mpls()​
        f1Mpls1.Label().SetValue(10001)​
        f1Mpls1.BottomOfStack().SetValue(0)
        f1Mpls2 := f1.Packet().Add().Mpls()​
        f1Mpls2.Label().SetValue(10011)​
        //ipv4 over mpls over udp​
        f1MplsIp := f1.Packet().Add().Ipv4()​
        f1MplsIp.Dst().SetValues([]string{​
            "20.20.20.1",​
            "20.20.20.2",​
            "20.20.20.3",​
            "20.20.20.4",​
        })​
        f1MplsIp.Src().SetValue("10.10.10.1")

    Note: MPLS Over UDP with DTLS is not supported.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Egress tracking is now supported for UDP, TCP(src/dst port fields), MPLS and IPv4/v6 inner header fields when encapsulated inside UDP/TCP.

        //egress tracking
        f1.EgressPacket().Add().Ethernet()
        f1.EgressPacket().Add().Ipv4()
        f1.EgressPacket().Add().Udp()
        f1.EgressPacket().Add().Mpls()
        mplsLabelTracking := f1.EgressPacket().Add().Mpls()
        tr1 := mplsLabelTracking.Label().MetricTags().Add()
        tr1.SetName("MplsLabelEgressTracking")
        tr1.SetOffset(17)
        tr1.SetLength(3)

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where configs with RSVP and multiple Loopback interfaces was throwing error similar to "loopback p2.d2.lo and lo.d not compatible" on set_config.
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Issue where config with large number of route ranges was causing error similar to "grpc: received message larger than max (114278270 vs. 104857600)" on set_config is fixed by increasing the default gRPC receive buffer size to 1GB.
    • Note that for Ixia Chassis & Appliances(Novus, AresOne) the buffer can now be controlled by setting the environment variable of keng-controller as given below.
          command:
              ...
              - "--grpc-max-msg-size"​
              - "500"
  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where set_config was throwing error if Traffic Engineering was enabled for ISIS interface, but Priority BandWidths were not explicitly specified.
  • Ixia-C, UHD400: Issue is fixed where DHCPv4 was intermittently crashing on stop.
  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where OSPFv2 Router Ids were not getting set properly when multiple OSPFv2 Routers were configured 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 Chassis & Appliances(Novus, AresOne): StartProtocols/set_control_state.protocol.all.start can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.19.0-5

23 Dec 03:39
5176fb9
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.19.0
snappi 1.19.0
gosnappi 1.19.0
keng-controller 1.19.0-5
ixia-c-traffic-engine 1.8.0.241
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.424
keng-layer23-hw-server 1.19.0-5
keng-operator 0.3.34
otg-gnmi-server 1.19.0
ixia-c-one 1.19.0-5
UHD400 1.5.1

Release Features(s)

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

      f1 := config.Flows().Add()​
      f1.SetName(flowName).​
        TxRx().Device().​
        SetTxNames([]string{"p1d1dhcpv6_1"}).​
        SetRxNames([]string{"p2d1ipv6"})​
      f1Ip := f1.Packet().Add().Ipv6()​
      // 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 to retrieve timestamp of the last link state change event of the test port. More Details

    • This can be retrieved by accessing port_metrics[i].last_change.

      Note:

      • As mentioned in the Known Issues, ports being used in the tests must be rebooted once after upgrading to the latest version of keng-layer23-hw-server.
      • Test ports and DUT must be time synced to the same time source if link state change timestamps need to be co-related.
  • Ixia Chassis & Appliances(Novus, AresOne): Support added for RSVP over ISIS Simulated Topology.

      // Create RSVP neighbor on interface connected to DUT.
      // Note that get_states and get_metrics are supported only for the connected RSVP neighbors.
      p2RsvpNeighbor := p2d1.Rsvp().SetName("p2RsvpNbr")
      p2RsvpNeighbor.Ipv4Interfaces().
              Add().SetIpv4Name(p2d1Ipv4.Name()).
              SetNeighborIp(p2d1Ipv4.Gateway())
    
      // Create RSVP ingress LSPs on the loopback behind the simulated topology.
      fromLoRsvpIngress := fromLoRsvpLsp.P2PIngressIpv4Lsps().Add().SetName("ingressLsp")
      fromLoRsvpIngress.SetRemoteAddress("1.1.1.1").SetTunnelId(100)
    
      // Create RSVP egress endpoint on the loopback behind the simulated topology.
      toLoRsvpLsp := toLoRsvpPeer.LspIpv4Interfaces().Add().SetIpv4Name("loopback")
      toLoRsvpLspEgress := toLoRsvpLsp.P2PEgressIpv4Lsps().SetName("egressLsp")
    
      // Note: for TE SPF to work properly on DUT, ensure you have added TrafficEngineering to all ISIS interfaces.
      te = p2d1IsisIntf.TrafficEngineering().Add().SetMetricLevel(10)
      te.PriorityBandwidths().
              SetPb0(125000000).
              ...
              SetPb7(125000000)

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where set_config was failing with the error "BgpIPRouteRange is missing" when IPv4 routes with IPv6 next-hops (RFC5549) was configured.

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where get_states on bgpv4/6_prefixes was returning error "Error occurred while fetching bgp_prefix states:Length cannot be less than zero. (Parameter 'length')" if the prefix contained as_path with multiple segments.

  • Ixia-C, UHD400: Issue is fixed where get_states for isis was returning IPv6 prefixes in upper case causing prefix match for IPv6 prefixes to fail in tests.

  • Ixia-C: Issue is fixed where set_config was failing with error "Error occurred while setting Traffic config (Layer1 only) for user common:Error fetching stats for port port9: unsuccessful Response: Port 7 is not added" when the traffic engine was deployed in multi nic mode (e.g. for lag setups with 8 ports).

  • Ixia-C: Issue is fixed where the traffic engine was crashing on deployment using a single cpu core (--cpuset-cpus="0-1").

  • VM Licensing: Issue is fixed for users using the VM License Server where, after a reboot, license-server VM serving multiple keng-controller(s) did not come up and tests running with those controller(s) started failing.

Known Issues

  • Ixia Chassis & Appliances(Novus, AresOne): If keng-layer23-hw-server version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests.
  • Ixia Chassis & Appliances(Novus, AresOne): StartProtocols/set_control_state.protocol.all.start can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.17.0-9

29 Nov 09:22
970c45d
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.17.0
snappi 1.17.0
gosnappi 1.17.0
keng-controller 1.17.0-9
ixia-c-traffic-engine 1.8.0.193
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.419
keng-layer23-hw-server 1.17.0-1
keng-operator 0.3.34
otg-gnmi-server 1.14.18
ixia-c-one 1.17.0-9
UHD400 1.5.1

Release Features(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Support added for BGP/BGP+ over ISIS Simulated Topology. More Details

      loopback = simRtr.Ipv4Loopbacks().
                  Add().
                  SetName("IPv4Loopback").
                  SetAddress(dutIPv4).
                  SetEthName(simRtr.Ethernets().Items()[0].Name())
      simRtrBgp= simRtr.Bgp().
              SetRouterId(loopback.Address())
      simRtrBgpIntf = simRtrBgp.Ipv4Interfaces().Add().
              SetIpv4Name(loopback.Name())
      simRtrBgpIntf.Peers().Add().
              SetAsNumber(1111).
              SetAsType(gosnappi.BgpV4PeerAsType.EBGP).
              SetPeerAddress(fromPeerIp).
              SetName("BgpPeer1")

    Note: For configuration of simulated topology please refer here.

  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Support added for GRE header in traffic flows.

      flow1 := config.Flows().Add()
      ...
      gre := flow1.Packet().Add().Gre()
      ...

    Note: By default the correct GRE Protocol value will be set automatically depending on next header eg. IPv4/v6.

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where fetching ISIS learned information using get_states would sometimes fail with a error Cannot clear data while transfer is in progress - data would be inconsistent.

  • Ixia-C: Issue is fixed where ARP/ND resolution was failing for LAG configurations with a mix of Loopback and connected interfaces.

  • Ixia-C: Issue is fixed where on fetching BGP/BGP+ learned prefix information using get_states would return an incorrect prefix in certain scenarios. This was more likely to happen for IPv6 prefixes.

  • Ixia-C, UHD400: Issue is fixed where if the DHCPv6 client type is configured as IANAPD, DHCPv6 Server get_states doesn't show IAPD addresses.

  • UHD400: Issue is fixed where Auto MAC resolution was not working properly for multinic scenarios such as LAG, resulting in flows being transmitted with dest MAC as 00:00:00:00:00:00 and DUT not forwarding these packets.

Known Issues

  • Ixia-C, UHD400: When DHCPv6 Server is configured with multiple pools, The DHCPv6 clients are not accepting addresses from different pools.
  • Ixia Chassis & Appliances(Novus, AresOne): If keng-layer23-hw-server version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests.
  • Ixia Chassis & Appliances(Novus, AresOne): StartProtocols/set_control_state.protocol.all.start can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.16.0-2

18 Nov 08:58
dc5e827
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.16.0
snappi 1.16.0
gosnappi 1.16.0
keng-controller 1.16.0-2
ixia-c-traffic-engine 1.8.0.193
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.415
keng-layer23-hw-server 1.16.0-2
keng-operator 0.3.34
otg-gnmi-server 1.14.16
ixia-c-one 1.16.0-2
UHD400 1.5.1

Release Features(s)

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

    • 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) 
  • UHD400: Support of Egress Flow tracking for multiple flows is added any location of supported fields upto 10 bits.

    • Supported fields are 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)
  • Ixia Chassis & Appliances(Novus, AresOne): Support added for ISIS Simulated Topology. More Details

    • Configuration for ISIS attributes for newly introduced simulated routers are identical to configuration for currently supported directly connected emulated routers.
    • devices[i].ethernets[j].connection.simulated_link​ is introduced to create a simulated ethernet connection to build a Simulated Topology.
      simulatedRouterEthernet := simulatedRouter.Ethernets().Add().
                  SetName("simRtrEth").
                  SetMac("00:00:11:02:02:02")
      simulatedRouterEthernet.Connection().SimulatedLink().SetRemoteSimulatedLink("connRtrSimEth")
    
      connectedRouterSimulatedEthernet := connectedRouter.Ethernets().Add().
                  SetName("connRtrSimEth").
                  SetMac("00:00:01:01:01:01")
      connectedRouterSimulatedEthernet.Connection().SimulatedLink().SetRemoteSimulatedLink("simRtrEth")

    Note: get_metrics/states APIs are only applicable for the connected emulated routers and not for the simulated routers.

  • Ixia-C, UHD400, Ixia Chassis & Appliances(Novus, AresOne): Support added for fetching lldp_neighbors[i].custom_tlvs[j].information as hex bytes using get_states API. More details

Bug Fix(s)

  • Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where for certain scenarios such as retrieving large control capture buffer or fetching get_metrics/states for large amount of data results in errors similar to "grpc: received message larger than max (7934807 vs. 4194304)".

    • For such scenarios note that the grpc receive buffer on the client should also be locally increased if necessary from default value of 4 MB.
  • Ixia-C: Issue is fixed for LLDP where, when multiple custom tlvs are configured to be sent, sometimes the bytes in the information field in the outgoing LLDP PDUs were corrupted.

Known Issues

  • Ixia-C, UHD400: When the DHCPv6 client type is configured as IANAPD, DHCPv6 Server get_states doesn't show IAPD addresses
  • Ixia-C, UHD400: When DHCPv6 Server is configured with multiple pools, The DHCPv6 clients are not accepting addresses from different pools.
  • Ixia Chassis & Appliances(Novus, AresOne): If keng-layer23-hw-server version is upgraded/downgraded, the ports which will be used from this container must be rebooted once before running the tests.
  • Ixia Chassis & Appliances(Novus, AresOne): StartProtocols/set_control_state.protocol.all.start can get stuck till the time all DHPCv4/v6 clients receive the leased IPv4/v6 addresses from the DHCPv4/v6 server/relay agent. This may result in getting "context deadline exceeded" error in the test program.
  • UHD400: Packets will not be transmitted if flows[i].rate.pps is less than 50.
  • UHD400: values for fields in flow packet headers can be created with maximum length of 1000 values. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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.14.0-1

25 Oct 06:43
Compare
Choose a tag to compare

Build Details

Component Version
Open Traffic Generator API 1.14.0
snappi 1.14.0
gosnappi 1.14.0
keng-controller 1.14.0-1
ixia-c-traffic-engine 1.8.0.99
keng-app-usage-reporter 0.0.1-52
ixia-c-protocol-engine 1.00.0.405
keng-layer23-hw-server 1.14.0-1
keng-operator 0.3.34
otg-gnmi-server 1.14.15
ixia-c-one 1.14.0-1
UHD400 1.4.0

Release Features(s)

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

      ospfRouter := device1.Ospfv2().​
              SetName("OspfRtr").​
              SetStoreLsa(true)​
    
      intf := ospfRouter.Interfaces().Add().​
                      SetName("OspfIntf").​
                      SetIpv4Name("Ipv4Intf1")​
    
      intf.Area().SetId(0)​
      intf.NetworkType().PointToPoint()​
      ospfRoutes := ospfRouter.V4Routes().​
                              Add().​
                              SetName("OspfRoutes")​
      ospfRoutes.​
              Addresses().​
              Add().​
              SetAddress("10.10.10.0").​
              SetPrefix(24).​
              SetCount(100).​
              SetStep(2)​​
    • Learned LSAs can be fetched by the following
      req := gosnappi.NewStatesRequest()​
      req.Ospfv2Lsas().SetRouterNames(routerNames)​
      res, err := client.GetStates(req)
    • OSPFv2 metrics can be fetched by the following
      req := gosnappi.NewMetricsRequest()
      reqOspf := req.Ospfv2()
      reqOspf.SetRouterNames(routerNames)
  • Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Support added to update flows[i].size and flows[i].rate on the fly.

    flow = get_config.Flows().Items()[0]​
      flow.Rate().SetPps(120)​
      flow.Size().SetFixed(512)​
    
      flowUpdateCfg: = gosnappi.NewConfigUpdate().Flows()
      flowUpdateCfg.Flows().Append(flow)​
      flowUpdateCfg.SetPropertyNames ([]gosnappi.FlowsUpdatePropertyNamesEnum{​
        gosnappi.FlowsUpdatePropertyNames.SIZE, gosnappi.FlowsUpdatePropertyNames.RATE
      })​
    
      configUpdate = gosnappi.NewConfigUpdate()​
      configUpdate.SetFlows(flowUpdateCfg)
      res, err := client.Api().UpdateConfig(configUpdate)​​

Bug Fix(s)

  • Ixia-C: Issue where flows containing ipv4/v6 header without src/dst specified was returning error on set_config "Error flow [ flow-name ] has AUTO IPv4 src address and Tx device [ flow-end-point ] with no dhcpv4 interface" 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. If larger set of values are required for a field which are random, please use random instead of values.
  • Ixia-C: Flow Tx is incremented for flow with tx endpoints as LAG, even if no packets are sent on the wire when all active links of the LAG are down.
  • Ixia-C: 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-9

03 Oct 19:16
24dee28
Compare
Choose a tag to compare

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

13 Sep 07:56
6dcb821
Compare
Choose a tag to compare

Build Details

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

Release Features(s)

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

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

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

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

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

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

Bug Fix(s)

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

Known Issues

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

Release v1.12.0-1

02 Sep 05:50
28a9ed3
Compare
Choose a tag to compare

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.