OSNT_DUALSPEED - NetFPGA/OSNT-Public GitHub Wiki

Location

osnt/code/projects/osnt_dualspeed

IP Cores

Description

This is the combination of the [OSNT Traffic Generator](OSNT Traffic Generator) and [OSNT Traffic Monitor](OSNT Traffic Monitor) features into single FPGA device and single card. Using high-precision timestamping of departing and arriving packets, we can perform full line-rate, per-flow characterization of a network (device) under test. This project is a variation of OSNT project in terms of port speed. Port 0 (the one nearest to the PCI-e) and Port 1 are set as 1G interfaces, while the others as 10G ones.

Setup of the Project

Once you download the bitfile located in osnt/code/projects/osnt_dualspeed/bitfiles/ you need also to program the interfaces correctly. To do so, please use the application ael2005_conf located in osnt/code/osnt_sw/apps/utilities/interface_init and follow the instructions to set Port0 and Port1 in 1G mode, while Port2 and Port3 in 10G mode.

Enabling the TX Timestamp Feauture:

Enabling the TX TIMESTAMP feature can be done from the Generator CLI located in ~/OSNT/code/osnt_sw/apps/tools/osnt_generator/cli_dualspeed . Once enabled, part of the packet data to be transmitted is being overwritten with the following information:

  • Static Signature: 0xdeadbeef
  • Packet counter (32 bit)
  • TX Timestamp (64 bit)

The system inserts the information at the requested offset (The value provided in the TX Timestamp offset register is multiplied by 32 to select the exact location in the packets in terms of bit)

Important information

The actual generation GUI (located in osnt/code/osnt_sw/apps/osnt_gui) can be used also for this project. Please, remember to ENABLE the rate limiter for port0 and port1 since they are 1G and not 10G as in the standard OSNT project).