From c3236a8a7306b0e2ffb9b599ea3f868a0edd56d9 Mon Sep 17 00:00:00 2001 From: biplamal Date: Fri, 19 Apr 2024 08:05:44 +0000 Subject: [PATCH 1/3] v1.3.0-2 --- conformance | 2 +- .../k8s/components/images/kustomization.yaml | 8 ++-- deployments/k8s/network-emulation/go.mod | 4 +- deployments/k8s/network-emulation/go.sum | 4 +- deployments/k8s/network-emulation/pods.yaml | 10 ++--- deployments/k8s/network-emulation/readme.md | 12 +++--- docs/deployments-kne.md | 26 ++++++------ docs/developer/hello-snappi.md | 2 +- docs/news.md | 5 +++ docs/releases.md | 41 ++++++++++++++++++- docs/tests-chassis-app.md | 6 +-- readme.md | 8 ++-- 12 files changed, 86 insertions(+), 42 deletions(-) diff --git a/conformance b/conformance index cc4e5fea..6de94cc6 160000 --- a/conformance +++ b/conformance @@ -1 +1 @@ -Subproject commit cc4e5fea66d094da8bd692ddb1347ef67bdeeec2 +Subproject commit 6de94cc6e205e3c734102100356b0bacbd8c4301 diff --git a/deployments/k8s/components/images/kustomization.yaml b/deployments/k8s/components/images/kustomization.yaml index 49a3cc93..a4b01fa6 100644 --- a/deployments/k8s/components/images/kustomization.yaml +++ b/deployments/k8s/components/images/kustomization.yaml @@ -1,14 +1,14 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component -# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.1.0-21 +# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.3.0-2 images: - name: keng-controller newName: ghcr.io/open-traffic-generator/keng-controller - newTag: "1.1.0-21" + newTag: "1.3.0-2" - name: otg-gnmi-server newName: ghcr.io/open-traffic-generator/otg-gnmi-server - newTag: "1.13.14" + newTag: "1.13.15" - name: ixia-c-traffic-engine newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine - newTag: "1.6.0.109" + newTag: "1.6.0.167" diff --git a/deployments/k8s/network-emulation/go.mod b/deployments/k8s/network-emulation/go.mod index e69c0523..0f5f6559 100644 --- a/deployments/k8s/network-emulation/go.mod +++ b/deployments/k8s/network-emulation/go.mod @@ -1,8 +1,8 @@ module ipfwd -go 1.20 +go 1.19 -require github.com/open-traffic-generator/snappi/gosnappi v1.1.1 +require github.com/open-traffic-generator/snappi/gosnappi v1.3.0 require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect diff --git a/deployments/k8s/network-emulation/go.sum b/deployments/k8s/network-emulation/go.sum index 8197b89e..6df00cac 100644 --- a/deployments/k8s/network-emulation/go.sum +++ b/deployments/k8s/network-emulation/go.sum @@ -1448,8 +1448,8 @@ github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcs github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/open-traffic-generator/snappi/gosnappi v1.1.1 h1:wIxSWPqLdlXPbOthETxdTG+lbN0Hl5Wd9PBUrcFU5ZM= -github.com/open-traffic-generator/snappi/gosnappi v1.1.1/go.mod h1:CaE4nisXftNXdXWvTSqb4eiW2WMFIXkJsH5rqPoipcg= +github.com/open-traffic-generator/snappi/gosnappi v1.3.0 h1:6SFSuZLTuncLW1xMcBG5HEvVCWh9wVuxiYb71C3yj7s= +github.com/open-traffic-generator/snappi/gosnappi v1.3.0/go.mod h1:CaE4nisXftNXdXWvTSqb4eiW2WMFIXkJsH5rqPoipcg= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= diff --git a/deployments/k8s/network-emulation/pods.yaml b/deployments/k8s/network-emulation/pods.yaml index 2707c11b..f7b1fc52 100644 --- a/deployments/k8s/network-emulation/pods.yaml +++ b/deployments/k8s/network-emulation/pods.yaml @@ -28,7 +28,7 @@ spec: - args: - --accept-eula - --debug - image: ghcr.io/open-traffic-generator/keng-controller:1.1.0-21 + image: ghcr.io/open-traffic-generator/keng-controller:1.3.0-2 imagePullPolicy: IfNotPresent name: keng-controller volumeMounts: @@ -63,7 +63,7 @@ spec: value: "5555" - name: ARG_CORE_LIST value: 1 1 1 - image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.109 + image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167 imagePullPolicy: IfNotPresent name: ixia-c-port1-traffic-engine securityContext: @@ -71,7 +71,7 @@ spec: - env: - name: INTF_LIST value: eth1 - image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.375 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.378 imagePullPolicy: IfNotPresent name: ixia-c-port1-protocol-engine securityContext: @@ -99,7 +99,7 @@ spec: value: "5555" - name: ARG_CORE_LIST value: 1 1 1 - image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.109 + image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167 imagePullPolicy: IfNotPresent name: ixia-c-port2-traffic-engine securityContext: @@ -107,7 +107,7 @@ spec: - env: - name: INTF_LIST value: eth2 - image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.375 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.378 imagePullPolicy: IfNotPresent name: ixia-c-port2-protocol-engine securityContext: diff --git a/deployments/k8s/network-emulation/readme.md b/deployments/k8s/network-emulation/readme.md index 0465b373..919ab36d 100644 --- a/deployments/k8s/network-emulation/readme.md +++ b/deployments/k8s/network-emulation/readme.md @@ -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.1.0-21 - docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.109 - docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.375 + docker pull ghcr.io/open-traffic-generator/keng-controller:1.3.0-2 + docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167 + docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.378 # download DUT image docker pull ubuntu:22.04 @@ -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.1.0-21 - kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.109 - kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.375 + kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.3.0-2 + kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.6.0.167 + kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.378 kind load docker-image ubuntu:22.04 kind load docker-image networkop/meshnet:latest kind load docker-image networkop/init-wait:latest diff --git a/docs/deployments-kne.md b/docs/deployments-kne.md index 0131b2b7..fa500c1d 100644 --- a/docs/deployments-kne.md +++ b/docs/deployments-kne.md @@ -58,32 +58,32 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.1.0-21", + "release": "1.3.0-2", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.1.0-21" + "tag": "1.3.0-2" }, { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.13.14" + "tag": "1.13.15" }, { "name": "traffic-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine", - "tag": "1.6.0.109" + "tag": "1.6.0.167" }, { "name": "protocol-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine", - "tag": "1.00.0.375" + "tag": "1.00.0.378" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.1.0-6" + "tag": "1.3.0-4" } ] } @@ -100,12 +100,12 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.1.0-21", + "release": "1.3.0-2", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.1.0-21", + "tag": "1.3.0-2", "env": { "LICENSE_SERVERS": "ip/hostname of license server" } @@ -113,22 +113,22 @@ Following are the recommended resources for a basic use-case. { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.13.14" + "tag": "1.13.15" }, { "name": "traffic-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine", - "tag": "1.6.0.109" + "tag": "1.6.0.167" }, { "name": "protocol-engine", "path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine", - "tag": "1.00.0.375" + "tag": "1.00.0.378" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.1.0-6" + "tag": "1.3.0-4" } ] } @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case. nodes: - name: otg vendor: KEYSIGHT - version: 1.1.0-21 + version: 1.3.0-2 services: 8443: name: https diff --git a/docs/developer/hello-snappi.md b/docs/developer/hello-snappi.md index d03d0256..eeed8536 100644 --- a/docs/developer/hello-snappi.md +++ b/docs/developer/hello-snappi.md @@ -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.1.1 dpkt +python -m pip install --upgrade snappi==1.3.0 dpkt ``` ## Create the API Handle diff --git a/docs/news.md b/docs/news.md index f9a3d545..69a081dc 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,5 +1,10 @@ # News +* **19th April, 2024**: Ixia-c version 1.3.0 (build 1) released. This conforms to **[v1.3.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.3.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. + + * This build includes new features and bug fixes. [Read more](releases.md) + + * **29th March, 2024**: Ixia-c version 1.1.0 (build 21) released. This conforms to **[v1.1.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.1.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. * This build includes new features and bug fixes. [Read more](releases.md) diff --git a/docs/releases.md b/docs/releases.md index 6854b6ce..266ed661 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1,6 +1,45 @@ # Ixia-c Release Notes and Version Compatibility -## Release v1.1.0-21 (Latest) + +## Release v1.3.0-2 (Latest) +> 19th April, 2024 + +#### Build Details + +| Component | Version | +|-------------------------------|---------------| +| Open Traffic Generator API | [1.3.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.3.0/artifacts/openapi.yaml) | +| snappi | [1.3.0](https://pypi.org/project/snappi/1.3.0) | +| gosnappi | [1.3.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.3.0) | +| keng-controller | [1.3.0-2](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | +| ixia-c-traffic-engine | [1.6.0.167](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.378](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | +| keng-layer23-hw-server | [1.3.0-4](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-layer23-hw-server) | +| keng-operator | [0.3.28](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-operator) | +| otg-gnmi-server | [1.13.15](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | +| ixia-c-one | [1.3.0-2](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | +| UHD400 | [1.2.4](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.2/1.2.4/artifacts.tar) | + + +# Release Features(s) +* TBD + + +# Bug Fix(s) +* TBD + + +#### Known Issues +* UHD400: `values` for fields in flow packet headers can be created with maximum length of 1000 values. +* UHD400: Port statistics are not getting cleared on `SetConfig`. +* 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-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` is `cut_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.1.0-21 > 29th March, 2024 #### Build Details diff --git a/docs/tests-chassis-app.md b/docs/tests-chassis-app.md index e3baee39..c676f45e 100644 --- a/docs/tests-chassis-app.md +++ b/docs/tests-chassis-app.md @@ -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.1.0-21 + image: ghcr.io/open-traffic-generator/keng-controller:1.3.0-2 restart: always depends_on: keng-layer23-hw-server: @@ -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.1.0-6 + image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.3.0-4 restart: always command: - "dotnet" @@ -109,7 +109,7 @@ logging: max-file: "10" mode: "non-blocking" otg-gnmi-server: - image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.13.14 + image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.13.15 restart: always depends_on: keng-controller: diff --git a/readme.md b/readme.md index 64e3745a..61acd3ed 100644 --- a/readme.md +++ b/readme.md @@ -9,9 +9,9 @@

- Release v1.1.0-21 - Open Traffic Generator v1.1.0 - snappi v1.1.1 + Release v1.3.0-2 + Open Traffic Generator v1.3.0 + snappi v1.3.0 news news Slack Status @@ -83,7 +83,7 @@ cd conformance #### 3. Optionally, run test using [curl](https://curl.se/) We can also pass equivalent **JSON configuration** directly to **controller**, just by using **curl**. -The description of each node in the configuration is detailed in self-updating [online documentation](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.1.0/artifacts/openapi.yaml). +The description of each node in the configuration is detailed in self-updating [online documentation](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.3.0/artifacts/openapi.yaml). ```bash From 8d1e5618bae580039832482bca3bc3ff407b9844 Mon Sep 17 00:00:00 2001 From: biplamal Date: Fri, 19 Apr 2024 09:25:47 +0000 Subject: [PATCH 2/3] latest conformance --- conformance | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conformance b/conformance index 6de94cc6..195271ab 160000 --- a/conformance +++ b/conformance @@ -1 +1 @@ -Subproject commit 6de94cc6e205e3c734102100356b0bacbd8c4301 +Subproject commit 195271ab75d742a43e5528f1ced1b8a5857b72eb From 8ce6dd6f1ea681206a72a44dffd82804407548c4 Mon Sep 17 00:00:00 2001 From: biplamal Date: Fri, 19 Apr 2024 09:28:43 +0000 Subject: [PATCH 3/3] notes updated --- docs/releases.md | 56 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/docs/releases.md b/docs/releases.md index 266ed661..f4493979 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -23,17 +23,67 @@ # Release Features(s) -* TBD +* Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Support added for advertising Segment Routing Traffic Engineering(SR-TE) policy using `replay_updates`. + ```go + peer.Capability().SetIpv4SrTePolicy(true) ​ + updateReplayBlock := peer.ReplayUpdates().StructuredPdus()​ + adv := updateReplayBlock.Updates().Add()​ + ...​ + adv.PathAttributes(). + Community(). + Add(). + NoAdvertised()​ + ipv4_sr_routes_adv := adv.PathAttributes(). + MpReach(). + Ipv4Srpolicy()​ + ipv4_sr_routes_adv.SetEndpoint("0.0.0.0"). + SetColor(100). + SetDistinguisher(1)​ + sr := adv.PathAttributes(). + TunnelEncapsulation(). + SrPolicy()​ + sr.Preference().SetValue(3)​ + sr.PolicyName().SetValue("TypeA Policy")​ + ...​ + sr.BindingSegmentIdentifier().Mpls(). + SetFlagSpecifiedBsidOnly(true).​ + MplsSid(). + SetLabel(22222)​ + segmentList := sr.SegmentList().Add()​ + segmentList.Weight(). + SetValue(200)​ + typeA := segmentList.Segments().Add().TypeA()​ + typeA.Flags(). + SetSFlag(true)​ + typeA.MplsSid(). + SetLabel(10000)​ + //More segments and segments lists​ + ``` +* Ixia-C : Support added for zero and custom checksum in `TCP/UDP/ICMPv4/v6/IPv4/GRE` packet templates in flows. + ```go + udp := cfg.Flows().Add().Packet().Add().Udp() + udp.Checksum().SetCustom(0) + ``` +* Ixia-C : DPDK version upgraded from v21.11 to v23.11 for standalone `ixia-c-traffic-engine` container based deployment in DPDK mode. +* Ixia Chassis & Appliances(Novus, AresOne): Support added for IPv4/v6 route ranges with varying number of `communities`/`extended_communities` for BGP/BGP+ peers. + ```go + route.Communities().Add().​ + SetAsNumber(65534).​ + SetAsCustom(20410).​ + SetType(gosnappi.BgpCommunityType.MANUAL_AS_NUMBER) + ``` # Bug Fix(s) -* TBD +* Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where sometimes fetching ISIS `get_states` would result in `Error occurred while fetching isis lsps states:Index was outside the bounds of the array` exception. +* Ixia-C, Ixia Chassis & Appliances(Novus, AresOne), UHD400: Issue is fixed where sometimes misleading warnings were being returned from `set_config` when running consecutive `replay_updates` tests with different types of BGP peers configured(iBGP/eBGP). +* Ixia-C : Memory leak fixed for BGPv4/v6 peers with large number of routes configured. #### 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. * UHD400: `values` for fields in flow packet headers can be created with maximum length of 1000 values. * UHD400: Port statistics are not getting cleared on `SetConfig`. -* 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-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` is `cut_through`. * Ixia-C: The metric `loss` in flow metrics is currently not supported.