|
2 | 2 |
|
3 | 3 | | Component | Version |
|
4 | 4 | |-------------------------------|---------------|
|
5 |
| -| Open Traffic Generator API | [1.17.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.17.0/artifacts/openapi.yaml) | |
6 |
| -| snappi | [1.17.0](https://pypi.org/project/snappi/1.17.0) | |
7 |
| -| gosnappi | [1.17.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.17.0) | |
8 |
| -| keng-controller | [1.17.0-9](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | |
9 |
| -| ixia-c-traffic-engine | [1.8.0.193](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) | |
| 5 | +| Open Traffic Generator API | [1.19.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml) | |
| 6 | +| snappi | [1.19.0](https://pypi.org/project/snappi/1.19.0) | |
| 7 | +| gosnappi | [1.19.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.19.0) | |
| 8 | +| keng-controller | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | |
| 9 | +| ixia-c-traffic-engine | [1.8.0.241](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) | |
10 | 10 | | keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) |
|
11 |
| -| ixia-c-protocol-engine | [1.00.0.419](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | |
12 |
| -| keng-layer23-hw-server | [1.17.0-1](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | |
| 11 | +| ixia-c-protocol-engine | [1.00.0.424](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | |
| 12 | +| keng-layer23-hw-server | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | |
13 | 13 | | keng-operator | [0.3.34](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) |
|
14 |
| -| otg-gnmi-server | [1.14.18](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | |
15 |
| -| ixia-c-one | [1.17.0-9](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | |
| 14 | +| otg-gnmi-server | [1.19.0](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | |
| 15 | +| ixia-c-one | [1.19.0-5](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | |
16 | 16 | | UHD400 | [1.5.1](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.5/1.5.1/artifacts.tar) |
|
17 | 17 |
|
18 | 18 |
|
19 | 19 | # Release Features(s)
|
20 | 20 |
|
21 |
| -* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for BGP/BGP+ over ISIS Simulated Topology. [More Details](https://github.com/open-traffic-generator/models/pull/327) |
| 21 | +* <b><i>Ixia-C</i></b>: Support added to send flows over DHCPv6 endpoints. |
22 | 22 | ```go
|
23 |
| - loopback = simRtr.Ipv4Loopbacks(). |
24 |
| - Add(). |
25 |
| - SetName("IPv4Loopback"). |
26 |
| - SetAddress(dutIPv4). |
27 |
| - SetEthName(simRtr.Ethernets().Items()[0].Name()) |
28 |
| - simRtrBgp= simRtr.Bgp(). |
29 |
| - SetRouterId(loopback.Address()) |
30 |
| - simRtrBgpIntf = simRtrBgp.Ipv4Interfaces().Add(). |
31 |
| - SetIpv4Name(loopback.Name()) |
32 |
| - simRtrBgpIntf.Peers().Add(). |
33 |
| - SetAsNumber(1111). |
34 |
| - SetAsType(gosnappi.BgpV4PeerAsType.EBGP). |
35 |
| - SetPeerAddress(fromPeerIp). |
36 |
| - SetName("BgpPeer1") |
| 23 | + f1 := config.Flows().Add() |
| 24 | + f1.SetName(flowName). |
| 25 | + TxRx().Device(). |
| 26 | + SetTxNames([]string{"p1d1dhcpv6_1"}). |
| 27 | + SetRxNames([]string{"p2d1ipv6"}) |
| 28 | + f1Ip := f1.Packet().Add().Ipv6() |
| 29 | + // will be populated automatically with the the dynamically allocated Ip to DHCP client |
| 30 | + f1Ip.Src().Auto().Dhcp() |
| 31 | + … |
| 32 | + f2Ip.Dst().Auto().Dhcp() |
37 | 33 | ```
|
38 |
| - Note: For configuration of simulated topology please refer [here](https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.16.0-2). |
39 | 34 |
|
40 |
| -* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for GRE header in traffic flows. |
| 35 | +* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added to retrieve timestamp of the last link state change event of the test port. [More Details](https://github.com/open-traffic-generator/models/pull/398) |
| 36 | + - This can be retrieved by accessing `port_metrics[i].last_change`. |
| 37 | + |
| 38 | + Note: |
| 39 | + - 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`. |
| 40 | + - Test ports and DUT must be time synced to the same time source if link state change timestamps need to be co-related. |
| 41 | + |
| 42 | +* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for RSVP over ISIS Simulated Topology. |
41 | 43 | ```go
|
42 |
| - flow1 := config.Flows().Add() |
43 |
| - ... |
44 |
| - gre := flow1.Packet().Add().Gre() |
45 |
| - ... |
| 44 | + // Create RSVP neighbor on interface connected to DUT. |
| 45 | + // Note that get_states and get_metrics are supported only for the connected RSVP neighbors. |
| 46 | + p2RsvpNeighbor := p2d1.Rsvp().SetName("p2RsvpNbr") |
| 47 | + p2RsvpNeighbor.Ipv4Interfaces(). |
| 48 | + Add().SetIpv4Name(p2d1Ipv4.Name()). |
| 49 | + SetNeighborIp(p2d1Ipv4.Gateway()) |
| 50 | + |
| 51 | + // Create RSVP ingress LSPs on the loopback behind the simulated topology. |
| 52 | + fromLoRsvpIngress := fromLoRsvpLsp.P2PIngressIpv4Lsps().Add().SetName("ingressLsp") |
| 53 | + fromLoRsvpIngress.SetRemoteAddress("1.1.1.1").SetTunnelId(100) |
| 54 | + |
| 55 | + // Create RSVP egress endpoint on the loopback behind the simulated topology. |
| 56 | + toLoRsvpLsp := toLoRsvpPeer.LspIpv4Interfaces().Add().SetIpv4Name("loopback") |
| 57 | + toLoRsvpLspEgress := toLoRsvpLsp.P2PEgressIpv4Lsps().SetName("egressLsp") |
| 58 | + |
| 59 | + // Note: for TE SPF to work properly on DUT, ensure you have added TrafficEngineering to all ISIS interfaces. |
| 60 | + te = p2d1IsisIntf.TrafficEngineering().Add().SetMetricLevel(10) |
| 61 | + te.PriorityBandwidths(). |
| 62 | + SetPb0(125000000). |
| 63 | + ... |
| 64 | + SetPb7(125000000) |
46 | 65 | ```
|
47 |
| - Note: By default the correct GRE Protocol value will be set automatically depending on next header eg. IPv4/v6. |
| 66 | + |
48 | 67 |
|
49 | 68 |
|
50 | 69 | ### Bug Fix(s)
|
51 |
| -* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue is fixed where fetching ISIS learned information using `get_states` would sometimes fail with a error <i>Cannot clear data while transfer is in progress - data would be inconsistent</i>. |
| 70 | +* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue is fixed where `set_config` was failing with the error `"BgpIPRouteRange is missing"` when IPv4 routes with IPv6 next-hops (RFC5549) was configured. |
| 71 | + |
| 72 | +* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: 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. |
| 73 | + |
| 74 | +* <b><i>Ixia-C, UHD400</i></b>: 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. |
52 | 75 |
|
53 |
| -* <b><i>Ixia-C</i></b>: Issue is fixed where ARP/ND resolution was failing for LAG configurations with a mix of Loopback and connected interfaces. |
| 76 | +* <b><i>Ixia-C</i></b>: 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). |
54 | 77 |
|
55 |
| -* <b><i>Ixia-C</i></b>: 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. |
| 78 | +* <b><i>Ixia-C</i></b>: Issue is fixed where the traffic engine was crashing on deployment using a single cpu core (`--cpuset-cpus="0-1"`). |
56 | 79 |
|
57 |
| -* <b><i>Ixia-C, UHD400</i></b>: Issue is fixed where if the DHCPv6 client type is configured as IANAPD, DHCPv6 Server `get_states` doesn't show IAPD addresses. |
| 80 | +* <b><i>VM Licensing</i></b>: 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. |
58 | 81 |
|
59 |
| -* <b><i>UHD400</i></b>: 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. |
60 | 82 |
|
61 | 83 |
|
62 | 84 | #### Known Issues
|
63 |
| -* <b><i>Ixia-C, UHD400</i></b>: When DHCPv6 Server is configured with multiple pools, The DHCPv6 clients are not accepting addresses from different pools. |
64 | 85 | * <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: 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.
|
65 | 86 | * <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: `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.
|
66 | 87 | * <b><i>UHD400</i></b>: Packets will not be transmitted if `flows[i].rate.pps` is less than 50.
|
|
0 commit comments