diff options
Diffstat (limited to 'doc/man')
-rw-r--r-- | doc/man/fccntl.3 | 27 | ||||
-rw-r--r-- | doc/man/flow_alloc.3 | 9 | ||||
-rw-r--r-- | doc/man/flow_read.3 | 9 | ||||
-rw-r--r-- | doc/man/fqueue.3 | 9 | ||||
-rw-r--r-- | doc/man/fset.3 | 6 | ||||
-rw-r--r-- | doc/man/ouroboros-glossary.7 | 6 | ||||
-rw-r--r-- | doc/man/ouroboros-tutorial.7 | 6 | ||||
-rw-r--r-- | doc/man/ouroboros.8 | 102 |
8 files changed, 106 insertions, 68 deletions
diff --git a/doc/man/fccntl.3 b/doc/man/fccntl.3 index 87e23078..767342b9 100644 --- a/doc/man/fccntl.3 +++ b/doc/man/fccntl.3 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH FCCNTL 3 2018-10-04 Ouroboros "Ouroboros Programmer's Manual" @@ -40,8 +40,8 @@ disables the timeout. \fBFLOWGQOSSPEC\fR - retrieve the current QoS specification of the flow. Takes a \fBqosspec_t * \fIqs\fR as third argument. -\fBFLOWSFLAGS\fR - set flow flags. Takes flow flags as third -argument. Supported flags are: +\fBFLOWSFLAGS\fR - set flow flags. Takes flow \fBuint32_t\fR +\fIflags\fR as third argument. Supported flags are: .RS 8 \fIFLOWFRDONLY\fR - set flow to read-only. @@ -67,25 +67,30 @@ no partial writes). .RE -\fBFLOWGFLAGS\fR - get the current flow flags. Takes an \fBuint32_t +\fBFLOWGFLAGS\fR - get the current flow flags. Takes an \fBuint32_t * \fIflags\fR as third argument. \fBFLOWGRXQLEN\fR - get the current number of packets in the receive -buffer. Takes a \fBsize_t \fIqlen\fR as third argument. +buffer. Takes a \fBsize_t \fIqlen\fR * as third argument. \fBFLOWGTXQLEN\fR - get the current number of packets in the transmit -buffer. Takes a \fBsize_t \fIqlen\fR as third argument. +buffer. Takes a \fBsize_t \fIqlen\fR * as third argument. -\fBFRCTGFLAGS\fR - get the current flow flags. Takes an \fBuint16_t +\fBFRCTSFLAGS\fR - set the current flow flags. Takes an \fBuint16_t \fIflags\fR as third argument. Supported flags are: .RS 8 -\fIFRCTFRESCNTRL\fR - resource control enabled. +\fIFRCTFRESCNTL\fR - resource control enabled. + +\fIFRCTFRTX\fR - retransmission enabled. Cannot be modified and will +be ignored on set. -\fIFRCTFRTX\fR - retransmission enabled. +\fIFRCTFLINGER\fR - finish connection on flow deallocation. .RE +\fBFRCTGFLAGS\fR - get the current flow flags. Takes an \fBuint16_t * +\fIflags\fR as third argument. .SH RETURN VALUE diff --git a/doc/man/flow_alloc.3 b/doc/man/flow_alloc.3 index 1dfc34fe..dbe5323c 100644 --- a/doc/man/flow_alloc.3 +++ b/doc/man/flow_alloc.3 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH FLOW_ALLOC 3 2018-10-05 Ouroboros "Ouroboros Programmer's Manual" @@ -59,7 +59,8 @@ The \fBflow_join\fR() function allows applications to join a broadcast flow provided by a broadcast layer. The dst is the layer name. The \fBflow_dealloc\fR() function will release any resources -associated with the flow. +associated with the flow. This call may block and keep reliable flows +active until all packets are acknowledged. A \fBqosspec_t\fR specifies the following QoS characteristics of a flow: diff --git a/doc/man/flow_read.3 b/doc/man/flow_read.3 index 1a6c8eaf..acc1f61e 100644 --- a/doc/man/flow_read.3 +++ b/doc/man/flow_read.3 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH FLOW_READ 3 2017-04-10 Ouroboros "Ouroboros Programmer's Manual" @@ -58,6 +58,9 @@ The flow was not allocated. .B -EFLOWDOWN The flow has been reported down. +.B -EFLOWPEER +The flow's peer is unresponsive (flow timed out). + .B -EMSGSIZE The buffer was too large to be written. diff --git a/doc/man/fqueue.3 b/doc/man/fqueue.3 index cbc8ee4e..72a0bc25 100644 --- a/doc/man/fqueue.3 +++ b/doc/man/fqueue.3 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH FQUEUE 3 2017-08-29 Ouroboros "Ouroboros Programmer's Manual" @@ -68,8 +68,7 @@ On success, \fBfqueue_create\fR() returns a pointer to an \fBfqueue_destroy\fR() has no return value. -On success, \fBfevent\fR() returns the number of events that occured -in \fIset\fR. +On success, \fBfevent\fR() returns 1. On success, \fBfqueue_next\fR() returns the next file descriptor for which an event occurred. diff --git a/doc/man/fset.3 b/doc/man/fset.3 index 6d1da6c7..87a7dc87 100644 --- a/doc/man/fset.3 +++ b/doc/man/fset.3 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH FSET 3 2017-04-10 Ouroboros "Ouroboros Programmer's Manual" diff --git a/doc/man/ouroboros-glossary.7 b/doc/man/ouroboros-glossary.7 index 65af7a53..1f7ad882 100644 --- a/doc/man/ouroboros-glossary.7 +++ b/doc/man/ouroboros-glossary.7 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH OUROBOROS-GLOSSARY 7 2017-12-02 Ouroboros "Ouroboros User Manual" diff --git a/doc/man/ouroboros-tutorial.7 b/doc/man/ouroboros-tutorial.7 index 416bf72d..1fc02a02 100644 --- a/doc/man/ouroboros-tutorial.7 +++ b/doc/man/ouroboros-tutorial.7 @@ -1,6 +1,6 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> .TH OUROBOROS-TUTORIAL 7 2018-10-05 Ouroboros "Ouroboros User Manual" diff --git a/doc/man/ouroboros.8 b/doc/man/ouroboros.8 index 0958f615..5d3d9475 100644 --- a/doc/man/ouroboros.8 +++ b/doc/man/ouroboros.8 @@ -1,8 +1,8 @@ -.\" Ouroboros man pages CC-BY 2017 - 2020 -.\" Dimitri Staessens <dimitri.staessens@ugent.be> -.\" Sander Vrijders <sander.vrijders@ugent.be> +.\" Ouroboros man pages CC-BY 2017 - 2024 +.\" Dimitri Staessens <dimitri@ouroboros.rocks> +.\" Sander Vrijders <sander@ouroboros.rocks> -.TH OUROBOROS 8 2018-03-10 Ouroboros "Ouroboros User Manual" +.TH OUROBOROS 8 2020-11-29 Ouroboros "Ouroboros User Manual" .SH NAME @@ -99,10 +99,9 @@ In order to enroll an IPC process in a layer, some other member will have to be reachable over a lower layer. IPCPs that wrap a legacy transmission technology are all bootstrapped and thus need not enroll as they work directly over a physical connection. Ouroboros currently -supports IPCPs over shared memory (local), L1 (raptor, experimental), -L2 (eth-llc and eth-dix) and L3 (udp). The unicast and broadcast -layers require connections to be established between IPCP components -for its operation. +supports IPCPs over shared memory (local), L2 (eth-llc and eth-dix) +and L3 (udp). The unicast and broadcast layers require connections to +be established between IPCP components for its operation. \fBConnecting the management components\fR using \fImanagement flows\fR allows management information to be sent between IPCPs so @@ -124,13 +123,13 @@ creates an IPCP process of type \fItype\fR in the system with name .PP \fBlocal\fR - create a loopback IPCP. .PP -\fBraptor\fR - create an IPCP that attaches to a raptor NetFPGA device. -.PP \fBeth-llc\fR - create an IPCP that attaches to Ethernet using LLC frames. .PP \fBeth-dix\fR - create an IPCP that attaches to Ethernet using DIX frames. .PP -\fBudp\fR - create an IPCP that attaches to a UDP socket. +\fBudp4\fR - create an IPCP that attaches to a UDP/IPv4 socket. +.PP +\fBudp6\fR - create an IPCP that attaches to a UDP/IPv6 socket. .PP \fBunicast\fR - create a unicast IPCP that uses lower level layers. .PP @@ -162,16 +161,6 @@ Values for [\fIparam\fR] are dependent on \fItype\fR: default: SHA3_256. .RE -\fBraptor\fR -.RS 4 -.PP -[hash \fIpolicy\fR] specifies the hash function used for the directory, -.br -\fIpolicy\fR: SHA3_224, SHA3_256, SHA3_384, SHA3_512. -.br -default: SHA3_256. -.RE - .PP \fBeth-llc\fR .RS 4 @@ -203,23 +192,35 @@ default: SHA3_256. .RE .PP -\fBudp\fR +\fBudp4\fR .RS 4 .PP -ip \fIip\fR specifies the local IP address to bind to +ip \fIip\fR specifies the local IPv4 address to bind to .PP -[dns \fdns\fR] specifies an optional DDNS server that will be used for +[dns \fIdns\fR] specifies an optional DDNS server that will be used for the directory. .PP -[cport \fcport\fR] specifies a client UDP port that will be used for -sending packets. +[port \fIport\fR] specifies a UDP port that is used for sending and +receiving ouroboros traffic. This must be the same for the entire UDP4 +layer. Parallel UDP4 layers should use different ports. This UDP port +needs to be forwarded if the server is behind a NAT and wants to +receive incoming requests. .br -default: A random UDP port in the ephemeral range +default: 3435 +.RE + +.PP +\fBudp6\fR +.RS 4 .PP -[sport \fsport\fR] specifies a server UDP port that is used for -receiving ouroboros traffic. This must be the same for the entire UDP -layer. Parallel UDP layers should use different ports. This UDP port -needs to be forwarded if the server is behind a NAT. +ip \fIip\fR specifies the local IPv6 address to bind to +.PP +[dns \fIdns\fR] specifies an optional DDNS server that will be used for +the directory. +.PP +[port \fIport\fR] specifies a UDP port that is used for sending and +receiving ouroboros traffic. This must be the same for the entire UDP6 +layer. Parallel UDP6 layers should use different ports. .br default: 3435 .RE @@ -247,11 +248,29 @@ default: flat. .PP [routing \fIpolicy\fR] specifies the routing policy. .br -\fIpolicy\fR: link_state, lfa. +\fIpolicy\fR: +.RS 4 +link_state: default shortest-path link-state routing. +.br +lfa: loop-free alternate resilient routing. +.br +ecmp: equal-cost multipath routing. +.RE .br default: link_state. .PP -[hash \fIpolicy\fR] specifies the hash function used for the directory, +[congestion \fIpolicy\fR] specifies the congestion avoidance policy. +.br +\fIpolicy\fR: +.RS 4 +none: no congestion avoidance. +.br +mb-ecn: Multi-bit explicit congestion notification and avoidance. +.RE +.br +default: mb-ecn. +.PP +[hash \fIpolicy\fR] specifies the hash function used for the directory. .br \fIpolicy\fR: SHA3_224, SHA3_256, SHA3_384, SHA3_512. .br @@ -265,7 +284,7 @@ name and the layer name. \fBbroadcast\fR .RS 4 .PP -[hash \fIpolicy\fR] specifies the hash function used for the layer name, +[hash \fIpolicy\fR] specifies the hash function used for the layer name. .br \fIpolicy\fR: SHA3_224, SHA3_256, SHA3_384, SHA3_512. .br @@ -369,12 +388,23 @@ not accept future flow allocation requests for \fIname\fR. .SH IRM NAME COMMANDS .PP -\fBirm name create \fIname\fR \fIlb\fR policy +\fBirm name create \fIname\fR lb \fIpolicy\fR +[sencpath \fI/path/to/server/enc.cfg\fR] +[scrtpath \fI/path/to/server/crt.pem\fR] +[skeypath \fI/path/to/server/key.pem\fR] + +[cencpath \fI/path/to/client/enc.cfg\fR] +[ccrtpath \fI/path/to/client/crt.pem\fR] +[ckeypath \fI/path/to/client/key.pem\fR] .RS 4 -Create a name \fIname\fR with a load-balancing policy +Create a name \fIname\fR with a load-balancing policy and security credentials .br \fIpolicy\fR: round-robin, spillover .br +\fI/path/to/enc.cfg\fR: The path to the server and client encryption configuration. +\fI/path/to/pem\fR: The path to the server and client certificates and +private keys, in pem format. +.br .RE .PP |