Pinging a ByteBlower port

Introduction

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 working in IPv6.

ByteBlower GUI

ByteBlower Port is reachable with Ping as soon as the port has a valid address in the Realtime View. This will become available very early in the configuration phase and remain 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, 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 disabling NAT (Port View) and using only TCP flows.

ByteBlower API

Pinging works just the same for the ByteBlower API: a ByteBlower Port is pingable as soon as it has a proper IP address. As the example below shows, this is 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()))