Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.19.0-18 #214

Merged
merged 6 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion conformance
Submodule conformance updated 2 files
+1 −1 do.sh
+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.19.0-5
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.19.0-18
images:
- name: keng-controller
newName: ghcr.io/open-traffic-generator/keng-controller
newTag: "1.19.0-5"
newTag: "1.19.0-18"
- name: otg-gnmi-server
newName: ghcr.io/open-traffic-generator/otg-gnmi-server
newTag: "1.19.0"
- name: ixia-c-traffic-engine
newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine
newTag: "1.8.0.241"
newTag: "1.8.0.245"
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.19.0-5
image: ghcr.io/open-traffic-generator/keng-controller:1.19.0-18
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.241
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.245
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.424
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.426
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.241
image: ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.245
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.424
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.426
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.19.0-5
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424
docker pull ghcr.io/open-traffic-generator/keng-controller:1.19.0-18
docker pull ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.245
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.426

# 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.19.0-5
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.241
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.424
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.19.0-18
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-traffic-engine:1.8.0.245
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.426
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,12 +58,12 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.19.0-5",
"release": "1.19.0-18",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.19.0-5"
"tag": "1.19.0-18"
},
{
"name": "gnmi-server",
Expand All @@ -73,17 +73,17 @@ Following are the recommended resources for a basic use-case.
{
"name": "traffic-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine",
"tag": "1.8.0.241"
"tag": "1.8.0.245"
},
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.424"
"tag": "1.00.0.426"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.19.0-5"
"tag": "1.19.0-9"
}
]
}
Expand All @@ -100,12 +100,12 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.19.0-5",
"release": "1.19.0-18",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.19.0-5",
"tag": "1.19.0-18",
"env": {
"LICENSE_SERVERS": "ip/hostname of license server"
}
Expand All @@ -118,17 +118,17 @@ Following are the recommended resources for a basic use-case.
{
"name": "traffic-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-traffic-engine",
"tag": "1.8.0.241"
"tag": "1.8.0.245"
},
{
"name": "protocol-engine",
"path": "ghcr.io/open-traffic-generator/ixia-c-protocol-engine",
"tag": "1.00.0.424"
"tag": "1.00.0.426"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.19.0-5"
"tag": "1.19.0-9"
}
]
}
Expand All @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case.
nodes:
- name: otg
vendor: KEYSIGHT
version: 1.19.0-5
version: 1.19.0-18
services:
8443:
name: https
Expand Down
108 changes: 107 additions & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,112 @@
# Ixia-c Release Notes and Version Compatibility

## Release v1.19.0-5 (Latest)
## Release v1.19.0-18 (Latest)
> 24th January, 2024

#### Build Details

| Component | Version |
|-------------------------------|---------------|
| Open Traffic Generator API | [1.19.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.19.0/artifacts/openapi.yaml) |
| snappi | [1.19.0](https://pypi.org/project/snappi/1.19.0) |
| gosnappi | [1.19.0](https://pkg.go.dev/github.com/open-traffic-generator/snappi/[email protected]) |
| keng-controller | [1.19.0-18](https://github.com/orgs/open-traffic-generator/packages/container/package/keng-controller) |
| ixia-c-traffic-engine | [1.8.0.245](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.426](https://github.com/orgs/open-traffic-generator/packages/container/package/ixia-c-protocol-engine) |
| keng-layer23-hw-server | [1.19.0-9](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.19.0](https://github.com/orgs/open-traffic-generator/packages/container/package/otg-gnmi-server) |
| ixia-c-one | [1.19.0-18](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, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for GUEv1 IPv4/v6 over UDP traffic.
```go
f1Ip1 := f1.Packet().Add().Ipv4()​
f1Ip1.Src().SetValue("1.1.1.1")​
f1Ip1.Dst().SetValue("1.1.1.2")​
f1Udp := f1.Packet().Add().Udp()​
f1Udp.SrcPort().SetValue(30000)​
f1Udp.DstPort().SetValue(6080)​
// IPv4 Over UDP​
f1Ip2 := f1.Packet().Add().Ipv4()​
f1Ip2.Src().SetValues([]string{​
"2.2.2.1",​
"2.2.2.2",​
"2.2.2.3",​
"2.2.2.4",​
})​
f1Ip2.Dst().SetValue("3.3.3.1")​
```

* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for MPLS Over UDP traffic.
```go
//udp Dst port as 6635​
f1Udp := f1.Packet().Add().Udp()​
f1Udp.DstPort().SetValue(6635)​
f1Udp.SrcPort().SetValue(65530)​
//mpls over udp​
f1Mpls1 := f1.Packet().Add().Mpls()​
f1Mpls1.Label().SetValue(10001)​
f1Mpls1.BottomOfStack().SetValue(0)
f1Mpls2 := f1.Packet().Add().Mpls()​
f1Mpls2.Label().SetValue(10011)​
//ipv4 over mpls over udp​
f1MplsIp := f1.Packet().Add().Ipv4()​
f1MplsIp.Dst().SetValues([]string{​
"20.20.20.1",​
"20.20.20.2",​
"20.20.20.3",​
"20.20.20.4",​
})​
f1MplsIp.Src().SetValue("10.10.10.1")
```
Note: MPLS Over UDP with DTLS is not supported.

* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Egress tracking is now supported for UDP, TCP(src/dst port fields), MPLS and IPv4/v6 inner header fields when encapsulated inside UDP/TCP.
```go
//egress tracking
f1.EgressPacket().Add().Ethernet()
f1.EgressPacket().Add().Ipv4()
f1.EgressPacket().Add().Udp()
f1.EgressPacket().Add().Mpls()
mplsLabelTracking := f1.EgressPacket().Add().Mpls()
tr1 := mplsLabelTracking.Label().MetricTags().Add()
tr1.SetName("MplsLabelEgressTracking")
tr1.SetOffset(17)
tr1.SetLength(3)
```

### Bug Fix(s)
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue is fixed where configs with RSVP and multiple Loopback interfaces was throwing error similar to `"loopback p2.d2.lo and lo.d not compatible"` on `set_config`.
* <b><i>Ixia-C, Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue where config with large number of route ranges was causing error similar to `"grpc: received message larger than max (114278270 vs. 104857600)"` on `set_config` is fixed by increasing the default gRPC receive buffer size to 1GB.
- Note that for Ixia Chassis & Appliances(Novus, AresOne) the buffer can now be controlled by setting the environment variable of `keng-controller` as given below.
```sh
command:
...
- "--grpc-max-msg-size"​
- "500"
```
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue is fixed where `set_config` was throwing error if Traffic Engineering was enabled for ISIS interface, but Priority BandWidths were not explicitly specified.
* <b><i>Ixia-C, UHD400</i></b>: Issue is fixed where DHCPv4 was intermittently crashing on stop.
* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Issue is fixed where OSPFv2 Router Ids were not getting set properly when multiple OSPFv2 Routers were configured on a port.


#### 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. 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.19.0-5
> 23rd December, 2024

#### Build Details
Expand Down
4 changes: 2 additions & 2 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.19.0-5
image: ghcr.io/open-traffic-generator/keng-controller:1.19.0-18
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.19.0-5
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.19.0-19
restart: always
command:
- "dotnet"
Expand Down
Loading
Loading