Skip to content

Commit

Permalink
Merge pull request #202 from open-traffic-generator/dev-28th-june
Browse files Browse the repository at this point in the history
v1.6.2-1
  • Loading branch information
arkajyoti-cloud authored Jun 28, 2024
2 parents cfa4671 + 35d0168 commit 35676f0
Show file tree
Hide file tree
Showing 13 changed files with 162 additions and 62 deletions.
2 changes: 1 addition & 1 deletion conformance
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.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"
4 changes: 2 additions & 2 deletions 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.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
Expand All @@ -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
)
8 changes: 4 additions & 4 deletions deployments/k8s/network-emulation/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -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=
Expand Down Expand Up @@ -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=
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.5.1-12
image: ghcr.io/open-traffic-generator/keng-controller:1.6.2-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.383
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390
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.383
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.390
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.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
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.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
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.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",
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.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"
}
]
}
Expand All @@ -100,20 +100,20 @@ 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"
}
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.2"
"tag": "1.14.4"
},
{
"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.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"
}
]
}
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-12
version: 1.6.2-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.5.1 dpkt
python -m pip install --upgrade snappi==1.6.2 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

* **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)
Expand Down
78 changes: 77 additions & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
@@ -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/[email protected]) |
| 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)
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: 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.

* <b><i>Ixia-C</i></b>: 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)
* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: 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.

* <b><i>Ixia-C</i></b>: 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.

* <b><i>Ixia-C</i></b>: 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.

* <b><i>Keng-Operator</i></b>: Some fixes are provided to handle security warnings raised by k8s security scanning tool such as <i>`'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.'`</i>.

* <b><i>UHD400</i></b>: Issue is fixed where `frames_rx` is reported twice of `frames_tx` in `flow_metrics` 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-12
> 14th June, 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.5.1-12
image: ghcr.io/open-traffic-generator/keng-controller:1.6.2-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.5.1-6
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.6.2-1
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.2
image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.4
restart: always
depends_on:
keng-controller:
Expand Down
Loading

0 comments on commit 35676f0

Please sign in to comment.