Skip to content

Commit

Permalink
Merge pull request #211 from open-traffic-generator/dev-18th-nov
Browse files Browse the repository at this point in the history
Release v1.16.0-2
  • Loading branch information
biplamal authored Nov 18, 2024
2 parents af88400 + ea1352a commit dc5e827
Show file tree
Hide file tree
Showing 13 changed files with 198 additions and 96 deletions.
8 changes: 4 additions & 4 deletions deployments/k8s/components/images/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.14.0-1
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.16.0-2
images:
- name: keng-controller
newName: ghcr.io/open-traffic-generator/keng-controller
newTag: "1.14.0-1"
newTag: "1.16.0-2"
- name: otg-gnmi-server
newName: ghcr.io/open-traffic-generator/otg-gnmi-server
newTag: "1.14.15"
newTag: "1.14.16"
- name: ixia-c-traffic-engine
newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine
newTag: "1.8.0.99"
newTag: "1.8.0.193"
2 changes: 1 addition & 1 deletion deployments/k8s/network-emulation/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module ipfwd

go 1.23

require github.com/open-traffic-generator/snappi/gosnappi v1.14.0
require github.com/open-traffic-generator/snappi/gosnappi v1.16.0

require (
github.com/Masterminds/semver/v3 v3.3.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions deployments/k8s/network-emulation/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/open-traffic-generator/snappi/gosnappi v1.14.0 h1:8AhZGGJ6/PIp8+O7xYYtwIGb2A+HByzU19W3cWdPbxY=
github.com/open-traffic-generator/snappi/gosnappi v1.14.0/go.mod h1:J1Cdre0Z140OBc2UTrSXUG69Hx81AA3qhnWLT3kAAX0=
github.com/open-traffic-generator/snappi/gosnappi v1.16.0 h1:nEISDHK3aqx3midAUk8vZo91pw2UsB5dqpxMhwniOFk=
github.com/open-traffic-generator/snappi/gosnappi v1.16.0/go.mod h1:J1Cdre0Z140OBc2UTrSXUG69Hx81AA3qhnWLT3kAAX0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
Expand Down
10 changes: 5 additions & 5 deletions 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.14.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.16.0-2
imagePullPolicy: IfNotPresent
name: keng-controller
volumeMounts:
Expand Down Expand Up @@ -63,15 +63,15 @@ spec:
value: "5555"
- name: ARG_CORE_LIST
value: 1 1 1
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.99
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193
imagePullPolicy: IfNotPresent
name: ixia-c-port1-traffic-engine
securityContext:
privileged: true
- env:
- name: INTF_LIST
value: eth1
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.405
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.415
imagePullPolicy: IfNotPresent
name: ixia-c-port1-protocol-engine
securityContext:
Expand Down Expand Up @@ -99,15 +99,15 @@ spec:
value: "5555"
- name: ARG_CORE_LIST
value: 1 1 1
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.99
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193
imagePullPolicy: IfNotPresent
name: ixia-c-port2-traffic-engine
securityContext:
privileged: true
- env:
- name: INTF_LIST
value: eth2
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.405
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.415
imagePullPolicy: IfNotPresent
name: ixia-c-port2-protocol-engine
securityContext:
Expand Down
12 changes: 6 additions & 6 deletions deployments/k8s/network-emulation/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ 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.14.0-1
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.99
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.405
docker pull ghcr.io/open-traffic-generator/keng-controller:1.16.0-2
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.415
# download DUT image
docker pull ubuntu:22.04
Expand All @@ -80,9 +80,9 @@ 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.14.0-1
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.99
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.405
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.16.0-2
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.193
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.415
kind load docker-image ubuntu:22.04
kind load docker-image networkop/meshnet:latest
kind load docker-image networkop/init-wait:latest
Expand Down
26 changes: 13 additions & 13 deletions docs/deployments-kne.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,32 +58,32 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.14.0-1",
"release": "1.16.0-2",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.14.0-1"
"tag": "1.16.0-2"
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.15"
"tag": "1.14.16"
},
{
"name": "traffic-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine",
"tag": "1.8.0.99"
"tag": "1.8.0.193"
},
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.405"
"tag": "1.00.0.415"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.14.0-1"
"tag": "1.16.0-2"
}
]
}
Expand All @@ -100,35 +100,35 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.14.0-1",
"release": "1.16.0-2",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.14.0-1",
"tag": "1.16.0-2",
"env": {
"LICENSE_SERVERS": "ip/hostname of license server"
}
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.15"
"tag": "1.14.16"
},
{
"name": "traffic-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine",
"tag": "1.8.0.99"
"tag": "1.8.0.193"
},
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.405"
"tag": "1.00.0.415"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.14.0-1"
"tag": "1.16.0-2"
}
]
}
Expand All @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case.
nodes:
- name: otg
vendor: KEYSIGHT
version: 1.14.0-1
version: 1.16.0-2
services:
8443:
name: https
Expand Down
2 changes: 1 addition & 1 deletion docs/developer/hello-snappi.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ After the set up is completed, install the python packages:
* [dpkt](https://pypi.org/project/dpkt/) - for processing `.pcap` files.

```sh
python -m pip install --upgrade snappi==1.14.0 dpkt
python -m pip install --upgrade snappi==1.16.0 dpkt
```

## Create the API Handle
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

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

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

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

* This build includes new features and bug fixes. [Read more](releases.md)
Expand Down
98 changes: 97 additions & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,102 @@
# Ixia-c Release Notes and Version Compatibility

## Release v1.14.0-1 (Latest)
## Release v1.16.0-2 (Latest)
> 18th November, 2024
#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.16.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.16.0/artifacts/openapi.yaml) |
| snappi | [1.16.0](https://pypi.org/project/snappi/1.16.0) |
| gosnappi | [1.16.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected]) |
| keng-controller | [1.16.0-2](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.193](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.415](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) |
| keng-layer23-hw-server | [1.16.0-2](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) |
| keng-operator | [0.3.34](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) |
| otg-gnmi-server | [1.14.16](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) |
| ixia-c-one | [1.16.0-2](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |
| UHD400 | [1.5.1](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.5/1.5.1/artifacts.tar) |


# Release Features(s)

* <b><i>Ixia-C, UHD400</i></b>: 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.
```go
// 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)
```

* <b><i>UHD400</i></b>: 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`.
```go
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)
```

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for ISIS Simulated Topology. [More Details](https://github.com/open-traffic-generator/models/pull/327)
- 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.
```go
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.

* <b><i>Ixia-C, UHD400, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for fetching `lldp_neighbors[i].custom_tlvs[j].information` as hex bytes using `get_states` API. [More details](https://github.com/open-traffic-generator/models/pull/392)

### Bug Fix(s)
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: 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 <i>"grpc: received message larger than max (7934807 vs. 4194304)"</i>.
- 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.

* <b><i>Ixia-C</i></b>: 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
* <b><i>Ixia-C, UHD400</i></b>: When the DHCPv6 client type is configured as IANAPD, DHCPv6 Server `get_states` doesn't show IAPD addresses
* <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.
* <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/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.
* <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. If larger set of values are required for a field which are random, please use `random` instead of `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.14.0-1
> 25th October, 2024
#### Build Details
Expand Down
6 changes: 3 additions & 3 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.14.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.16.0-2
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.14.0-1
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.16.0-2
restart: always
command:
- "dotnet"
Expand All @@ -109,7 +109,7 @@ logging:
max-file: "10"
mode: "non-blocking"
otg-gnmi-server:
image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.15
image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.16
restart: always
depends_on:
keng-controller:
Expand Down
Loading

0 comments on commit dc5e827

Please sign in to comment.