diff --git a/conformance b/conformance index bb533de5..8b04cf27 160000 --- a/conformance +++ b/conformance @@ -1 +1 @@ -Subproject commit bb533de5761f05fb92d2799a959b9f9739f2bd64 +Subproject commit 8b04cf27a3fdd172ccc61257ab9f211c2c58e443 diff --git a/deployments/k8s/components/images/kustomization.yaml b/deployments/k8s/components/images/kustomization.yaml index 434d34e7..286f0680 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.5.1-12 +# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.6.2-1 images: - name: keng-controller newName: ghcr.io/open-traffic-generator/keng-controller - newTag: "1.5.1-12" + newTag: "1.6.2-1" - name: otg-gnmi-server newName: ghcr.io/open-traffic-generator/otg-gnmi-server - newTag: "1.14.2" + newTag: "1.14.4" - name: ixia-c-traffic-engine newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine newTag: "1.8.0.12" diff --git a/deployments/k8s/network-emulation/go.mod b/deployments/k8s/network-emulation/go.mod index a431dd83..ec1af7a4 100644 --- a/deployments/k8s/network-emulation/go.mod +++ b/deployments/k8s/network-emulation/go.mod @@ -2,7 +2,7 @@ module ipfwd go 1.19 -require github.com/open-traffic-generator/snappi/gosnappi v1.5.1 +require github.com/open-traffic-generator/snappi/gosnappi v1.6.2 require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect @@ -12,6 +12,6 @@ require ( golang.org/x/text v0.14.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect google.golang.org/grpc v1.64.0 // indirect - google.golang.org/protobuf v1.34.1 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v2 v2.2.3 // indirect ) diff --git a/deployments/k8s/network-emulation/go.sum b/deployments/k8s/network-emulation/go.sum index d0673d72..4a5df0ec 100644 --- a/deployments/k8s/network-emulation/go.sum +++ b/deployments/k8s/network-emulation/go.sum @@ -1614,8 +1614,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.5.0 h1:ZDh37S06Yt+IBH985yTGtQqBKiEl1usZV2xnP2yutdE= -github.com/open-traffic-generator/snappi/gosnappi v1.5.0/go.mod h1:ty62DVAUirewB4ZN5a1YFAt0wDkTUHAREiHjKt8dawg= +github.com/open-traffic-generator/snappi/gosnappi v1.6.2 h1:YHH7wfNzi8Wnb1zM4WX1Q+TWdq6nHRj3FzykGxPxty4= +github.com/open-traffic-generator/snappi/gosnappi v1.6.2/go.mod h1:eYyI8shIFgKyQV+NTDYooykZzChGV4OLw0Oq7pOW3mY= 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= @@ -2552,8 +2552,8 @@ google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +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= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/deployments/k8s/network-emulation/pods.yaml b/deployments/k8s/network-emulation/pods.yaml index 0b842b0d..10346642 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.5.1-12 + image: ghcr.io/open-traffic-generator/keng-controller:1.6.2-1 imagePullPolicy: IfNotPresent name: keng-controller volumeMounts: @@ -71,7 +71,7 @@ spec: - env: - name: INTF_LIST value: eth1 - image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.383 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390 imagePullPolicy: IfNotPresent name: ixia-c-port1-protocol-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.383 + image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390 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 8e6c3a1f..d483c935 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.5.1-12 + docker pull ghcr.io/open-traffic-generator/keng-controller:1.6.2-1 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 + docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390 # 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.5.1-12 + kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.6.2-1 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 ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390 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 b6087149..979e6b8f 100644 --- a/docs/deployments-kne.md +++ b/docs/deployments-kne.md @@ -58,17 +58,17 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.5.1-12", + "release": "1.6.2-1", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.5.1-12" + "tag": "1.6.2-1" }, { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.14.2" + "tag": "1.14.4" }, { "name": "traffic-engine", @@ -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.383" + "tag": "1.00.0.390" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.5.1-6" + "tag": "1.6.2-1" } ] } @@ -100,12 +100,12 @@ Following are the recommended resources for a basic use-case. data: versions: | { - "release": "1.5.1-12", + "release": "1.6.2-1", "images": [ { "name": "controller", "path": "ghcr.io/open-traffic-generator/keng-controller", - "tag": "1.5.1-12", + "tag": "1.6.2-1", "env": { "LICENSE_SERVERS": "ip/hostname of license server" } @@ -113,7 +113,7 @@ Following are the recommended resources for a basic use-case. { "name": "gnmi-server", "path": "ghcr.io/open-traffic-generator/otg-gnmi-server", - "tag": "1.14.2" + "tag": "1.14.4" }, { "name": "traffic-engine", @@ -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.383" + "tag": "1.00.0.390" }, { "name": "ixhw-server", "path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server", - "tag": "1.5.1-6" + "tag": "1.6.2-1" } ] } @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case. nodes: - name: otg vendor: KEYSIGHT - version: 1.5.1-12 + version: 1.6.2-1 services: 8443: name: https diff --git a/docs/developer/hello-snappi.md b/docs/developer/hello-snappi.md index d0c83d5d..314174e3 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.5.1 dpkt +python -m pip install --upgrade snappi==1.6.2 dpkt ``` ## Create the API Handle diff --git a/docs/news.md b/docs/news.md index 7b27d510..e6a13444 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,5 +1,9 @@ # News +* **28th June, 2024**: Ixia-c version 1.6.2 (build 1) released. This conforms to **[v1.6.2](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.6.2/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification. + + * This build includes new features and bug fixes. [Read more](releases.md) + * **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) diff --git a/docs/releases.md b/docs/releases.md index e54e234f..e26251a1 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1,6 +1,82 @@ # Ixia-c Release Notes and Version Compatibility -## Release v1.5.1-12 (Latest) + +## Release v1.6.2-1 (Latest) +> 28th June, 2024 + +#### Build Details + +| Component | Version | +|-------------------------------|---------------| +| Open Traffic Generator API | [1.6.2](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.6.2/artifacts/openapi.yaml) | +| snappi | [1.6.2](https://pypi.org/project/snappi/1.6.2) | +| gosnappi | [1.6.2](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.6.2) | +| keng-controller | [1.6.2-1](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.390](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | +| keng-layer23-hw-server | [1.6.2-1](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.4](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | +| ixia-c-one | [1.6.2-1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | +| UHD400 | [1.3.3](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.3/1.3.3/artifacts.tar) | + + +# Release Features(s) +* Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv4 client interfaces to be used as source/destination for device traffic. + - In this the learned IPv4 address from the DHCPv4 server is automatically populated in `ipv4.src/dst` if the choice is set to `auto.dhcp`. + + ```go + clientToServerFlow.SetName("ClientToServer").TxRx().Device(). + SetTxNames([]string{"DHCPv4ClientName"}). + SetRxNames([]string{"DHCPv4ServerInterfaceName"}) + clientToServerFlowIp := clientToServerFlow.Packet().Add().Ipv4() + clientToServerFlowIp.Src().Auto().Dhcp() + + serverToClientFlow.SetName("ServerToClient").TxRx().Device(). + SetTxNames([]string{"DHCPv4ServerInterfaceName"}). + SetRxNames([]string{"DHCPv4ClientName"}) + serverToClientFlowIp := serverToClientFlow.Packet().Add().Ipv4() + serverToClientFlowIp.Dst().Auto().Dhcp() + ``` + Note: For DHCPv4 client to DHCPv4 server each flow supports only one source endpoint in `tx_rx.device.tx_names`, hence a separate flow has to be configured for each DHCPv4 client if `packet[i].ipv4.src.auto.dhcp` is set. + +* Ixia-C: Support added for multiple address groups in BGPv4/v6 routes. + ```go + route = peer.V4Routes().Add().​ + SetNextHopIpv4Address("2.2.2.2").​ + SetName("peer1.rr1")​ + + route.Addresses().Add().​ + SetAddress("20.20.20.1").SetPrefix(32).SetCount(2).SetStep(2)​ + + route.Addresses().Add().​ + SetAddress("20.20.21.1").SetPrefix(32).SetCount(2).SetStep(2)​ + ``` + +### Bug Fix(s) +* Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Issue where if a BGPv4/v6 prefix with extended-community or community attributes was updated via a BGP Update with the extended-community or community attribute deleted without a Route Withdraw in between , the subsequent get_states call on the bgp prefixes would incorrectly continue to show the extended-community or community attributes learned via the previous received Update is fixed. + +* Ixia-C: Issue where If a test was setup such that only test port would initiate ARP/ND and time taken to configure the soft-DUT connected to the test port was taking extended time such that it would not respond to ARP/ND requests within 10s, ARP/ND procedures would fail resulting in test failures in ARP/ND verification step is fixed. + +* Ixia-C: Issue where if a IPv6 address on the emulated interface was configured in non-shortest format e.g. `2001:0db8::192:0:2:2` instead of `2001:db8::192:0:2:2` (notice the redundant leading 0 in :0db8), the test port would not initiate IPv6 Neighbor Discovery for corresponding IPv6 gateway result in Neighbor Discovery failure is fixed. + +* Keng-Operator: Some fixes are provided to handle security warnings raised by k8s security scanning tool such as `'container "manager" in Deployment "ixiatg-op-controller-manager" does not set readOnlyRootFilesystem: true in its securityContext. This setting is encouraged because it can prevent attackers from writing malicious binaries into runnable locations in the container filesystem.'`. + +* UHD400: Issue is fixed where `frames_rx` is reported twice of `frames_tx` in `flow_metrics` is fixed. + + +#### 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. +* Ixia Chassis & Appliances(Novus, AresOne): `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. +* UHD400: Packets will not be transmitted if `flows[i].rate.pps` is less than 50. +* UHD400: `values` for fields in flow packet headers can be created with maximum length of 1000 values. +* 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.5.1-12 > 14th June, 2024 #### Build Details diff --git a/docs/tests-chassis-app.md b/docs/tests-chassis-app.md index a65ddf8d..f8dff6d6 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.5.1-12 + image: ghcr.io/open-traffic-generator/keng-controller:1.6.2-1 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.5.1-6 + image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.6.2-1 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.14.2 + image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.4 restart: always depends_on: keng-controller: diff --git a/notes.md b/notes.md index 179694c3..414ee574 100644 --- a/notes.md +++ b/notes.md @@ -2,42 +2,62 @@ | 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/gosnappi@v1.5.1) | -| keng-controller | [1.5.1-12](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) | +| Open Traffic Generator API | [1.6.2](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.6.2/artifacts/openapi.yaml) | +| snappi | [1.6.2](https://pypi.org/project/snappi/1.6.2) | +| gosnappi | [1.6.2](https://pkg.go.dev/github.com/open-traffic-generator/snappi/gosnappi@v1.6.2) | +| keng-controller | [1.6.2-1](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) | +| ixia-c-protocol-engine | [1.00.0.390](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) | +| keng-layer23-hw-server | [1.6.2-1](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.4](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) | +| ixia-c-one | [1.6.2-1](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-one/) | +| UHD400 | [1.3.3](https://downloads.ixiacom.com/support/downloads_and_updates/public/UHD400/1.3/1.3.3/artifacts.tar) | # Release Features(s) -* Ixia Chassis & Appliances(Novus, AresOne): 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) +* Ixia Chassis & Appliances(Novus, AresOne): Support added for DHCPv4 client interfaces to be used as source/destination for device traffic. + - In this the learned IPv4 address from the DHCPv4 server is automatically populated in `ipv4.src/dst` if the choice is set to `auto.dhcp`. - ```gNMI - # States information - dhcpv4-servers/dhcpv4-servers[name=serverName]/state/leases + ```go + clientToServerFlow.SetName("ClientToServer").TxRx().Device(). + SetTxNames([]string{"DHCPv4ClientName"}). + SetRxNames([]string{"DHCPv4ServerInterfaceName"}) + clientToServerFlowIp := clientToServerFlow.Packet().Add().Ipv4() + clientToServerFlowIp.Src().Auto().Dhcp() + + serverToClientFlow.SetName("ServerToClient").TxRx().Device(). + SetTxNames([]string{"DHCPv4ServerInterfaceName"}). + SetRxNames([]string{"DHCPv4ClientName"}) + serverToClientFlowIp := serverToClientFlow.Packet().Add().Ipv4() + serverToClientFlowIp.Dst().Auto().Dhcp() ``` -* UHD400: Value-list support added for IPv4 `dscp` field. + Note: For DHCPv4 client to DHCPv4 server each flow supports only one source endpoint in `tx_rx.device.tx_names`, hence a separate flow has to be configured for each DHCPv4 client if `packet[i].ipv4.src.auto.dhcp` is set. + +* Ixia-C: Support added for multiple address groups in BGPv4/v6 routes. ```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 ...}) + route = peer.V4Routes().Add().​ + SetNextHopIpv4Address("2.2.2.2").​ + SetName("peer1.rr1")​ + + route.Addresses().Add().​ + SetAddress("20.20.20.1").SetPrefix(32).SetCount(2).SetStep(2)​ + + route.Addresses().Add().​ + SetAddress("20.20.21.1").SetPrefix(32).SetCount(2).SetStep(2)​ ``` ### Bug Fix(s) -* Ixia-C: Issue where withdrawing BGP/BGP+ routes using `set_control_state.protocol.route.withdraw` was failing in multi-nic topology is fixed. -* Ixia Chassis & Appliances(AresOne): 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. -* Ixia Chassis & Appliances(Novus, AresOne): 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. +* Ixia-C, Ixia Chassis & Appliances(Novus, AresOne): Issue where if a BGPv4/v6 prefix with extended-community or community attributes was updated via a BGP Update with the extended-community or community attribute deleted without a Route Withdraw in between , the subsequent get_states call on the bgp prefixes would incorrectly continue to show the extended-community or community attributes learned via the previous received Update is fixed. + +* Ixia-C: Issue where If a test was setup such that only test port would initiate ARP/ND and time taken to configure the soft-DUT connected to the test port was taking extended time such that it would not respond to ARP/ND requests within 10s, ARP/ND procedures would fail resulting in test failures in ARP/ND verification step is fixed. + +* Ixia-C: Issue where if a IPv6 address on the emulated interface was configured in non-shortest format e.g. `2001:0db8::192:0:2:2` instead of `2001:db8::192:0:2:2` (notice the redundant leading 0 in :0db8), the test port would not initiate IPv6 Neighbor Discovery for corresponding IPv6 gateway result in Neighbor Discovery failure is fixed. + +* Keng-Operator: Some fixes are provided to handle security warnings raised by k8s security scanning tool such as `'container "manager" in Deployment "ixiatg-op-controller-manager" does not set readOnlyRootFilesystem: true in its securityContext. This setting is encouraged because it can prevent attackers from writing malicious binaries into runnable locations in the container filesystem.'`. + +* UHD400: Issue is fixed where `frames_rx` is reported twice of `frames_tx` in `flow_metrics` is fixed. #### Known Issues diff --git a/readme.md b/readme.md index 0e97abd0..b83bbf07 100644 --- a/readme.md +++ b/readme.md @@ -9,9 +9,9 @@

- Release v1.5.1-12 - Open Traffic Generator v1.5.1 - snappi v1.5.1 + Release v1.6.2-1 + Open Traffic Generator v1.6.2 + snappi v1.6.2 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.5.1/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.6.2/artifacts/openapi.yaml). ```bash