(socket)
m (You have to use it if you have)
Line 10: Line 10:
  
 
=== You have to use it if you have ===
 
=== You have to use it if you have ===
* non-ehternet interfaces
+
* non-ethernet interfaces
 
* more then one interface for outgoing traffic (such as public + AMPR, or one for IPv4 and another one for IPv6)
 
* more then one interface for outgoing traffic (such as public + AMPR, or one for IPv4 and another one for IPv6)
 
* huge routing tables
 
* huge routing tables

Revision as of 19:52, 20 December 2019

UDPTX is BrandMeister-own UDP transmission library, used to transmit outgoing UDP traffic fast.

At this moment BrandMeister provides two backends (options) how to send outgoing UDP:

  • socket
  • raw

socket

This is standard default backend that uses Berkley sockets for sending a traffic. It tries to send the data in non-blocking mode and has special retransmisson thread to re-send failed packets.

You have to use it if you have

  • non-ethernet interfaces
  • more then one interface for outgoing traffic (such as public + AMPR, or one for IPv4 and another one for IPv6)
  • huge routing tables

Configuration

transmitter = "socket";

raw

This is fast forwarding backend that uses RAW socket of Ethernet interface for sending a traffic. It allows to save up to 25% CPU time.

Limitations

  • Requires to use a single ethernet interface for BrandMeister's traffic (IPv4 and IPv6, local connectivity will not work)
  • All traffic will be routed via default gateway (except loopback, see next bullet)
  • Loopback addresses (127.0.0.1 and ::1) are handled by using Berkley sockets

Configuration

transmitter = "raw:<interface name>";

transmitter = "raw:eth0";