Debugging Tip: Pinging ByteBlower ports
Posted by Pieter Vandercammen, Last modified by Craig Godbold on 29 November 2023 01:55 PM
Did you know you can ping a ByteBlower Port? This requires no extra configuration on your end, the port will respond to Ping requests as soon as it has an IP address.
Pinging a ByteBlower Port is especially helpful when debugging connectivity issues, this allows you to check where the ByteBlower Port is still reachable and from which link connectivity is lost.
In the examples below we use IPv4, this is of course also works in IPv6.
A ByteBlower Port is reachable with Ping as soon as the port has valid address in the Realtime View. This will becomes available very early in the configuration phase and remains so throughout the whole test run.
To increase the time for debugging, you can enable a pause between scenario configuration and test-run. Right before the test traffic starts, you'll receive the pop-up below.
When the issue is easily solved, you can still continue the test-run. From ByteBlower 2.11.4 on, the NAT entries will be kept alive until the test starts.
This pop-up is shown by default. To disable you can use checkbox. It can later be enabled again from the Preferences.
Finally to make debugging even easier It tends to help having a very minimal scenario: only enough to configure the ByteBlower Ports. To this end we suggest to disable NAT (Port View) and to use only TCP flows.
Pinging works just the same for the ByteBlower API: a ByteBlower Port pingable as soon as it has a proper IP address. As the example below shows, this the default behavior and requires no extra configuration.
More examples can be found via https://api.byteblower.com/
import byteblowerll.byteblower as byteblower api = byteblower.ByteBlower.InstanceGet() bb_server = api.ServerAdd('10.8.254.111') bb_port = bb_server.PortCreate('nontrunk-1') l2 = bb_port.Layer2EthIISet() l2.MacSet('00-bb-00-11-22-33') l3 = bb_port.Layer3IPv4Set() dhcp = l3.ProtocolDhcpGet() dhcp.Perform() print('ByteBlower Port is pingable on %s' % (l3.IpGet()))