From 1301757fa9ec4a942d8a5815c7e79d9146a5ffd8 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Wed, 16 Jan 2019 12:17:13 +0100 Subject: doc: Update man page for broadcast IPCPs The Ouroboros man page will now include broadcast IPCPs and are updated to reflect the latest API. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- doc/man/flow_alloc.3 | 8 ++++++ doc/man/ouroboros.8 | 71 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 22 deletions(-) diff --git a/doc/man/flow_alloc.3 b/doc/man/flow_alloc.3 index 8a21eda8..ecebd98f 100644 --- a/doc/man/flow_alloc.3 +++ b/doc/man/flow_alloc.3 @@ -19,6 +19,9 @@ const struct timespec * \fItimeo\fB); int flow_alloc(const char * \fIdst_name\fB, qosspec_t * \fIqs\fB, const struct timespec * \fItimeo\fB); +int flow_join(const char * \fIdst_name\fB, qosspec_t * \fIqs\fB, const +struct timespec * \fItimeo\fB); + \fBint flow_dealloc(int \fIfd\fB);\fR Compile and link with \fI-louroboros-dev\fR. @@ -52,6 +55,9 @@ The \fBflow_accept\fR() and \fBflow_alloc\fR() take a \fBconst struct timespec * \fItimeo\fR to specify a timeout. If \fItimeo\fR is NULL, the call will block indefinitely or until some error condition occurs. +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. @@ -102,6 +108,8 @@ _ _ \fBflow_alloc\fR() & Thread safety & MT-Safe _ +\fBflow_join\fR() & Thread safety & MT-Safe +_ \fBflow_dealloc\fR() & Thread safety & MT-Safe .TE diff --git a/doc/man/ouroboros.8 b/doc/man/ouroboros.8 index 95d17a05..5918d0c6 100644 --- a/doc/man/ouroboros.8 +++ b/doc/man/ouroboros.8 @@ -90,7 +90,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. @@ -99,9 +99,9 @@ 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. +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,19 @@ 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. +\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. +\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. +\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. +\fBudp\fR - create an IPCP that attaches to a UDP socket. .PP -\fBnormal\fR - create a normal IPCP that uses lower level layers. +\fBunicast\fR - create a unicast IPCP that uses lower level layers. +.PP +\fBbroadcast\fR - create a broadcast IPCP that uses lower level layers. .RE .PP @@ -172,6 +174,7 @@ default: SHA3_256. .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 +187,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 +204,17 @@ default: SHA3_256. .PP \fBudp\fR .RS 4 +.PP ip \fIip\fR specifies the local IP address to bind to - +.PP [dns \fdns\fR] specifies an optional DDNS server that will be used for the directory. .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. @@ -244,15 +250,36 @@ default: simple. .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 +287,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 -- cgit v1.2.3