Skip to content

Releases: open-traffic-generator/ixia-c

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.

Release v1.8.0-1

20 Aug 03:28
Compare
Choose a tag to compare

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

07 Aug 11:51
beea691
Compare
Choose a tag to compare

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

19 Jul 08:13
Compare
Choose a tag to compare

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

28 Jun 07:33
35676f0
Compare
Choose a tag to compare

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.