Skip to content

Commit

Permalink
Release v1.12.0-1
Browse files Browse the repository at this point in the history
  • Loading branch information
biplamal committed Sep 2, 2024
1 parent 830dcb4 commit 2eb52b2
Show file tree
Hide file tree
Showing 13 changed files with 227 additions and 78 deletions.
2 changes: 1 addition & 1 deletion conformance
Submodule conformance updated 5 files
+1 −1 do.sh
+2 −2 go.mod
+5 −5 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.8.0-1
# Release: https://github.com/open-traffic-generator/ixia-c/releases/tag/v1.12.0-1
images:
- name: keng-controller
newName: ghcr.io/open-traffic-generator/keng-controller
newTag: "1.8.0-1"
newTag: "1.12.0-1"
- name: otg-gnmi-server
newName: ghcr.io/open-traffic-generator/otg-gnmi-server
newTag: "1.14.8"
newTag: "1.14.12"
- name: ixia-c-traffic-engine
newName: ghcr.io/open-traffic-generator/ixia-c-traffic-engine
newTag: "1.8.0.25"
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,10 +2,10 @@ module ipfwd

go 1.19

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

require (
github.com/Masterminds/semver/v3 v3.2.1 // indirect
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
Expand Down
10 changes: 5 additions & 5 deletions deployments/k8s/network-emulation/go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
Expand All @@ -9,12 +9,12 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
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.7.2 h1:uj4ZO/m2g2BQw5pMxivc7yVszfN0yVGK89b4UCemRUI=
github.com/open-traffic-generator/snappi/gosnappi v1.7.2/go.mod h1:2FoOlkhPRlBJBiGJyi3/Luswu9ihpvzdQXTLIHRy4Is=
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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
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.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
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=
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.8.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.12.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.393
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
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.393
image: ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
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.8.0-1
docker pull ghcr.io/open-traffic-generator/keng-controller:1.12.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.393
docker pull ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
# 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.8.0-1
kind load docker-image ghcr.io/open-traffic-generator/keng-controller:1.12.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.393
kind load docker-image ghcr.io/open-traffic-generator/ixia-c-protocol-engine:1.00.0.398
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.8.0-1",
"release": "1.12.0-1",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.8.0-1"
"tag": "1.12.0-1"
},
{
"name": "gnmi-server",
"path": "ghcr.io/open-traffic-generator/otg-gnmi-server",
"tag": "1.14.8"
"tag": "1.14.12"
},
{
"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.393"
"tag": "1.00.0.398"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.8.0-1"
"tag": "1.12.0-1"
}
]
}
Expand All @@ -100,20 +100,20 @@ Following are the recommended resources for a basic use-case.
data:
versions: |
{
"release": "1.8.0-1",
"release": "1.12.0-1",
"images": [
{
"name": "controller",
"path": "ghcr.io/open-traffic-generator/keng-controller",
"tag": "1.8.0-1",
"tag": "1.12.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.8"
"tag": "1.14.12"
},
{
"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.393"
"tag": "1.00.0.398"
},
{
"name": "ixhw-server",
"path": "ghcr.io/open-traffic-generator/keng-layer23-hw-server",
"tag": "1.8.0-1"
"tag": "1.12.0-1"
}
]
}
Expand All @@ -148,7 +148,7 @@ Following are the recommended resources for a basic use-case.
nodes:
- name: otg
vendor: KEYSIGHT
version: 1.8.0-1
version: 1.12.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.8.0 dpkt
python -m pip install --upgrade snappi==1.12.0 dpkt
```

## Create the API Handle
Expand Down
6 changes: 5 additions & 1 deletion docs/news.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# News

* **19th August, 2024**: Ixia-c version 1.8.0 (build 1) released. This conforms to **[v1.8.0](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/open-traffic-generator/models/v1.8.0/artifacts/openapi.yaml)** of the Open Traffic Generator Models specification.
* **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)

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

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

Expand Down
112 changes: 112 additions & 0 deletions docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,118 @@
# Ixia-c Release Notes and Version Compatibility

## Release v1.8.0-1 (Latest)
> 2nd September, 2024
#### Build Details

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


# Release Features(s)

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for DHCPv6 client interfaces to be used as source/destination for device traffic.
- In this the learned IPv6 address from the DHCPv6 server is automatically populated in `ipv6.src/dst` if the choice is set to auto.dhcp.
```go
clientToServerFlow.SetName("ClientToServer").TxRx().Device().
SetTxNames([]string{"DHCPv6ClientName"}).
SetRxNames([]string{"DHCPv6ServerInterfaceName"})
clientToServerFlow.Packet().Add().Ethernet()
clientToServerFlowIp := clientToServerFlow.Packet().Add().Ipv6()
clientToServerFlowIp.Src().Auto().Dhcp()

serverToClientFlow.SetName("ServerToClient").TxRx().Device().
SetTxNames([]string{"DHCPv6ServerInterfaceName"}).
SetRxNames([]string{"DHCPv6ClientName"})
serverToClientFlow.Packet().Add().Ethernet()
serverToClientFlowIp := serverToClientFlow.Packet().Add().Ipv6()
serverToClientFlowIp.Dst().Auto().Dhcp()
```
Note: For DHCPv6 client to DHCPv6 server each flow supports only one source endpoint in tx_rx.device.tx_names, hence a separate flow has to be configured for each DHCPv6 client if packet[i].ipv6.src.auto.dhcp is set.

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for `devices[i].ethernets[j].dhcpv6_interfaces[k].options/options_request` and `devices[i].dhcp_server.ipv6_interfaces[j].options`.
```go
// Configure a DHCPv6 Client
dhcpv6Client := d1Eth1.Dhcpv6Interfaces().Add().
SetName("DHCPv6-Client")

.........

//options
dhcpv6Client.Options().VendorInfo().
SetEnterpriseNumber(1000).
OptionData().
Add().
SetCode(88).
SetData("enterprise")
dhcpv6Client.Options().VendorInfo().AssociatedDhcpMessages().All()

//option request
dhcpv6Client.OptionsRequest().Request().Add().BootfileUrl()
dhcpv6Client.OptionsRequest().Request().Add().Custom().SetType(3)
dhcpv6Client.OptionsRequest().AssociatedDhcpMessages().All()

// Configure a DHCPv6 Server
dhcpv6Server := d2.DhcpServer().Ipv6Interfaces().Add().
SetName("DHCPv6-Server")

............
dhcpv6Server.Options().BootfileUrl().SetUrl("URL").AssociatedDhcpMessages().All()
dhcpv6Server.Options().Dns().SetPrimary("8::8").SecondaryDns().Add().SetIp("9::9")
```

* <b><i>Ixia Chassis & Appliances(Novus, AresOne)</i></b>: Support added for `devices[i].dhcp_server.ipv6_interfaces[j].leases[k].ia_type.choice.iapd/ianapd`.
```go
// Configure a DHCPv6 Server
dhcpv6Server := d2.DhcpServer().Ipv6Interfaces().Add().
SetName("DHCPv6-Server")

dhcpv6ServerPool := dhcpv6Server.SetIpv6Name("p2d1ipv6").
Leases().Add().
SetLeaseTime(3600)
IaType := dhcpv6ServerPool.IaType().Iapd()
IaType.
SetAdvertisedPrefixLen(64).
SetStartPrefixAddress("2000:0:0:100::0").
SetPrefixStep(1).
SetPrefixSize(10)
```

* <b><i>Ixia-c</i></b>: Support added for sending Organizational tlvs in LLDP PDUs.
```go
lldp := config.Lldp().Items()[0]

orgInfos1 := lldp.OrgInfos().Add()
orgInfos1.Information().SetInfo("AABB11")
orgInfos1.SetOui("1abcdf").SetSubtype(1)
```
Note: Received Organizational tlvs can be seen in the `get_states` response of `lldp_neighbors`.


#### 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.8.0-1
> 20th August, 2024

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.8.0-1
image: ghcr.io/open-traffic-generator/keng-controller:1.12.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.8.0-1
image: ghcr.io/open-traffic-generator/keng-layer23-hw-server:1.12.0-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.8
image: ghcr.io/open-traffic-generator/otg-gnmi-server:1.14.12
restart: always
depends_on:
keng-controller:
Expand Down
Loading

0 comments on commit 2eb52b2

Please sign in to comment.