Network Configuration How To Guide
The purpose of this how-to guide is to configure the network your Per Vices Crimson TNG or Cyan SDR device is on. Your SDR device boasts several network ports: the management (MGMT) port(s) is used to configure the device, and the SPF+ ports are used to send data. The operating system used in configuring the device used here is Arch Linux. We will cover the following:
- Part 1: Identifying the Network Interfaces
- Part 2: Configure Interfaces
- Part 3: Confirm Routing Table Configuration
- Part 4: Configuring Firewalls
- Part 5: Testing the Configuration
- Part 6: Making the Configuration Persistent
- Part 7: Troubleshooting
For a visual guide of the overall configuration procedure, see figure shown below:
Figure 1: Overall Network Port Configuration Procedure
If you would like to configure a custom Crimson TNG or Cyan MGMT IP address using [how to configure a custom management IP address](../../how-to/pvht-6-customip/), you will need to reflect these changes when following this network configuration how to guide.
Part 1: Identifying the Network Interfaces
The first part of this how-to guide is to identify that your host system’s network interfaces map to the physical ports (MGMT, Data SFP+ ports) on your Per Vices SDR transceiver (Crimson TNG, Cyan, custom). The following is how to ensure that the MGMT and SFP+ physical ports are correctly identified by your host systems network interface card (NIC). Two methods to do this are shown below.
1.1. Visual Identification by Blinking
The first method is to use software called ethtool. However, your NIC may not be supported by this, and you will have to use the steps in 1.2.
You will need to download and install [ethtool](https://mirrors.edge.kernel.org/pub/software/network/ethtool/). You should be able to install ethtool using your distribution specific package manager.
In case you ever unplug the unit, you may want to write down the information obtained using the below procedure on a piece of tape, and stick it to the host system so you always know which interface maps to which port on the Crimson TNG or Cyan device.
You will first need to identify all the interfaces on your host system. This can be accomplished using the following command in a Linux console:
Each interface will be prefixed by “en” after running the above command.
$ ip link show
Next, you can check which interface from the host system corresponds to what physical port using ethtool. Use the following command to do this:
$ sudo ethtool -p <interface> 120
The interface which you specified should now blink on your host system for 2 minutes. Once you have identified this physical interface, you can connect the ethernet cable from it to the desired port on your Per Vices SDR, and make note of interface name.
1.2. Visual Identification by LED
The second method is to use trial and error to ensure the correct network interfaces are identified. The following steps should be taken to ensure this:
Power on your Crimson TNG
Wait for the unit to fully boot (all LEDS are solid green)
For each management and data cable, do the following steps in sequence, in order to uniquely identify the cable you have attached from the host system to the desired port:
a. Identify all the interfaces and test via interfaces:
You will first need to identify all the interfaces on your host system. This can be accomplished using the following command in a Linux console: ``` bash $ ip link show ``` Each interface will be prefixed by "en" after running the above command. Type the following command: ``` bash $ sudo ip link set up <interface> ```
b. Wait 10 seconds
c. See whether the LED is turned on your host systems NIC
d. Then, type the following command:
$ sudo ip link set down <interface>
e. See whether the LED is turned off on the host system NICs
f. If the LED turns on and off when you enable/disable (up/down) the interface, then you have correctly located the interface.
Move onto the next interface, beginning from 3.
Part 2: Configure Interfaces
2.1. Adding an IP Address, Subnet Mask and Broadcast Address
You are able to add an IP address, subnet mask and broadcast address to an interface on your host system using the following commands:
The default IP addresses of the ports on the Crimson TNG device can be found in Table 1.
The suggested host interface specifications for Crimson TNG are located in Table 2.
$ sudo ip address add <IP_address/prefix_len> broadcast + dev <interface>
For example, below we are configuring the SPF+ A port/cable on Crimson TNG to the suggested host IP address/prefix_len (10.10.10.10/24) using the network adapter (enp1s0f0).
$ sudo ip address add 10.10.10.10/24 broadcast + dev enp1s0f0
where the + is a special symbol that derives the broadcast address from the IP address and the subnet mask automatically.
Alternatively, for Ubuntu users, this can also be accomplished with the GUI by going into network settings, as shown in Figure 2 below:
Figure 2: Ubuntu Network Settings.
From there, you can click on the desired Ethernet port you intend to configure, and then put the correct Address, Netmask and Gateway values, as shown in Figure 3 below:
Figure 3: Configuring Ubuntu Network for Crimson TNG.
2.2. Configuring the Correct MTU
Next, set the maximum transmission unit (MTU). This is an important step; without properly setting the MTU, transmission will not work properly. Use the following command to do so:
You will need to repeat this for other SFP+ devices depending on which SDR device you are configuring.
$ sudo ip link set mtu 9000 dev <SFP+ A Interface>
$ sudo ip link set mtu 9000 dev <SFP+ B Interface>
2.3. Further Reading
Part 3: Confirm Routing Table Configuration
3.1. Confirming Routing Table
We will now confirm that the IP addresses have the correct genmask and are mapped to the correct interface on your host machine. We also will see that the genmask and interface all align to default values in Table 1 for Crimson TNG or Table 1 for Cyan. Run the following command to confirm this:
$ sudo route
The figure below is similar to what you should see in your terminal when running the above command.
Figure 2: Routing Table
Using the example in 2.1., what we are looking for on the table is that there exists a default destination and gateway, and that the IP Destination is appropriate for the management and data IP addresses, that the Genmask is 255.255.255.0 and that the Iface matches the network adapter specificied. You will need to ensure this for all the MGMT and SFP+ ports/cables coming from the unit.
3.2. Further Reading
More information on this can be found in the following Arch Linux wiki page.
Part 4: Configuring Firewall (Optional)
Part 5: Testing the Configuration
To ensure all the above changes were made correctly, you can ping test the MGMT and SFP+ ports, as shown here: ping test.
Part 6: Making the Configuration Persistent
To make the configuration persistent such that the configuration of the IP address of your host system’s NIC and Per Vices SDR device remains after rebooting, you will need to follow distribution specific instructions.
For instructions specific to Arch Linux, you can read more on their appropriate wiki for the Arch Linux network manager.
Part 7. Troubleshooting
If you made a mistake in configuring the IP addresses of the MGMT and/or SFP+ data ports connected to the SDR, and you want to start again, you can flush all IP addresses associated with an interface using the following command:
$ sudo ip address flush dev <interface>