Skip to content

Commit

Permalink
Merge pull request #207 from open-traffic-generator/dev-13th-sept
Browse files Browse the repository at this point in the history
Release v1.13.0-1
  • Loading branch information
biplamal authored Sep 13, 2024
2 parents 30fdccc + 3f18500 commit 6dcb821
Show file tree
Hide file tree
Showing 13 changed files with 184 additions and 127 deletions.
2 changes: 1 addition & 1 deletion conformance
Submodule conformance updated 5 files
+1 −1 do.sh
+7 −7 go.mod
+18 −18 go.sum
+1 −1 requirements.txt
+4 −4 versions.yaml
6 changes: 3 additions & 3 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.12.0-1
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.13.0-1
images:
- name: keng-controller
newName: ghcr.io/open-traffic-generator/keng-controller
newTag: "1.12.0-1"
newTag: "1.13.0-1"
- name: otg-gnmi-server
newName: ghcr.io/open-traffic-generator/otg-gnmi-server
newTag: "1.14.12"
newTag: "1.14.14"
- name: ixia-c-traffic-engine
newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine
newTag: "1.8.0.25"
12 changes: 6 additions & 6 deletions deployments/k8s/network-emulation/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ module ipfwd

go 1.23

require github.com/open-traffic-generator/snappi/gosnappi v1.12.0
require github.com/open-traffic-generator/snappi/gosnappi v1.13.0

require (
github.com/Masterminds/semver/v3 v3.3.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sys v0.20.0 // indirect
golang.org/x/text v0.15.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
google.golang.org/grpc v1.65.0 // indirect
golang.org/x/net v0.26.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.16.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
google.golang.org/grpc v1.66.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/yaml.v2 v2.2.3 // indirect
)
28 changes: 14 additions & 14 deletions deployments/k8s/network-emulation/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,24 @@ 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.12.0 h1:nEaSh7imm+0dId04UAZScd2n3grjIS2lbhoO8UJ7pjo=
github.com/open-traffic-generator/snappi/gosnappi v1.12.0/go.mod h1:Y0hBgoswmEQPWtGUdYKcSe+bptCPC6r88H2eDwxt/aY=
github.com/open-traffic-generator/snappi/gosnappi v1.13.0 h1:gO9kT+YnCrbyObJ/YbXwear3peR+vmt2gtWLbPvvYsQ=
github.com/open-traffic-generator/snappi/gosnappi v1.13.0/go.mod h1:souM/lNFnFbzxELHe3PrctPoX+8GYU18z19/q9fbG4o=
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=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c=
google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
6 changes: 3 additions & 3 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.12.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.13.0-1
imagePullPolicy: IfNotPresent
name: keng-controller
volumeMounts:
Expand Down Expand Up @@ -71,7 +71,7 @@ spec:
- env:
- name: INTF_LIST
value: eth1
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.399
imagePullPolicy: IfNotPresent
name: ixia-c-port1-protocol-engine
securityContext:
Expand Down Expand Up @@ -107,7 +107,7 @@ spec:
- env:
- name: INTF_LIST
value: eth2
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.399
imagePullPolicy: IfNotPresent
name: ixia-c-port2-protocol-engine
securityContext:
Expand Down
8 changes: 4 additions & 4 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.12.0-1
docker pull ghcr.io/open-traffic-generator/keng-controller:1.13.0-1
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.25
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.399
# 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.12.0-1
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.13.0-1
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.25
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.399
kind load docker-image ubuntu:22.04
kind load docker-image networkop/meshnet:latest
kind load docker-image networkop/init-wait:latest
Expand Down
22 changes: 11 additions & 11 deletions docs/deployments-kne.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,17 +58,17 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.12.0-1",
"release": "1.13.0-1",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.12.0-1"
"tag": "1.13.0-1"
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.12"
"tag": "1.14.14"
},
{
"name": "traffic-engine",
Expand All @@ -78,12 +78,12 @@ Following are the recommended resources for a basic use-case.
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.398"
"tag": "1.00.0.399"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.12.0-1"
"tag": "1.13.0-3"
}
]
}
Expand All @@ -100,20 +100,20 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.12.0-1",
"release": "1.13.0-1",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.12.0-1",
"tag": "1.13.0-1",
"env": {
"LICENSE_SERVERS": "ip/hostname of license server"
}
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.12"
"tag": "1.14.14"
},
{
"name": "traffic-engine",
Expand All @@ -123,12 +123,12 @@ Following are the recommended resources for a basic use-case.
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.398"
"tag": "1.00.0.399"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.12.0-1"
"tag": "1.13.0-3"
}
]
}
Expand All @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case.
nodes:
- name: otg
vendor: KEYSIGHT
version: 1.12.0-1
version: 1.13.0-1
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.12.0 dpkt
python -m pip install --upgrade snappi==1.13.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

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

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

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

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

## Release v1.8.0-1 (Latest)
## Release v1.13.0-1 (Latest)
> 17th September, 2024
#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.13.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.13.0/artifacts/openapi.yaml) |
| snappi | [1.13.0](https://pypi.org/project/snappi/1.13.0) |
| gosnappi | [1.13.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected]) |
| keng-controller | [1.13.0-1](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.25](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.399](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) |
| keng-layer23-hw-server | [1.13.0-3](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) |
| keng-operator | [0.3.30](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) |
| otg-gnmi-server | [1.14.14](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) |
| ixia-c-one | [1.13.0-1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) |
| UHD400 | [1.4.0](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.3/1.4.0/artifacts.tar) |


# Release Features(s)

* <b><i>gosnappi</i></b>: `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`.

* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400</i></b>: Support added for BGP GracefulRestart Notification Enhancement based on [RFC8538](https://datatracker.ietf.org/doc/html/rfc8538)​.
- To enable advertisement of Notification support in GracefulRestart capability:

```go
peer.GracefulRestart().SetEnableNotification(true)​
```

- To optionally send Notification when peer is going down during `InitiateGracefulRestart` trigger:​

```go
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)​
}​
```

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added to update traffic rate on the fly.
```go
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)
* <b><i>UHD400</i></b>: 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
* <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.
* <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.12.0-1
> 2nd September, 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.12.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.13.0-1
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.12.0-1
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.13.0-3
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.12
image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.14
restart: always
depends_on:
keng-controller:
Expand Down
Loading

0 comments on commit 6dcb821

Please sign in to comment.