This namespace holds all ByteBlower-related Tcl extensions, including the ByteBlower higher-layer Tcl API. More...
Functions | |
x.GetDevicesToStart txPorts rxPorts | |
Method to retrieve the objects to pass at Ports.Start and WirelessEndpoints.Start. | |
x.StartWirelessEndpoints wirelessEndpoints | |
Method to start the wireless endpoints. More... | |
x.StopWirelessEndpoints wirelessEndpoints | |
x.WaitForWirelessEndpoints wirelessEndpoints | |
ExecuteScenario scenarioConfig args | |
Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results. More... | |
ExecuteScenarioRT scenarioConfig args | |
Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results. More... | |
DefaultCallback scenarioResultList | |
Default callback method for processing the real-time results that simply prints result values on every update interval. More... | |
x.ExecuteScenario.PrepareNetwork scenarioPrepareObjectList scoutingTimetowait | |
x.ExecuteScenario.Finished txPorts scenarioObjectList extended | |
x.ExecuteScenario.GetWirelessEndpoints scenarioObjectList | |
x.ExecuteScenario.ScenarioConfig.Parse scenarioConfig extended | |
x.ExecuteScenario.CheckTxErrors scenarioObjectList txPorts | |
x.ExecuteScenario.Results.Get scenarioObjectList extended | |
x.ExecuteScenario.Timestamp.Next.Get scenarioObjectList prevTimestamp updateinterval | |
x.ExecuteScenario.Bucket.Search bucketlist timestamp | |
x.ExecuteScenario.InterRunResults.Get scenarioObjectList txPorts extended timestamp | |
x.ExecuteScenario.Cleanup scenarioObjectList | |
x.ExecuteScenario.Error scenarioObjectList errorInfo | |
x.ExecuteScenario.TxParam.Parse txParamList | |
x.ExecuteScenario.TxParam.Frame.Parse stream frameDescription | |
x.ExecuteScenario.TxParam.ScoutingFrame.Parse scoutingStream frameDescription | |
x.ExecuteScenario.TxParam.FrameFieldModifier.Parse frame fieldModifier | |
x.ExecuteScenario.TxParam.FrameSizeModifier.Parse frame frameModifier | |
x.ExecuteScenario.TxParam.FrameModifier.Parse stream frameModifier | |
x.ExecuteScenario.TxParam.TimingModifier.Parse stream timingModifier | |
x.ExecuteScenario.RxTupleFilter.Parse triggerObject filter | |
x.ExecuteScenario.RxParam.Parse rxParamList extended | |
FlowLatency scenarioConfig args | |
Executes a latency calculating scenario based on a declarative scenario configuration and returns the calculated latency values. More... | |
x.FlowLatency.ScenarioConfig.Validate scenarioConfig | |
x.FlowLatency.Result.Parse.Numbers scenarioResult | |
FlowLossRate flowlist args | |
x.RxParam.FlowLoss.Parse rxparamlist | |
x.TxResult.FlowLoss.Parse counter | |
x.RxResult.FlowLoss.Parse counter | |
FlowOutofsequence scenarioConfig args | |
Executes an out of sequence detecting scenario based on a declarative scenario configuration and returns the calculated out of sequence values. More... | |
x.FlowOutofsequence.ScenarioConfig.Validate scenarioConfig | |
x.FlowOutofsequence.Result.Parse.Numbers scenarioResult | |
x.Print.Debug args | |
NatDevice.IP.Get publicPort nattedPort publicUdpPort natUdpPort?publicIpAddress? | |
LinkLayer.AutoComplete frameContent bbPort | |
PPPoE.Setup byteblowerPort pppoeServiceName authProtocol authProtocolCredentials networkProtocol?networkProtocolOptions? | |
PPPoE.Start pppoeSetupInformation | |
PPPoE.Start.Async pppoeSetupInformation | |
PPPoE.SessionId.Get pppoeSetupInformation | |
PPPoE.Schedule.Start.Setup pppoeSetupInformation initialTimeToWait | |
PPPoE.Schedule.Terminate.Setup pppoeSetupInformation initialTimeToWait | |
PPPoE.Status.Get pppoeSetupInformation | |
PPPoE.Terminate pppoeSetupInformation | |
PPPoE.NCP.Results.Get pppoeSetupInformation | |
PPPoE.MultiPPPoESessions.Setup bbServer NrOfSessions basePortMacAddress papUserNameList papPasswordList?interSessionGap??networkProtocol? | |
PPPoE.MultiPPPoESessions.Start multiSessionID?interSessionGap? | |
PPPoE.MultiPPPoESessions.Schedule.Setup multiSessionID?interSessionGap??terminateAfterStartTime??interTerminateGap? | |
PPPoE.MultiPPPoESessions.Schedule.Start multiSessionID | |
PPPoE.MultiPPPoESessions.Terminate multiSessionID?interSessionGap? | |
PPPoE.MultiPPPoESessions.CleanUp multiSessionID | |
TcpAckSuppression args | |
parseTcpAckSuppressionParams args | |
initializeHttpServer serverPortInfo | |
initializeHttpClient clientPortInfo serverPortInfo | |
startHttpServer httpServerInfo | |
startHttpClient httpClientInfo | |
waitForHttpClientFinish httpClientInfo | |
stopHttpClient httpClientInfo httpClientId | |
stopHttpServer httpServerInfo | |
getHttpClientResults httpClientInfo httpServerInfo | |
parseHttpClientStatusResult httpClient requestSize | |
parseHttpClientTcpAckResult httpClient httpServer | |
Generate.Ports.On.Switch server trunk baseMac L3Config?ports? | |
Generate.Possible.Ports.On.Switch server trunk baseMac L3Config?ports? | |
This namespace holds all ByteBlower-related Tcl extensions, including the ByteBlower higher-layer Tcl API.
These procedures are developed for higher-level usage of the ByteBlower API. They are mainly used to simplify running specific Test Scenarios similar to scenarios you know from the ByteBlower GUI.
excentis::ByteBlower::DefaultCallback | scenarioResultList | ||
Default callback method for processing the real-time results that simply prints result values on every update interval.
scenarioResultList | The intermediate scenario result. It has the same format as the final scenario result, which is based on the scenario configuration. |
Definition at line 506 of file executescenario.tcl.
excentis::ByteBlower::ExecuteScenario | scenarioConfig args | ||
Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results.
This method sets up the scenario flows, runs them and collects information about them. After executing the scenario all created objects are removed from the interacting ByteBlowerPort objects, so thay return to the same pre-scenario state.
This method is synchronous and will return the global scenario results once it is finished. To handle intermediate results, there is a similar method ExecuteScenarioRT .
scenarioConfig | The declarative scenario configuration. See the higher-layer API overview for more information. |
args | Scenario-level option list in the form of a list of key-value pairs:
|
Definition at line 172 of file executescenario.tcl.
excentis::ByteBlower::ExecuteScenarioRT | scenarioConfig args | ||
Central method of the higher-layer API which executes declarative scenario configurations and returns the scenario results.
This method sets up the scenario flows, runs them and collects information about them. After executing the scenario all created objects are removed from the interacting ByteBlowerPort objects, so thay return to the same pre-scenario state.
The method is synchronous and will return the global scenario results once it has finished. However, it will also periodically execute a callback method containing the intermediate results. If this real-time result functionality is not required, a similar method ExecuteScenario may also be used.
scenarioConfig | The declarative scenario configuration. See the higher-layer API overview for more information. |
args | Scenario-level option list in the form of a list of key-value pairs:
|
ByteBlowerObject_1530880908_2Returns:
-server localhost Failed to connect with the ByteBlower server: byteblower-tp-p860.lab.excentis.com:9002
Definition at line 356 of file executescenario.tcl.
excentis::ByteBlower::FlowLatency | scenarioConfig args | ||
Executes a latency calculating scenario based on a declarative scenario configuration and returns the calculated latency values.
This method assumes the scenario configuration has certain properties and returns clear error messages when a scenario configuration is malformed. The scenario configuration requirements are:
scenarioConfig | The scenario configuration as expected by the ExecuteScenario function. See the higher-layer API overview for more information. |
args | Scenario-level option list in the form of a list of key-value pairs:
|
return
option. Definition at line 65 of file flowlatency.tcl.
excentis::ByteBlower::FlowLossRate | flowlist args | ||
Calculates the loss rate for the provided flowlist
according to RFC 1242
Definition: Percentage of frames that should have been forwarded by a network device under steady state (constant) load that were not forwarded due to lack of resources.
flowlist | The declarative scenario configuration. See the higher-layer API overview for more information. |
args | Output-level option list in the form of a list of key-value pairs:
|
-return
ByteBlowerObject_1530880908_2Returns:
-server localhost Failed to connect with the ByteBlower server: byteblower-tp-p860.lab.excentis.com:9002
Definition at line 78 of file flowlossrate.tcl.
excentis::ByteBlower::FlowOutofsequence | scenarioConfig args | ||
Executes an out of sequence detecting scenario based on a declarative scenario configuration and returns the calculated out of sequence values.
This method assumes the scenario configuration has certain properties and returns clear error messages when a scenario configuration is malformed. The scenario configuration requirements are:
scenarioConfig | The scenario configuration as expected by the ExecuteScenario function. See the higher-layer API overview for more information. |
args | Scenario-level option list in the form of a list of key-value pairs:
|
return
option. Definition at line 62 of file flowoutofsequence.tcl.
excentis::ByteBlower::LinkLayer.AutoComplete | frameContent bbPort | ||
Update the Layer2 and/or Layer 2.5 Header of the Frame
The Layer2 Header of the frame will be set to match the Port's Layer2 configuration and Layer2.5 extensions.
The Source MAC Address will be filled in as the Port's Mac address.
If the L2 Type is IPv4 or IPv6, the destination IPv4 / IPv6 address will be resolved (if it is a non-broadcast / non-multicast address) and the resulting destination MAC address will be filled in.
Layer2.5 extension Headers will be added to the frame.
frameContent | Frame content to adjust to the source ByteBlower port configuration. |
bbPort | Source ByteBlower Port from which the given frameContent will be sent. |
Definition at line 44 of file networking.tcl.
excentis::ByteBlower::NatDevice.IP.Get | publicPort nattedPort publicUdpPort natUdpPort ?publicIpAddress? | ||
To find out which ip address and port is used by the nat device, we first send some packets from the private to the public side
The used discovery packet size is 256 Bytes.
publicPort | ByteBlower Port connected to the public side of the NAT device |
nattedPort | ByteBlower Port connected to the private side of the NAT device |
natUdpPort | is the UDP SOURCE port for the nattedPort. |
publicUdpPort | is the UDP SOURCE port for the publicPort. |
publicIpAddress | is the public IP address to use instead of the public IP address that is configured at the publicPort. |
excentis::ByteBlower::PPPoE.MultiPPPoESessions.CleanUp | multiSessionID | ||
excentis::ByteBlower::PPPoE.MultiPPPoESessions.Setup | bbServer NrOfSessions basePortMacAddress papUserNameList papPasswordList ?interSessionGap? ?networkProtocol? | ||
Sets up Multiple PPPoE Sessions
bbServer | ByteBlower Server |
NrOfSessions | Number of Sessions |
basePortMacAddress | Mac Address of the first ByteBlower Port, Next ports will increment Mac address with 1. |
papUserNameList | list of Username(s) for PAP authentication. Please provide one shared user name or at least one username per PPPoE session. |
papPasswordList | list of Password(s) for PAP authentication. Please provide one share password or at least one password per PPPoE session. |
interSessionGap | Time between finish of the start of a PPPoE Session and the start of the following PPPoE Session [ms] |
networkProtocol | The Network Control Protocol user for PPP Currently ipcp and ipv6cp are supported. |
excentis::ByteBlower::PPPoE.MultiPPPoESessions.Start | multiSessionID ?interSessionGap? | ||
Starts Multiple PPPoE Sessions, set up using 'PPPoE.MultiPPPoESessions.Setup'
multiSessionID | Returnvalue from 'PPPoE.MultiPPPoESessions.Start' |
interSessionGap | Time between finish of the start of a PPPoE Session and the start of the following PPPoE Session [ms] |
excentis::ByteBlower::PPPoE.MultiPPPoESessions.Terminate | multiSessionID ?interSessionGap? | ||
Terminates Multiple PPPoE Sessions, setup using 'PPPoE.MultiPPPoESessions.Setup' and started using 'PPPoE.MultiPPPoESessions.Start'
multiSessionID | Returnvalue from 'PPPoE.MultiPPPoESessions.Start' |
interSessionGap | Time between finish of the start of a PPPoE Session and the start of the following PPPoE Session [ms] |
excentis::ByteBlower::PPPoE.NCP.Results.Get | pppoeSetupInformation | ||
excentis::ByteBlower::PPPoE.Schedule.Start.Setup | pppoeSetupInformation initialTimeToWait | ||
excentis::ByteBlower::PPPoE.Schedule.Terminate.Setup | pppoeSetupInformation initialTimeToWait | ||
excentis::ByteBlower::PPPoE.SessionId.Get | pppoeSetupInformation | ||
excentis::ByteBlower::PPPoE.Setup | byteblowerPort pppoeServiceName authProtocol authProtocolCredentials networkProtocol ?networkProtocolOptions? | ||
Prepare the ByteBlower Port for performing PPPoE
byteblowerPort | The ByteBlowerPort on which we would like to configure PPPoE on. |
pppoeServiceName | The Requested PPPoE ServiceName |
authProtocol | The Auth Protocol used for PPP |
authProtocolCredentials | The credentials for the auth Protocol
|
networkProtocol | The Network Control Protocol user for PPP Currently ipcp and ipv6cp are supported. |
networkProtocolOptions | Default: : No special Network Protocol configuration (automatic configuration) |
excentis::ByteBlower::PPPoE.Start | pppoeSetupInformation | ||
excentis::ByteBlower::PPPoE.Start.Async | pppoeSetupInformation | ||
excentis::ByteBlower::PPPoE.Status.Get | pppoeSetupInformation | ||
excentis::ByteBlower::PPPoE.Terminate | pppoeSetupInformation | ||
excentis::ByteBlower::x.Print.Debug | args | ||
0: ERROR 1: WARNING 2: INFO 3: DEBUG
Definition at line 26 of file logging.tcl.
excentis::ByteBlower::x.StartWirelessEndpoints | wirelessEndpoints | ||
Method to start the wireless endpoints.
Definition at line 81 of file executescenario.tcl.