|
| | jringdrive (bool listen, int port, ProtocolPP::protocol_t prot, ProtocolPP::iana_t lvl3, ProtocolPP::protocol_t lvl2, bool lvl3_sec, std::string &host, uint64_t seed, ProtocolPP::endian_t endianess, std::shared_ptr< InterfacePP::jmmu > &mmu, std::shared_ptr< InterfacePP::jlogger > &logger, std::shared_ptr< InterfacePP::jring< InterfacePP::ringin >> &iring, std::shared_ptr< InterfacePP::jring< InterfacePP::ringout >> &oring) |
| |
|
virtual | ~jringdrive () |
| | standard deconstructor
|
| |
| uint64_t | write_mem (uint8_t *data, uint32_t length) |
| |
| void | send () |
| |
| void | receive () |
| |
| uint32_t | get_status (std::string &packet) |
| |
|
void | teardown () |
| | terminate the driver
|
| |
|
| jringdrive (jringdrive &rhs)=delete |
| |
|
| jringdrive (const jringdrive &rhs)=delete |
| |
◆ jringdrive()
| DriverPP::jringdrive::jringdrive |
( |
bool |
listen, |
|
|
int |
port, |
|
|
ProtocolPP::protocol_t |
prot, |
|
|
ProtocolPP::iana_t |
lvl3, |
|
|
ProtocolPP::protocol_t |
lvl2, |
|
|
bool |
lvl3_sec, |
|
|
std::string & |
host, |
|
|
uint64_t |
seed, |
|
|
ProtocolPP::endian_t |
endianess, |
|
|
std::shared_ptr< InterfacePP::jmmu > & |
mmu, |
|
|
std::shared_ptr< InterfacePP::jlogger > & |
logger, |
|
|
std::shared_ptr< InterfacePP::jring< InterfacePP::ringin >> & |
iring, |
|
|
std::shared_ptr< InterfacePP::jring< InterfacePP::ringout >> & |
oring |
|
) |
| |
jringdrive uses protocol++ to drive packets into a ring which can then be read by any device that supports a ring. Application layer protocols supported are TLS, SRTP, TCP, and UDP
- Parameters
-
| listen | - if set to true, configures to listen on the port specified |
| port | - port number |
| prot | - transport or application level protocol (TCP, UDP, TLS, SRTP) |
| lvl3 | - network layer protocol (IPV4, IPV6) |
| lvl2 | - data-link layer protocol (MACSEC, WIFI, WIMAX, LTE) |
| lvl3_sec | - Enable ESP for network level |
| host | - string of the host name (or IP Address in standard byte format XXX.XXX.XXX...) |
| seed | - seed for the randomizer |
| mmu | - tracks dynamic memory |
| logger | - object for writing |
| iring | - Software ring for the input packets |
| oring | - Software ring for the output packets |
| endianess | - Endianess of the platform to support |
◆ get_status()
| uint32_t DriverPP::jringdrive::get_status |
( |
std::string & |
packet | ) |
|
retrieve the status word
- Returns
- - status of the indicated packet
◆ receive()
| void DriverPP::jringdrive::receive |
( |
| ) |
|
Receive function for the driver, must be called from a separate thread
◆ send()
| void DriverPP::jringdrive::send |
( |
| ) |
|
Send function for the driver must be called from a separate thread
◆ write_mem()
| uint64_t DriverPP::jringdrive::write_mem |
( |
uint8_t * |
data, |
|
|
uint32_t |
length |
|
) |
| |
Write function to overload in your testbench
- Parameters
-
| data | - Data to write to memory |
| length | - length of data to write |
- Returns
- address - Address data written to
The documentation for this class was generated from the following file:
- drivers/include/jringdrive.h