Releases: open-traffic-generator/ixia-c
Release v1.48.0-5
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.48.0 |
| snappi | 1.48.0 |
| gosnappi | 1.48.0 |
| keng-controller | 1.48.0-5 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.507 |
| keng-layer23-hw-server | 1.48.0-4 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.48.0 |
| ixia-c-one | 1.48.0-5 |
| UHD400 | 1.5.10 |
Release Feature(s):
-
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for retrieval of BGP MPLS IPv4/v6 labeled unicast prefixes. details
- To enable storage of MPLS prefixes,
bgpPeer.LearnedInformationFilter().SetIpv4MplsUnicastPrefix(true).SetIpv6MplsUnicastPrefix(true)
- To fetch prefixes,
req := gosnappi.NewStatesRequest() req.BgpPrefixes().SetBgpPeerNames(peerNames) req.BgpPrefixes().SetPrefixFilters([]gosnappi.BgpPrefixStateRequestPrefixFiltersEnum{ gosnappi.BgpPrefixStateRequestPrefixFilters.IPV4_MPLS_UNICAST, gosnappi.BgpPrefixStateRequestPrefixFilters.IPV6_MPLS_UNICAST, }) res, _ := client.GetStates(req) // MPLS Prefix information can be accessed within the following objects. res.BgpPrefixes().Ipv4MplsUnicastPrefixes() res.BgpPrefixes().Ipv6MplsUnicastPrefixes()
Note:
gNMIsupport will be added in subsequent sprints. - To enable storage of MPLS prefixes,
-
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for sending and withdrawing IPv4 routes from BGPv4 peers using
MP_REACH/UNREACHNLRIs. detailsbgpPeer := bgpIntf. Peers(). Add(). ... .SetTraditionalNlriForIpv4Routes(false)
Note: Default behavior is to send/withdraw IPv4 routes from BGPv4 peers using
Traditional REACH/UNREACHNLRI.
Bug Fix(s):
Ixia-C & UHD400 Issue is fixed in DHCPv4 client where the client was unable to use the offered address provided by pre-configured DHCPv4 server.
Ixia Chassis & Appliances(Novus, AresOne) Issue is fixed for RSVP-TE where assigned ERO was not being published for get_states for rsvp_lsps[i].ipv4_lsps[j].eros on the ingress test port.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.45.0-5
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.45.0 |
| snappi | 1.45.0 |
| gosnappi | 1.45.0 |
| keng-controller | 1.45.0-5 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.504 |
| keng-layer23-hw-server | 1.45.0-4 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.45.1 |
| ixia-c-one | 1.45.0-5 |
| UHD400 | 1.5.10 |
Release Feature(s):
-
Ixia Chassis & Appliances(Novus, AresOne): Support added for enabling and fetching
data-integrityport statistics inset_configandget_metrics. details- To configure enable
data-integrityat global level.
cfg.Options().PortOptions().SetDataIntegrity(true)
-
to fetch
data-integritymetrics use the following snippet.req := gosnappi.NewMetricsRequest() reqPort := req.Port() reqPort.SetPortNames([]string{"port1", "port2"}) res, err := client.GetMetrics(req)
- If
data-integrityis enabled, new object calleddata-integritywill be returned in theportmetrics which will contain two new fieldstotal-frames-rxanderror-frames-rx.
- If
-
gNMI support details:
ports/port[name=*]/state/data-integrityNote:
featureprofilesusers needs to sync to latest otherwise retrieval of OTG Port counters/state using gNMI might give incorrect results.
Note: Only frames generated from flows will have
data-integrityenabled. - To configure enable
-
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for capturing
rxpackets on ports usingpcapngformat.c1 := config.Captures().Add().SetName("Capture") c1.SetPortNames([]string{"port1"}) c1.SetFormat("pcapng")
-
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: gNMI support is added for
link-bandwidthsubtype intransitive_2octet_as_typeunderextended_communitiesfor BGP/BGP+ routes inget_states. detailsbgp-peers/bgp-peer[name=*]/unicast-ipv4-prefixes/unicast-ipv4-prefix/state/extended-community[i]/structured/transitive_2octet_as_type/link_bandwidth_subtype bgp-peers/bgp-peer[name=*]/unicast-ipv6-prefixes/unicast-ipv6-prefix/state/extended-community[i]/structured/transitive_2octet_as_type/link_bandwidth_subtypeNote:
featureprofilesusers needs to sync to latest otherwise retrieval of OTG BGP counters/state using gNMI might give incorrect results.
Bug Fix(s):
-
Ixia-C & UHD400: Issue is fixed in BGP/BGP+ where the pod/container would sometimes restart on trying to start BGP for the first time with
ixstack_bgp_accept_checkbacktrace present in the protocol-engine logs, especially on slower systems. -
Ixia-C & UHD400: The default mode of transmission of BGPv4 routes from BGP peers is changed from
MP_REACH/UNREACHtoTraditional REACH/UNREACH, to bring it in sync with default behavior of Ixia Chassis & Appliances(Novus, AresOne). -
otg-gnmi-server: Issue is fixed in
models-yangdue to which errorschema "lsp-id": "192000002001-00-00" does not match regular expression pattern "^([0-9a-fA-F]*)$"would be seen during gNMI client validation when accessing ISISlsp-idusing/isis-routers/isis-router[name=*]/state/link-state-database/lsp-states/lsps[lsp-id=*][pdu-type=*]/state/lsp-id.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.44.0-8
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.44.0 |
| snappi | 1.44.0 |
| gosnappi | 1.44.0 |
| keng-controller | 1.44.0-8 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.501 |
| keng-layer23-hw-server | 1.44.0-8 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.44.1 |
| ixia-c-one | 1.44.0-8 |
| UHD400 | 1.5.10 |
Release Feature(s):
-
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for
link_bandwidth_subtypeintransitive_2octet_as_typeunderextended_communitiesfor BGP/BGP+ routes inset_configandget_states. details- To configure:
ext_comm := route.ExtendedCommunities().Add() ext_comm.Transitive2OctetAsType().LinkBandwidthSubtype(). SetGlobal2ByteAs(peer.AsNumber()). SetBandwidth(10000.0)
- To fetch:
req := gosnappi.NewStatesRequest() req.BgpPrefixes().SetBgpPeerNames(peerNames) res, err := client.GetStates(req) if err != nil { return nil, err } learnedRoutes := res.BgpPrefixes() liFirstPeer := actualBGPv4Prefix.Items()[0] route := liFirstPeer.Ipv4UnicastPrefixes().Items()[0] extComm := route.ExtendedCommunities().Items()[0] if ( extComm.Structured().Transitive2OctetAsType().LinkBandwidthSubtype().Bandwidth()!= 1000.0 || extComm.Structured().Transitive2OctetAsType().LinkBandwidthSubtype().Global2ByteAs() != 65000){ t.Fatal("Bandwidth value / AS value not as expected.") }
Note: gNMI support will be added in the subsequent sprint once
ondatraincorporates latestmodels-yang. - To configure:
-
Ixia Chassis & Appliances(Novus, AresOne): Support added for auto detection of port left in dirty state by other user and automatic reboot during
set_config.
Bug Fix(s):
-
otg-gnmi-server: Issue is fixed in
models-yangdue to which errorvalidation failed: /device/flows/flow/tagged-metrics/tagged-metric/state/tags/tag-value/value-as-hex: schema "value-as-hex": "0x02" does not match regular expression pattern "^([0-9a-fA-F]*)$"would be seen during gNMI client validation for tagged metrics. -
Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Issue is fixed where incorrect packet template related to ICMPv6 over IPv4 and ICMPv4 over IPv6 was incorrectly accepted by the controller, resulting in incorrect behavior including
context deadline exceedederror. Instead proper error will now be returned onset_configand only valid configurations oficmpoveripv4andicmpv6overipv6will be accepted. -
Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where in certain scenarios the time taken for
set_configAPI was seen to be increasing for large number of iterations.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.43.0-7
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.43.0 |
| snappi | 1.43.0 |
| gosnappi | 1.43.0 |
| keng-controller | 1.43.0-7 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.494 |
| keng-layer23-hw-server | 1.43.0-3 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.43.0 |
| ixia-c-one | 1.43.0-7 |
| UHD400 | 1.5.10 |
Release Feature(s):
- Ixia Chassis & Appliances(Novus, AresOne):
rebootsupport is added for port inset_control_action.// port reboot action with empty port-names - to reboot all ports in the otg configuration ca1 := gosnappi.NewControlAction() ca1.Port().Reboot() result, err := client.Api().SetControlAction(ca1) // port reboot action with specific port-names - to reboot specific ports in the otg configuration ca2 := gosnappi.NewControlAction() ca2.Port().Reboot().SetPortNames([]string{"port1", "port2"}) result, err := client.Api().SetControlAction(ca2)
- same could be achieved using
curl/Rest Apiafter a successfulset_configoperation,curl -k -X POST -H "Content-Type: application/json" --data-binary "@rebootports.json" https://<controller-ip>:8443/control/action // port reboot action with empty port-names - to reboot all ports in the otg configuration rebootports.json: { "choice": "port", "port": { "choice": "reboot" } } // port reboot action with specific port-names - to reboot specific ports in the otg configuration rebootports.json: { "choice": "port", "port": { "choice": "reboot", "reboot":{ "port_names": ["port1", "port2"] } } }
- same could be achieved using
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.42.1-4
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.42.1 |
| snappi | 1.42.1 |
| gosnappi | 1.42.1 |
| keng-controller | 1.42.1-4 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.491 |
| keng-layer23-hw-server | 1.42.1-2 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.42.5 |
| ixia-c-one | 1.42.1-4 |
| UHD400 | 1.5.10 |
Release Feature(s):
-
Ixia Chassis & Appliances(Novus, AresOne):
pingsupport is added for IPv4/v6 protocol inset_control_action.// IPv4 Ping ca := gosnappi.NewControlAction() pa := ca.Protocol().Ipv4().Ping() // If the requests list is not provided, by default ping will be invoked for all IPv4 and IPv4 Loopback interfaces in the current configuration. // requests is list of local IPv4 interface name + Destination IPv4 tuple for _, req := range requests { pingReq := gosnappi.NewActionProtocolIpv4PingRequest().SetSrcName(req.SrcName).SetDstIp(req.DstIp) pa.Requests().Append(pingReq) } result, err := client.Api().SetControlAction(ca) // process responses pingResponseItems := result.Response().Protocol().Ipv4().Ping().Responses().Items() for _, actM := range pingResponseItems { t.Logf("%v %v : %v", actM.SrcName(), actM.DstIp(), actM.Result()) // Where Result is success or failure. } // IPv6 Ping ca := gosnappi.NewControlAction() pa := ca.Protocol().Ipv6().Ping() // If the requests list is not provided, by default ping will be invoked for all IPv6 and IPv6 Loopback interfaces in the current configuration. // requests is list of local IPv6 interface name + Destination IPv6 tuple for _, req := range requests { pingReq := gosnappi.NewActionProtocolIpv6PingRequest().SetSrcName(req.SrcName).SetDstIp(req.DstIp) pa.Requests().Append(pingReq) } // Result processing is similar to IPv4 above.
- using
curl/Rest Api,curl -k -X POST -H "Content-Type: application/json" --data-binary "@ping.json" https://<controller-ip>:8443/control/action cat ping.json { "choice": "protocol", "protocol": { "choice": "ipv4", "ipv4": { "choice": "ping" } } }
- using
-
Ixia Chassis & Appliances(Novus, AresOne): Support of Ingress Flow tracking is added for any combination of supported fields with
metric_tagsup to a maximum combined tracking bits of 12, which includes flow tracking as well.flow := cfg.Flow().Add() flow.Packet().Add().Ethernet() ipv4 := flow.Packet().Add().Ipv4() ipv4.Src().MetricTags().Add().SetName("src").SetLength(32) // Currently the maximum length of the field being tracked must be provided. ipv4.Dst().MetricTags().Add().SetName("dst").SetLength(32) // Ingress tracking for partial bits in a field is not supported.
- User can set
get_metrics.flow.tagged_metrics.include=falsenot to includetagged_metricsin theflow_metricsresponse. - Specific
tagged_metricscan be fetched by settingget_metrics.flow.tagged_metrics.filters[i].name. - Support is available in gNMI to fetch the drill-down statistics for ingress tracking as follows. details:
1. Flow level metrics + Tagged Metrics: example path: "flows/flow[name=f1]“ 2. Only Tagged metrics example path: "flows/flow[name=f1]/tagged-metrics“ 3. Filtered Tagged metrics: example path: "flows/flow[name=f1]/tagged-metrics/tagged-metric[name-value-pairs=flow_ipv6_dst=0x2]”
Note: Ingress and Egress tracking together, is currently not supported.
- User can set
Bug Fix(s):
- Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Issue is fixed where context deadline was being seen intermittently for large ISIS configurations especially with Simulated Topology for repeated
set_config,set_control_state.protocol.start/stopactions, due to port crashes while processing ISIS Hellos.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.42.0-4
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.42.0 |
| snappi | 1.42.0 |
| gosnappi | 1.42.0 |
| keng-controller | 1.42.0-4 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.488 |
| keng-layer23-hw-server | 1.42.0-4 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.42.4 |
| ixia-c-one | 1.42.0-4 |
| UHD400 | 1.5.10 |
Release Feature(s):
- Ixia-C, UHD400 & Ixia Chassis & Appliances(Novus, AresOne): Support added for BGP Monitoring Protocol (BMP). details
p1 := config.Ports().Add().SetName("p1").SetLocation("...") device := config.Devices().Add().SetName("p1.dev1") ... bmpIntf := device.Bmp().Ipv4Interfaces().Add() bmpIntf.SetIpv4Name("p1.dev1.eth1.ipv4") bmpServer := bmpIntf.Servers().Add() bmpServer.SetName(device.Name()+".bmp") bmpServer.SetClientIp("1.1.1.1") // To control which TCP port on which to accept requests from DUT BMP Client. bmpServer.Connection().Passive().SetListenPort(10123) //To store all routes //bmpServer.PrefixStorage().Ipv4Unicast().Store() //Store specifically needed routes discard := bmpServer.PrefixStorage().Ipv4Unicast().Discard() discard.Exceptions().Add(). SetIpv4Prefix("172.16.0.0"). SetPrefixLength(16) //Store all IPv6 prefixes // bmpServer.PrefixStorage().Ipv6Unicast().Store() //Store subset of IPv6 prefixes v6discard := bmpServer.PrefixStorage().Ipv6Unicast().Discard() v6discard.Exceptions().Add(). SetIpv6Prefix("172:16:0:1::"). SetPrefixLength(64) //To get BMP Metrics: reqMetrics := gosnappi.NewMetricsRequest() reqMetrics.BmpServer() bmpMetrics, err := client.Api().GetMetrics(reqMetrics) ... // To get BMP State info ( the per peer stats/prefixes information sent by BMP Client) reqStates := gosnappi.NewStatesRequest() reqStates.BmpServers() bmpState, err := client.Api().GetStates(reqStates)
-
gNMI support added to fetch metics and states of BGP Monitoring Protocol (BMP) models-yang.
// metrics bmp-servers/bmp-server[name=*]/state/counters // states bmp-servers/bmp-server[name=*]/state/peer-state-database/peers
-
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.41.0-8
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.41.0 |
| snappi | 1.41.0 |
| gosnappi | 1.41.0 |
| keng-controller | 1.41.0-8 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.486 |
| keng-layer23-hw-server | 1.41.0-5 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.41.0 |
| ixia-c-one | 1.41.0-8 |
| UHD400 | 1.5.10 |
Bug Fix(s):
-
Ixia Chassis & Appliances(Novus): Issue is fixed where if protocols were restarted followed by restart of previously configured flows , flow packets were not being transmitted on the wire and flow
txmetrics stayed at0. This issue is specific toNovusload module. -
Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where for certain cases multiple consecutive API calls would fail and result in
'potential deadlock'related messages inkeng-layer23-hw-serverlogs. Now ifkeng-layer23-hw-serveris stuck & busy on processing last API, future API calls will immediately fail with proper error instead of earlier'context deadline'error after timeout of 10 min.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.41.0-1
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.41.0 |
| snappi | 1.41.0 |
| gosnappi | 1.41.0 |
| keng-controller | 1.41.0-1 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.483 |
| keng-layer23-hw-server | 1.41.0-2 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.41.0 |
| ixia-c-one | 1.41.0-1 |
| UHD400 | 1.5.10 |
Release Features(s):
- Ixia-C, Ixia Chassis & Appliances(Novus, AresOne) & UHD400: Support added for BGP/BGP+ labeled IPv4/v6 unicast routes.
- To configure single label.
peer.Capability().SetIpv4Mpls(true).SetIpv6Mpls(true) peerRoutes := peer. V4Routes().Add().SetName("peer.routes") peerRoutes.Addresses().Add().SetAddress("20.20.20.1").SetPrefix(32).SetCount(2) peerRouteLabel := peerRoutes.MplsLabels() peerRouteLabel.Labels().Add().SetStart(10000).SetStep(10) // This will result in prefix 20.20.20.1/32 to be sent with label 10000 and // prefix 20.20.20.2/32 to be sent with label 10010
- To configure multiple labels.
multiMpls := peer.Capability().MultipleIpv4Mpls() multiMpls.SetLabelCount(2) peerRoutes := peer. V4Routes().Add().SetName("peer.routes") peerRoutes.Addresses().Add().SetAddress("20.20.20.1").SetPrefix(32).SetCount(2) peerRouteLabels := peerRoutes.MplsLabels() peerRouteLabels.Labels().Add().SetStart(10000).SetStep(10) peerRouteLabels.Labels().Add().SetStart(20000).SetStep(10) // This will result in prefix 20.20.20.1/32 to be sent with label stack 10000, 20000 and // prefix 20.20.20.2/32 to be sent with label stack 10010, 20020
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.40.0-15
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.40.0 |
| snappi | 1.40.3 |
| gosnappi | 1.40.3 |
| keng-controller | 1.40.0-15 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.482 |
| keng-layer23-hw-server | 1.40.0-5 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.40.3 |
| ixia-c-one | 1.40.0-15 |
| UHD400 | 1.5.10 |
Note
gosnappi will support go version >=v1.24 and snappi will support python version from v3.8 to v3.12.
Release Features(s):
- UHD400: Support added for capturing packets on multiple test ports.
// Enabling capture ports enableCapture := config.Captures().Add().SetName("Capture") enableCapture.SetPortNames([]string{"p1", "p2", "p3", "p4"}) // startCapture on enabled ports for _, capture := range gosnappi.Config.Captures().Items() { capturePorts = append(capturePorts, capture.PortNames()...) } s := gosnappi.NewControlState() s.Port().Capture().SetPortNames(portNames).SetState(gosnappi.StatePortCaptureState.START) client.Api().SetControlState(s, "StartCapture") // Retrieve Capture captureFileObj, err := os.Create(“capture_test.pcap”) req := gosnappi.NewCaptureRequest().SetPortName(portName) captureBytes, err := client.Api().GetCapture(req) captureFileObj.Write(captureBytes) pcap.OpenOffline(outCaptureFile) ```
- Ixia Chassis & Appliances(Novus, AresOne):Support added for extended IPv6 routing header type 4(IPv6 SR) as Data traffic.
// go-snappi snippet f1Eth := f1.Packet().Add().Ethernet() ... f1Ip := f1.Packet().Add().Ipv6() ... // IPv6 SR Header f1ExtHdr := f1.Packet().Add().Ipv6ExtensionHeader() f1SR := f1ExtHdr.Routing().SegmentRouting() f1SR.SegmentsLeft().SetValue(2) f1SR.LastEntry().SetValue(2) f1SegList := f1SR.SegmentList() f1SegList.Add().Segment().SetValue("5000:0:0:1:0:0:0:1") f1SegList.Add().Segment().SetValue("1000:0:0:1:0:0:0:1") ...
Bug Fix(s):
- Ixia Chassis & Appliances(Novus, AresOne): Issue is fixed where for certain scaled ISIS simulated topology configs
"context deadline exceeded"error was being encountered onset_config.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin 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.40.0-1
Build Details
| Component | Version |
|---|---|
| Open Traffic Generator API | 1.40.0 |
| snappi | 1.40.0 |
| gosnappi | 1.40.0 |
| keng-controller | 1.40.0-1 |
| ixia-c-traffic-engine | 1.8.0.245 |
| keng-app-usage-reporter | 0.0.1-52 |
| ixia-c-protocol-engine | 1.00.0.482 |
| keng-layer23-hw-server | 1.40.0-2 |
| keng-operator | 0.3.34 |
| otg-gnmi-server | 1.40.0 |
| ixia-c-one | 1.40.0-1 |
| UHD400 | 1.5.8 |
Release Features(s):
-
Ixia Chassis & Appliances(Novus, AresOne): Support added for
LACPheader in flow. detailsf1Eth := flow.Packet().Add().Ethernet() f1Eth.Src().SetValue("00:00:00:00:00:AA") f1Eth.Dst().SetValue("01:80:C2:00:00:02") f1Lacp := flow.Packet().Add().Lacp() f1Lacpdu := f1Lacp.Lacpdu() f1LacpActor := f1Lacpdu.Actor() f1LacpActor.SystemPriority().SetValue(32768) f1LacpActor.SystemId().SetValue("00:00:00:00:00:AA") f1LacpActor.Key().SetValue(13) f1LacpActor.PortPriority().SetValue(32768) f1LacpActor.PortNumber().SetValue(25) f1LacpActor.ActorState().Activity.SetValue(1) f1LacpActor.ActorState().Aggregation.SetValue(1) f1LacpActor.ActorState().Collecting.SetValue(1) f1LacpPartner := f1Lacpdu.Partner() f1LacpPartner.SystemPriority().SetValue(32768) f1LacpPartner.SystemId().SetValue("00:0c:29:1e:a2:6d") f1LacpPartner.Key().SetValue(1) f1LacpPartner.PortPriority().SetValue(32768) f1LacpPartner.PortNumber().SetValue(1) f1LacpPartner.PartnerState().Distributing.SetValue(1)
Note:
flows[i].metrics.enableshould be set tofalse, to ensure that instrumentation data is not appended to theLACPPDU being transmitted on the wire. -
Ixia Chassis & Appliances(Novus, AresOne): Support added for fetching user specified packet slice from captured packets. details
// Capture Slice: get N number of packets starting from Mth packet captureRequest = gosnappi.NewCaptureRequest() captureRequest.SetPortName("p1") captureRequest.Packets().Slice().Initial().SetStart(10).SetCount(50)
Bug Fix(s):
- Ixia-C, UHD400: Issue is fixed where if
devices[i].bgp.ipv4/6_interfaces[j].peers[k].capability.route_refreshwas explicitly set tofalse, the IPv6 capability would not be advertised in the BGP Open message, resulting in IPv6 routes not getting installed in this specific scenario.
Known Issues
- Ixia Chassis & Appliances(Novus, AresOne): If
keng-layer23-hw-serverversion 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.startcan 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. - UHD400: Packets will not be transmitted if
flows[i].rate.ppsis less than 50. - UHD400:
valuesfor 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 userandominstead ofvalues. - 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: The metric
lossin flow metrics is currently not supported. - Ixia-C: When flow transmit is started, transmission will be restarted on any existing flows already transmitting packets.