Piglet Sensors

Overview


The Piglet is a powerful network monitoring application developed by RG Nets, specifically designed to be installed on a Raspberry Pi (3 or 4). Commonly referred to as a network sensor, the Piglet is a versatile tool aimed at providing comprehensive insights into network performance.

Deployment and Functionality
The Piglet is strategically deployed within a network south of the rXg. It is capable of running tests over both wired and wireless connections, with the results being sent back to the rXg. These results can either be reviewed directly via the rXg interface or trigger notifications to network administrators for further action.

Testing Capabilities
A Piglet can execute two primary types of tests:

1. Ping Tests

Purpose: Measure latency, jitter, and uptime. Targets: Can be directed towards a specified target over the wired connection of the Piglet or a specified wireless LAN.

2. Speed Tests

  1. Internet Based Speed Test: Perform a standard internet speed test by setting the destination to speedtest.net.
  2. iPerf3: Configure the Piglet to run speed tests using iPerf3 to a specified destination. The rXg includes a built-in iPerf server which can be used as a target for these tests, effectively evaluating the LAN infrastructure.

3. Trace Routes

Use Cases
The Piglet is an essential tool for a variety of network monitoring and validation tasks:

  1. Throughput and Reliability Testing: Assess the performance of downstream network infrastructure.
  2. Client Network Experience Measurement: Evaluate the actual network experience from any client location within the network.
  3. Policy and Segmentation Verification: Remotely confirm the effectiveness of network policies, segmentation, and routing. Particularly beneficial if there's a lack of complete trust in the downstream infrastructure.

WLAN-Scoping
The Piglet also supports WLAN-Scoping, which allows all aforementioned tests to be configured over a specified wireless network. This ensures that network administrators have continuous visibility into the performance of all wireless networks within the environment.

Environment


This document was written and tested using the following components from the RG Nets and Respberry Pi ecosystem.

Manufacturer Component Version
RG Nets rXg 13.2 - 15.513-47
RG Nets Piglet Build #60
RG Nets Boot Loader
Raspberry Pi Compute Module 4 Rev 1.1
Resoberry Pi 4 Model B 4 GB RAM

Hardware


Raspberry Pi

Version 1 - Raspberry Pi 4 Compute Module 4
Note: This version can be purchased directly from RG Nets. Product Code: Piglet-HW - No SD/USB Required

Internal Wireless Adapter: - PCIE to mPCIE adaptor - AX210 WiFi 6E Card

Version 2 - Raspberry Pi (3 or 4)
- Recommended to use a USB instead of SD card.
Samsung Bar Plus (USB 3.1 Flash Drive) 32 GB - Minimum 8 GB Memory

External Wireless Adapters: - Netgear AC 1200 A6210

Installation


Install Boot Loader Image (CM4)

To flash the eMCC directly you will need to run a provisioner on your local network and provide the boot loader image to the active project.

  1. To reprovision CM4 connect a USB cable between the provisioning server and the micro USB port of the Raspberry Pi Compute Module 4 IO Board.
  2. Put a jumper on the CM 4 IO Board.

This will cause the compute module to perform a USB boot, in which case the provisioning server will transfer the files of the utility OS over USB.

After the utility OS has booted, it will contact the provisioning server over Ethernet to receive further instructions, and download additional files (e.g. the OS image to be written to eMMC) as usual.

Install Boot Loader Image (Raspberry Pi 3 or 4)

Piglets rely on a compact boot loader that automates rXg server discovery. This boot loader also enables remote software updates for piglets, eliminating the need for physical intervention. It contains no inherent functionality aside from the ability to deploy images provided by the controller. Currently RG nets provides one full image but you can use the boot loader with any image that is supported by the Piglet hardware.

  1. Use a program such as Rufus (Windows) or balenaEtcher (MAC) to create a bootable USB or SD card with the boot loader image. It is recommended to use a USB drive.

Add a Piglet Image to the rXg

  1. Browse to Network >> Wireless >> Device Firmware
  2. Select "Create New" on the Device Firmware scaffold.

    a. Select a name for the record.
    b. Select "Choose File" and browse to the piglet image that you wish to upload. Alternatively, you can have the rXg fetch the image by providing a remote URL, username, and password.
  3. If you wish this image to be used as the default, you can check the "Default" field.
  4. Click "Create"

Note: rXg Device Firmware management can be used for other images that are compatible with Raspberry Pi such as WLAN Pi.

Configure the rXg for Piglet Discovery

  1. Browse to Network >> Wireless >> WLAN Controllers
  2. Select "Create New" on the WLAN Controllers scaffold.

    a. Select a name for the record.
    b. Set the Device Type to "Piglet".
    c. Set the host address to "127.0.0.1".
  3. Click "Create"

Approve Piglet and Select Default Image

When the piglet boots, it will automatically pull a DHCP address and discover the rXg.

  1. Browse to Network >> Wireless >> Access Points
  2. Edit the record for the newly discovered piglet.

  3. Select the desired "Device firmware".
  4. Click "Update".

  5. Click "Approve" on the appropriate row.

Configuration


Ping Tests

Ping tests can be scheduled to run from any approved piglet on either the wired or wireless connection.

  1. Browse to Instruments >> Network Monitor >> Ping Targets.
  2. Click "Create New" on the ping targets scaffold.

    a. Select a meaningful name for this target that accurately reflects the purpose.
    b. Select the destination address that you would like to have the piglet ping.
    c. Select wired to use the wired interface, or select a WLAN to use a wireless interface.
    d. Select the piglet and radio that the ping should source from.

Results

There are (2) methods that you can use to see the results being generated by the piglets:

1. Click "Graph" on the Ping Targets record scaffold.


2. Create a System Graph.

  1. Browse to Archives >> Reports >> System Graphs.
  2. Click "Create New" on the Systems Graphs scaffold.

    a. Select a meaningful name for this target that accurately reflects the purpose.
    b. Select which instrument you would like to graph. There are several that applicable to ping targets.
    c. Select the period to be used for data visualization.
    d. Select the data interval for the results to be grouped by.
    e. Select the ping target to be graphed.
  3. Click "Create"

Speed Tests

Speed tests can be scheduled to run from any approved piglet on either the wired or wireless connection.

  1. Browse to Instruments >> Network Monitor >> Speed Tests.
  2. Click "Create New" on the speed tests scaffold.

    a. Select a meaningful name for this target that accurately reflects the purpose.
    b. Select the type of speed test that you would like to run. You can select iperf 3 and then either choose from the following list of public targets or you can specify your own target. Alternatively, you can set the type to Speedtest.net and the rXg will automatically determine the closest server on the WAN and run a speed test against that server.
    c. If you selected iPerf3 in the previous step, and left Public iPerf3 target empty, you can designate an iPerf3 server here that exists on the WAN or LAN of the rXg.
    d. Select wired to use the wired interface, or select a WLAN to use a wireless interface.
    e. Select the piglet and radio that the speed test should source from.
    f. Select how frequently you would like the speed test to run.
  3. Click "Create"
    Note: An iperf server must exist prior to creating this test if using iPerf3 to the rXg gateway. More Information

Results

There are (2) methods that you can use to see the results being generated by the piglets:

1. Click "History" on the speed test record.

2. Browse to Instruments >> Network Monitor >> Speed Test Results

Trace Routes

Coming Soon...

Frequently Asked Questions


Q: Why would the piglet allow me to adopt it, but then not boot after downloading the piglet image.

Possible Answers:
- Most likely you are running a Raspberry Pi with insufficient memory. You should have a minimum of 8 GB of memory.
- Ensure that you have selected an image in the AP profile to be loaded to the piglet.

Q: How can I remotely reflash a piglet?
A: Change the fimware version in the AP profile for the piglet and then reboot.

Q: Can piglets be installed on remote networks?
A: Yes, by default the Piglet contacts its default gateway as the controller. In case the piglet is on a remote network from the controller you can tell it the IP address of the controller through a custom DHCP option.
Option 43: suboption 1, type text, data: the ip of the rXg controller
Note: The Piglet sends a Vendor Client Identifier (option 60) RG Nets


Cookies help us deliver our services. By using our services, you agree to our use of cookies.