summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2019-01-16 12:17:13 +0100
committerSander Vrijders <sander.vrijders@ugent.be>2019-01-16 13:16:06 +0100
commit1301757fa9ec4a942d8a5815c7e79d9146a5ffd8 (patch)
tree67a0aba30c447cce4e8b7996a31fcf9c28daf34d
parentdee6cbec255c3a8af7f79fd7e401d231a5cbbb93 (diff)
downloadouroboros-1301757fa9ec4a942d8a5815c7e79d9146a5ffd8.tar.gz
ouroboros-1301757fa9ec4a942d8a5815c7e79d9146a5ffd8.zip
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 <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
-rw-r--r--doc/man/flow_alloc.38
-rw-r--r--doc/man/ouroboros.871
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