Session for handling ICMP Echo Requests and Replies. More...
Methods | |
Data.Size.Get | |
Returns the data size. More... | |
Data.Size.Set dataSize | |
Configures the data size. More... | |
Description.Get | |
Returns a textual description of the object. | |
DestinationIp.Get | |
Returns the ICMP Echo Request destination IPv4 address. More... | |
DestinationIp.Set ipv4Address | |
Configure the destination IPv4 address. More... | |
Echo.Loop.Count.Get | |
Returns the Echo Request count. More... | |
Echo.Loop.Count.Set packetCount | |
Configures the Echo Request count. More... | |
Echo.Loop.Interval.Get | |
Returns the Echo Request interval. More... | |
Echo.Loop.Interval.Set loopInterval | |
Configures the Echo Request interval. More... | |
Echo.Loop.Start | |
Starts sending Echo Requests in a loop. More... | |
Echo.Loop.Stop | |
Stops sending Echo Requests in a loop. More... | |
Echo.Request.Send | |
Transmit an ICMP Echo Request. More... | |
Echo.Statistics.Clear | |
Resets the ICMP Session statistics. More... | |
Echo.Statistics.Get | |
Returns the ICMP Echo Session statistics. More... | |
Identifier.Get | |
Returns the ICMP Echo Request IcmpID. More... | |
Parent.Get | |
Returns the parent object. | |
Remote.Address.Get | |
Returns the ICMP Echo Request destination IPv4 address. More... | |
Remote.Address.Set ipv4Address | |
Configure the destination IPv4 address. More... | |
Session.Info.Get | |
Returns the session information. More... | |
Ttl.Get | |
Returns the current IPv4 time-to-live. More... | |
Ttl.Set ttl | |
Configures the IPv4 time-to-live. More... | |
TypeOfService.Get | |
Retrieves the 'Type Of Service' configuration of the IP layer. More... | |
TypeOfService.Set | |
Configures the 'Type Of Service' used at the IP layer. More... | |
Session for handling ICMP Echo Requests and Replies.
This Session uses the ICMP protocol for receiving and / or transmitting ICMP Echo Request and / or Replies
Some use cases for this session are:
Layer3.IcmpEchoSession::Data.Size.Get |
Returns the data size.
This method returns the data size of our ICMP Echo Requests
The data size of our ICMP Echo Requests is the payload size of the packet
The ICMP session has been configure to add 76Bytes payload in the ICMP Request packets
Returns:
76
Layer3.IcmpEchoSession::Data.Size.Set | dataSize | ||
Configures the data size.
This method configures the data size of our ICMP Echo Requests
The data size of our ICMP Echo Requests is the payload size of the packet
dataSize | The ICMP data size you wish to configure. Valid range: 0 to <port_mdl> - <icmp_header_size>. Where
|
<tcl_error> | bad lexical cast: When the value could not be interpreted as a valid integer |
ByteBlower.Protocol.InvalidValue | When the value is out of range |
Configure 92Bytes payload for the ICMP Request packets
Layer3.IcmpEchoSession::DestinationIp.Get |
Returns the ICMP Echo Request destination IPv4 address.
This method returns the IPv4 address which has been configured with Remote.Address.Set
ByteBlower.Session | When the destination IPv4 address was not yet configured |
Returns:
1.2.3.4
Layer3.IcmpEchoSession::DestinationIp.Set | ipv4Address | ||
Configure the destination IPv4 address.
This method configures the destination IPv4 address for our ICMP Echo packets
The destination IPv4 address defines to where the ICMP Echo Requests will be sent or from where ICMP Echo Responses are / were received.
ipv4Address | The Destination IPv4 Address for this session. |
<tcl_error> | Invalid IPv4 address: When the value could not be interpreted as an IPv4 address |
Layer3.IcmpEchoSession::Echo.Loop.Count.Get |
Returns the Echo Request count.
This method returns the number of Echo Requests which will be transmitted when sending in a loop.
The transmit loop is configured to transmit 12345 packets
Returns:
12345
Layer3.IcmpEchoSession::Echo.Loop.Count.Set | packetCount | ||
Configures the Echo Request count.
This method configures the number of Echo Requests which will be transmitted when sending in a loop.
The Echo Request Loop can be started using Echo.Loop.Start
packetCount | The number of ICMP Echo Request packets to transmit |
<tcl_error> | bad lexical cast: When the value could not be interpreted as a valid integer |
Configure the loop to transmit 100 ICMP Echo Request packets
Layer3.IcmpEchoSession::Echo.Loop.Interval.Get |
Returns the Echo Request interval.
This method returns the interval between subsequent Echo Request packets when sending in a loop.
The Echo Request Loop can be started using Echo.Loop.Start
The transmit loop is configured with an interval of 625 microseconds
Returns:
625000
Layer3.IcmpEchoSession::Echo.Loop.Interval.Set | loopInterval | ||
Configures the Echo Request interval.
This method configures the interval between subsequent Echo Request packets when sending in a loop.
The interval has a nanosecond resolution. You can provide a time unit for the loop interval value.
The Echo Request Loop can be started using Echo.Loop.Start
loopInterval | The interval between two ICMP Echo Request packets [ns]. Valid range: 0 to <max_uint64>[ns] Where
|
<tcl_error> | Failed to parse time string: When the value could not be interpreted as a valid time string |
Configure an interval of 50 microseconds (50000 nanoseconds)
Configure an interval of 500 milliseconds
Configure an interval of 1.25 milliseconds
Layer3.IcmpEchoSession::Echo.Loop.Start |
Starts sending Echo Requests in a loop.
This method start sending Echo Requests in a loop.
The interval between Echo Request can be configured using the method Echo.Loop.Interval.Set
If a limited number of Echo Request is desired, this can be configured using the method Echo.Loop.Count.Set
ByteBlower.Session.Unavailable | When the destination IPv4 address was not yet configured |
ByteBlower.Protocol.Session.CreationFailed | When the destination IPv4 address cannot be reached |
Layer3.IcmpEchoSession::Echo.Loop.Stop |
Stops sending Echo Requests in a loop.
This method stops sending Echo Requests in a loop. The loop can be started with Echo.Loop.Start
Layer3.IcmpEchoSession::Echo.Request.Send |
Transmit an ICMP Echo Request.
This method sends one ICMP Echo Request.
The results/statistics can be obtained using the method Echo.Statistics.Get
ByteBlower.Session.Unavailable | When the destination IPv4 address was not yet configured |
ByteBlower.Protocol.Session.CreationFailed | When the destination IPv4 address cannot be reached |
Layer3.IcmpEchoSession::Echo.Statistics.Clear |
Resets the ICMP Session statistics.
This method resets the ICMP Session statistics.
The counters which are returned by Echo.Statistics.Get are set to 0
Layer3.IcmpEchoSession::Echo.Statistics.Get |
Returns the ICMP Echo Session statistics.
This method returns the ICMP Echo Session statistics
Returns:
RxEchoRequests 0 TxEchoReplies 0 TxEchoRequests 0 RxEchoReplies 0
Layer3.IcmpEchoSession::Identifier.Get |
Returns the ICMP Echo Request IcmpID.
This method returns the ICMP Echo Request IcmpID. This is also known as the Application ID
The Application ID is either generated randomly or is the one that has been provided with Layer3.IcmpProtocol::Session.Add
Returns the (integer) value of the ICMP ID (Application ID)
Returns:
21764
Layer3.IcmpEchoSession::Remote.Address.Get |
Returns the ICMP Echo Request destination IPv4 address.
This method returns the IPv4 address which has been configured with Remote.Address.Set
ByteBlower.Session | When the destination IPv4 address was not yet configured |
Returns:
1.2.3.4
Layer3.IcmpEchoSession::Remote.Address.Set | ipv4Address | ||
Configure the destination IPv4 address.
This method configures the destination IPv4 address for our ICMP Echo packets
The destination IPv4 address defines to where the ICMP Echo Requests will be sent or from where ICMP Echo Responses are / were received.
ipv4Address | The Destination IPv4 Address for this session. |
<tcl_error> | Invalid IPv4 address: When the value could not be interpreted as an IPv4 address |
Layer3.IcmpEchoSession::Session.Info.Get |
Returns the session information.
This method returns the SessionInfo object.
The transmit loop is configured to transmit 12345 packets
Returns:
OID
Layer3.IcmpEchoSession::Ttl.Get |
Returns the current IPv4 time-to-live.
This method returns the current IPv4 TTL (time-to-live) for the ICMP Echo packets.
The TTL defines the maximum lifetime of an IPv4 (in this case ICMP) packet in the network. Every router that the packet passes decrements the TTL field in the packet. When the TTL reaches value 0 before it is delivered at its destination, it will be dropped. The router will respond to the sender with an ICMP packet type 11 (Time Exceeded).
Layer3.IcmpEchoSession::Ttl.Set | ttl | ||
Configures the IPv4 time-to-live.
This method configures the IPv4 TTL (time-to-live) for the ICMP Echo packets.
The TTL defines the maximum lifetime of an IPv4 (in this case ICMP) packet in the network. Every router that the packet passes decrements the TTL field in the packet. When the TTL reaches value 0 before it is delivered at its destination, it will be dropped. The router will respond to the sender with an ICMP packet type 11 (Time Exceeded).
ttl | The IPv4 TTL you wish to configure. Valid range: 0 to 255. |
<tcl_error> | bad lexical cast: When the value could not be interpreted as a valid integer |
ByteBlower.Protocol.InvalidValue | When the value is out of range |
Configure a TTL of 127 for the ICMP Request and Reply packets
Layer3.IcmpEchoSession::TypeOfService.Get |
Retrieves the 'Type Of Service' configuration of the IP layer.
This method returns a number from 0 up to 255. This value represents the the byte used at the IP layer.
Layer3.IcmpEchoSession::TypeOfService.Set |
Configures the 'Type Of Service' used at the IP layer.
The input accepts integers from 0 up to 255. This value will be directly used in byte-sized field at the IP layer. No additional coding is performed.
This method can be called solely during the configuration phase, thus before the parent ByteBlower port is started. Invoking the method at other moments will result in error.