Skip to content

Commit

Permalink
adding latest conformance
Browse files Browse the repository at this point in the history
  • Loading branch information
biplamal committed Jun 14, 2024
1 parent bce1436 commit dd386a4
Show file tree
Hide file tree
Showing 10 changed files with 101 additions and 77 deletions.
2 changes: 1 addition & 1 deletion conformance
4 changes: 2 additions & 2 deletions deployments/k8s/components/images/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.5.1-3
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.5.1-12
images:
- name: keng-controller
newName: ghcr.io/open-traffic-generator/keng-controller
newTag: "1.5.1-3"
newTag: "1.5.1-12"
- name: otg-gnmi-server
newName: ghcr.io/open-traffic-generator/otg-gnmi-server
newTag: "1.14.2"
Expand Down
2 changes: 1 addition & 1 deletion deployments/k8s/network-emulation/pods.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ spec:
- args:
- --accept-eula
- --debug
image: ghcr.io/open-traffic-generator/keng-controller:1.5.1-3
image: ghcr.io/open-traffic-generator/keng-controller:1.5.1-12
imagePullPolicy: IfNotPresent
name: keng-controller
volumeMounts:
Expand Down
4 changes: 2 additions & 2 deletions deployments/k8s/network-emulation/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ To achieve this, we'll be using [Meshnet CNI](https://github.com/networkop/meshn
docker login ghcr.io
# download ixia-c images
docker pull ghcr.io/open-traffic-generator/keng-controller:1.5.1-3
docker pull ghcr.io/open-traffic-generator/keng-controller:1.5.1-12
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.12
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.383
Expand All @@ -80,7 +80,7 @@ To achieve this, we'll be using [Meshnet CNI](https://github.com/networkop/meshn
docker pull networkop/init-wait:latest
# push images to nodes
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.5.1-3
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.5.1-12
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.12
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.383
kind load docker-image ubuntu:22.04
Expand Down
14 changes: 7 additions & 7 deletions docs/deployments-kne.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.5.1-3",
"release": "1.5.1-12",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.5.1-3"
"tag": "1.5.1-12"
},
{
"name": "gnmi-server",
Expand All @@ -83,7 +83,7 @@ Following are the recommended resources for a basic use-case.
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.5.1-4"
"tag": "1.5.1-6"
}
]
}
Expand All @@ -100,12 +100,12 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.5.1-3",
"release": "1.5.1-12",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.5.1-3",
"tag": "1.5.1-12",
"env": {
"LICENSE_SERVERS": "ip/hostname of license server"
}
Expand All @@ -128,7 +128,7 @@ Following are the recommended resources for a basic use-case.
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.5.1-4"
"tag": "1.5.1-6"
}
]
}
Expand All @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case.
nodes:
- name: otg
vendor: KEYSIGHT
version: 1.5.1-3
version: 1.5.1-12
services:
8443:
name: https
Expand Down
4 changes: 4 additions & 0 deletions docs/news.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# News

* **14th June, 2024**: Ixia-c version 1.5.1 (build 11) released. This conforms to **[v1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.1/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification.

* This build includes new features. [Read more](releases.md)

* **1st June, 2024**: Ixia-c version 1.5.1 (build 3) released. This conforms to **[v1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.1/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification.

* This build includes new features. [Read more](releases.md)
Expand Down
63 changes: 59 additions & 4 deletions docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,70 @@
# Ixia-c Release Notes and Version Compatibility

## Release v1.5.1-3 (Latest)
## Release v1.5.1-12 (Latest)
> 14th June, 2024
#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.1/artifacts/openapi.yaml) |
| snappi | [1.5.1](https://pypi.org/project/snappi/1.5.1) |
| gosnappi | [1.5.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected]) |
| keng-controller | [1.5.1-12](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.12](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) |
| keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) |
| ixia-c-protocol-engine | [1.00.0.383](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) |
| keng-layer23-hw-server | [1.5.1-6](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) |
| keng-operator | [0.3.29](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) |
| otg-gnmi-server | [1.14.2](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) |
| ixia-c-one | [1.5.1-12](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |
| UHD400 | [1.2.9](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.2/1.2.9/artifacts.tar) |


# Release Features(s)
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: gNMI support for `GetStates` of DHCP Server added.
- [DHCPv4 Server](https://github.com/open-traffic-generator/models-yang/blob/main/artifacts/open-traffic-generator-dhcpv4server.txt)

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

### Bug Fix(s)
* <b><i>Ixia-C</i></b>: Issue where withdrawing BGP/BGP+ routes using `set_control_state.protocol.route.withdraw` was failing in multi-nic topology is fixed.
* <b><i>Ixia Chassis & Appliances(AresOne)</i></b>: Issue where after running BGP/BGP+ tests on multi-nic ports would result intermittently in `context deadline` errors for subsequent tests/sub tests is fixed.
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue where after running tests involving continuous connect/reconnect of test ports for long duration (e.g. 2 - 3 hrs) would result in intermittent `context deadline` errors for a bunch of consecutive tests is fixed.


#### Known Issues
* <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.
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: `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.
* <b><i>UHD400</i></b>: Packets will not be transmitted if `flows[i].rate.pps` is less than 50.
* <b><i>UHD400</i></b>: `values` for fields in flow packet headers can be created with maximum length of 1000 values.
* <b><i>Ixia-C</i></b>: 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.
* <b><i>Ixia-C</i></b>: Supported value for `flows[i].metrics.latency.mode` is `cut_through`.
* <b><i>Ixia-C</i></b>: The metric `loss` in flow metrics is currently not supported.
* <b><i>Ixia-C</i></b>: When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.

## Release v1.5.1-3
> 1st June, 2024
#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.0/artifacts/openapi.yaml) |
| snappi | [1.5.1](https://pypi.org/project/snappi/1.5.0) |
| gosnappi | [1.5.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected].0) |
| Open Traffic Generator API | [1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.1/artifacts/openapi.yaml) |
| snappi | [1.5.1](https://pypi.org/project/snappi/1.5.1) |
| gosnappi | [1.5.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected].1) |
| keng-controller | [1.5.1-3](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.12](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) |
| keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) |
Expand Down
4 changes: 2 additions & 2 deletions docs/tests-chassis-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ The following procedure shows an example of how to deploy using Docker Compose.
```
services:
keng-controller:
image: ghcr.io/open-traffic-generator/keng-controller:1.5.1-3
image: ghcr.io/open-traffic-generator/keng-controller:1.5.1-12
restart: always
depends_on:
keng-layer23-hw-server:
Expand All @@ -94,7 +94,7 @@ logging:
max-file: "10"
mode: "non-blocking"
keng-layer23-hw-server:
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.5.1-4
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.5.1-6
restart: always
command:
- "dotnet"
Expand Down
79 changes: 22 additions & 57 deletions notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,82 +2,47 @@

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.0/artifacts/openapi.yaml) |
| snappi | [1.5.1](https://pypi.org/project/snappi/1.5.0) |
| gosnappi | [1.5.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected].0) |
| keng-controller | [1.5.1-3](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| Open Traffic Generator API | [1.5.1](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.5.1/artifacts/openapi.yaml) |
| snappi | [1.5.1](https://pypi.org/project/snappi/1.5.1) |
| gosnappi | [1.5.1](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected].1) |
| keng-controller | [1.5.1-12](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.12](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-traffic-engine) |
| keng-app-usage-reporter | [0.0.1-52](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-app-usage-reporter) |
| ixia-c-protocol-engine | [1.00.0.383](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) |
| keng-layer23-hw-server | [1.5.1-4](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) |
| keng-layer23-hw-server | [1.5.1-6](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) |
| keng-operator | [0.3.29](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) |
| otg-gnmi-server | [1.14.2](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) |
| ixia-c-one | [1.5.1-3](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |
| UHD400 | [1.2.8](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.2/1.2.8/artifacts.tar) |
| ixia-c-one | [1.5.1-12](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |
| UHD400 | [1.2.9](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.2/1.2.9/artifacts.tar) |


# Release Features(s)
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for DHCPv4 Client and Server in control plane. [details](https://github.com/open-traffic-generator/models/pull/371)
- User will be the able to configure DHCPv4 Client and Server by the following code snippet. More comprehensive [B2B example](https://github.com/open-traffic-generator/featureprofiles/blob/dev-dhcp/feature/dhcp/dhcpv4_client_server_b2b_test.go)
```go
// 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)
```

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: gNMI support added to fetch DHCPv4 Client and Server statistics.
- [DHCPv4 Client](https://github.com/open-traffic-generator/models-yang/blob/main/artifacts/open-traffic-generator-dhcpv4client.txt)

```gNMI
# Combined metrics and states information
dhcpv4-clients/dhcpv4-client[name=clientName]/state
# Metrics information
dhcpv4-clients/dhcpv4-client[name=clientName]/state/counters
# States information
dhcpv4-clients/dhcpv4-client[name=clientName]/state/interface
```
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: gNMI support for `GetStates` of DHCP Server added.
- [DHCPv4 Server](https://github.com/open-traffic-generator/models-yang/blob/main/artifacts/open-traffic-generator-dhcpv4server.txt)

```gNMI
# Combined metrics and states information
dhcpv4-servers/dhcpv4-servers[name=serverName]/state
# Metrics information
dhcpv4-servers/dhcpv4-servers[name=serverName]/state/counters
# States information
dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases (For now it will return empty responses.)
dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases
```
* <b><i>UHD400</i></b>: Value-list support added for IPv4 `dscp` field.
```go
flowEth := flow.Packet().Add().Ethernet()
....
ipv4 := flow.Packet().Add().ipv4()
ipv4.Src().SetValue(srcAddr)
ipv4.Dst().SetValue(dstAddr)
ipv4.Priority().Dscp().Phb().SetValues([]uint32{10,12,14,18 ...})
```
Note: Support for `GetStates`/`dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases` of DHCP Server will be provided in subsequent release.

### Bug Fix(s)
* <b><i>UHD400</i></b>: An issue has been fixed where, Despite proper ARP resolution, packets of `flows` of type `device` might not get forwarded by the DUT, resulting in 0 `rx` statistics.
This issue is visible for UHD400/ixia-c releases up to `v1.5.0-1`.
* <b><i>Ixia-C</i></b>: Issue where withdrawing BGP/BGP+ routes using `set_control_state.protocol.route.withdraw` was failing in multi-nic topology is fixed.
* <b><i>Ixia Chassis & Appliances(AresOne)</i></b>: Issue where after running BGP/BGP+ tests on multi-nic ports would result intermittently in `context deadline` errors for subsequent tests/sub tests is fixed.
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue where after running tests involving continuous connect/reconnect of test ports for long duration (e.g. 2 - 3 hrs) would result in intermittent `context deadline` errors for a bunch of consecutive tests is fixed.


#### Known Issues
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: `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.
* <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.
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: `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.
* <b><i>UHD400</i></b>: Packets will not be transmitted if `flows[i].rate.pps` is less than 50.
* <b><i>UHD400</i></b>: `values` for fields in flow packet headers can be created with maximum length of 1000 values.
* <b><i>Ixia-C</i></b>: 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.
Expand Down
Loading

0 comments on commit dd386a4

Please sign in to comment.