diff options
Diffstat (limited to 'doc/man/ouroboros.8')
| -rw-r--r-- | doc/man/ouroboros.8 | 161 |
1 files changed, 110 insertions, 51 deletions
diff --git a/doc/man/ouroboros.8 b/doc/man/ouroboros.8 index 95d17a05..df328fcc 100644 --- a/doc/man/ouroboros.8 +++ b/doc/man/ouroboros.8 @@ -1,8 +1,8 @@ -.\" Ouroboros man pages CC-BY 2017 - 2018 -.\" 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 @@ -36,9 +36,9 @@ superuser): $ irmd -or, if your system uses systemd, the IRM can be started as a service: +or, if your system uses systemd, Ouroboros can be started as a service: -$ systemctl start irmd +$ systemctl start ouroboros When started from the command line, the IRM has the following options: .PP @@ -69,7 +69,8 @@ order. certain \fIprogram\fR or \fIprocess\fR will respond to \fIflow allocation\fR requests for the bound name. Multiple programs and processes can be bound to the same name, and a program or process can -be bound to multiple names. +be bound to multiple names. This only works for programs that use the +Ouroboros API. \fBCreating an IPC Process\fR will instantiate a new IPCP in the system. This IPCP will be empty, with only a name and type specified, @@ -90,7 +91,7 @@ may not have connections to the layer. layer, the name can be used as a destination handle for \fIflow allocation\fR. -Ouroboros normal IPCPs are just like any other process, and will need +Ouroboros unicast IPCPs are just like any other process, and will need to be bound and registered in a lower-rank layer before they can be accessed by other processes. @@ -98,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 normal layer requires -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 @@ -121,17 +121,17 @@ that rely on data transfer flows are the \fIdirectory\fR and the creates an IPCP process of type \fItype\fR in the system with name \fIname\fR. Allowable values for \fItype\fR are: .PP -\fBlocal\fR - create a loopback IPCP. +\fBlocal\fR - create a loopback IPCP. .PP -\fBraptor\fR - create an IPCP that attaches to a raptor NetFPGA device. +\fBeth-llc\fR - create an IPCP that attaches to Ethernet using LLC frames. .PP -\fBeth-llc\fR - create an IPCP that attaches to Ethernet using LLC frames. +\fBeth-dix\fR - create an IPCP that attaches to Ethernet using DIX frames. .PP -\fBeth-dix\fR - create an IPCP that attaches to Ethernet using DIX frames. +\fBudp\fR - create an IPCP that attaches to a UDP socket. .PP -\fBudp\fR - create an IPCP that attaches to a UDP socket. +\fBunicast\fR - create a unicast IPCP that uses lower level layers. .PP -\fBnormal\fR - create a normal IPCP that uses lower level layers. +\fBbroadcast\fR - create a broadcast IPCP that uses lower level layers. .RE .PP @@ -159,19 +159,10 @@ 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 +.PP dev \fIinterface\fR specifies the interface to bind the IPCP to. .PP [hash \fIpolicy\fR] specifies the hash function used for the directory, @@ -184,6 +175,7 @@ default: SHA3_256. .PP \fBeth-dix\fR .RS 4 +.PP dev \fIinterface\fR specifies the interface to bind the IPCP to. .PP [ethertype \fIethertype\fR] specifies the ethertype used for the layer. @@ -200,15 +192,25 @@ default: SHA3_256. .PP \fBudp\fR .RS 4 +.PP ip \fIip\fR specifies the local IP address to bind to - -[dns \fdns\fR] specifies an optional DDNS server that will be used for +.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 UDP +layer. Parallel UDP 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: 3435 .RE .PP -\fBnormal\fR +\fBunicast\fR .RS 4 +.PP [addr \fIaddress_size\fR] specifies the size of an address in bytes. .br default: 4 bytes. @@ -228,31 +230,64 @@ 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 -[pff \fIpolicy\fR] specifies the pdu forwarding function policy. +[congestion \fIpolicy\fR] specifies the congestion avoidance policy. .br -\fIpolicy\fR: simple, alternate. +\fIpolicy\fR: +.RS 4 +none: no congestion avoidance. +.br +mb-ecn: Multi-bit explicit congestion notification and avoidance. +.RE .br -default: simple. +default: mb-ecn. .PP -[hash \fIpolicy\fR] specifies the hash function used for the directory, +[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. .PP -[autobind] will automatically bind a normal IPCP to its name and the layer name. +[autobind] will automatically bind a unicast or broadcast IPCP to its +name and the layer name. +.RE + +.PP +\fBbroadcast\fR +.RS 4 +.PP +[hash \fIpolicy\fR] specifies the hash function used for the layer name. +.br +\fIpolicy\fR: SHA3_224, SHA3_256, SHA3_384, SHA3_512. +.br +default: SHA3_256. .RE .RE .PP -\fBirm ipcp enroll\fR name \fIname\fR layer \fIlayer\fR [\fIautobind\fR] +\fBirm ipcp enroll\fR name \fIname\fR [type \fItype\fR] [dst \fIdst\fR] \ +[layer \fIlayer\fR] [\fIautobind\fR] .RS 4 -enrolls a normal IPCP \fIname\fR to a layer for which the IPCPs accept flows for -\fIname\fR. +enrolls a unicast ot broadcast IPCP \fIname\fR with a dst IPCP into a +layer. Either dst or layer need to be specified. +.PP +[type \fItype\fR] specifies the IPCP type (unicast or broadcast). +.PP +[dst \fIdst\fR] specifies the destination name to enroll with +.PP +[layer \fIlayer\fR] specifies the name of the layer. Only specifying +the layer name is a shorthand for the destination name being the same +as the layer name. .PP [autobind] will automatically bind this IPCP to its name and the layer name. .RE @@ -260,17 +295,17 @@ enrolls a normal IPCP \fIname\fR to a layer for which the IPCPs accept flows for \fBirm ipcp connect\fR name \fIname\fR component \fIcomponent\fR dst \fIdestination\fR .RS 4 -connects a \fIcomponent\fR (\fBdt\fR or \fBmgmt\fR) of a normal IPCP -with name \fIname\fR to that component of the destination IPCP within the -same layer. +connects a \fIcomponent\fR (\fBdt\fR or \fBmgmt\fR) of a unicast or +broadcast IPCP with name \fIname\fR to that component of the +destination IPCP within the same layer. .RE \fBirm ipcp disconnect\fR name \fIname\fR component \fIcomponent\fR dst \fIdestination\fR .RS 4 -disconnects \fIcomponent\fR (\fBdt\fR or \fBmgmt\fR) of a normal IPCP -with name \fIname\fR from that component of the destination IPCP within the -same layer. +disconnects \fIcomponent\fR (\fBdt\fR or \fBmgmt\fR) of a unicast or +broadcast IPCP with name \fIname\fR from that component of the +destination IPCP within the same layer. .RE \fBirm ipcp list\fR type \fItype\fR name \fIname\fR layer \fIlayer\fR @@ -279,7 +314,7 @@ lists IPCPs in the system. You can filter by type, by name or by layer. .RE .RE -.SH IRM COMMANDS +.SH IRM BIND COMMANDS .PP \fBirm bind\fR program \fiprogram\fR name \fIname\fR [[\fIauto\fR] -- \ [\fIparam\fR] [\fIparam\fR] ... [\fIparam\fR]] @@ -333,20 +368,44 @@ remove the binding between \fIipcp\fR and \fIname\fR. This IPCP will not accept future flow allocation requests for \fIname\fR. .RE +.SH IRM NAME COMMANDS +.PP +\fBirm name create \fIname\fR \fIlb\fR policy +.RS 4 +Create a name \fIname\fR with a load-balancing policy +.br +\fIpolicy\fR: round-robin, spillover +.br +.RE + .PP -\fBirm reg\fR name \fIname\fR \fIipcp\fR ipcp [\fIipcp\fR ...] +\fBirm name destroy \fIname\fR +.RS 4 +Destroy name \fIname\fR. This does not unregister or unbind it. +.RE + +.PP +\fBirm name register \fIname\fR \fIipcp\fR ipcp [\fIipcp\fR ...] layer [layer \fIlayer\fR ...] .RS 4 Register name \fIname\fR in ipcps \fIipcp\fR ipcp and layers \fIlayer\fR. .RE .PP -\fBirm unreg\fR name \fIname\fR \fIipcp\fR ipcp [\fIipcp\fR ...] +\fBirm name unregister \fIname\fR \fIipcp\fR ipcp [\fIipcp\fR ...] layer [layer \fIlayer\fR ...] .RS 4 Unregister name \fIname\fR in ipcps \fIipcp\fR ipcp and layers \fIlayer\fR. .RE +.PP +\fBirm name list \fIname\fR +.RS 4 +List names in the system. \fIname\fR can be used as a prefix to filter +the names. +.RE + + .SH TERMINOLOGY Please see \fBouroboros-glossary\fR(7). @@ -355,14 +414,14 @@ Ouroboros was started and is currently maintained by Dimitri Staessens and Sander Vrijders. .SH REPORTING BUGS -Report bugs on the bugzilla tracker at https://ouroboros.ilabt.imec.be/bugzilla +Report bugs on the bugzilla tracker at https://ouroboros.rocks/bugzilla .SH SEE ALSO .BR flow_alloc "(3), " ouroboros-tutorial "(7), " ouroboros-glossary (7) .SH COLOPHON This page is part of the Ouroboros project, found at -http://ouroboros.ilabt.imec.be +http://ouroboros.rocks These man pages are licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit |
