Releases: open-traffic-generator/ixia-c
Release v1.20.0-8
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 onset_config
orset_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 userandom
instead ofvalues
. - 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
iscut_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
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
orset_control_state.protocol.start
would result in the protocol-engine container to get stuck and ultimately result incontext_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 userandom
instead ofvalues
. - 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
iscut_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
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"
onset_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)"
onset_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"
- Note that for Ixia Chassis & Appliances(Novus, AresOne) the buffer can now be controlled by setting the environment variable of
- 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 userandom
instead ofvalues
. - 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
iscut_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
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 ofkeng-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.
- As mentioned in the
-
-
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
onbgpv4/6_prefixes
was returning error"Error occurred while fetching bgp_prefix states:Length cannot be less than zero. (Parameter 'length')"
if the prefix containedas_path
with multiple segments. -
Ixia-C, UHD400: Issue is fixed where
get_states
forisis
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 userandom
instead ofvalues
. - 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
iscut_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
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 userandom
instead ofvalues
. - 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
iscut_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
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)
- Supported fields are
-
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 usingget_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 userandom
instead ofvalues
. - 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
iscut_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
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
andflows[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 withoutsrc/dst
specified was returning error onset_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 userandom
instead ofvalues
. - 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
iscut_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
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
iscut_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
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 withgo
>=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)"
.
- When older version of
Note:
keng-controller
andotg-gnmi-server
are upgraded to usego
v1.23
. - Older versions of
-
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
iscut_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
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.
- In this the learned IPv6 address from the DHCPv6 server is automatically populated in
-
Ixia Chassis & Appliances(Novus, AresOne): Support added for
devices[i].ethernets[j].dhcpv6_interfaces[k].options/options_request
anddevices[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 oflldp_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
iscut_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.