1\section{Ad-hoc On-Demand Distance Vector Routing (AODV)}
2
3
4AODV is a reactive routing protocol for mobile ad-hoc networks
5(MANETs). Its best fit are especially ultra-low power radio networks, 
6or those RF topologies where sporadic traffic between a small specific set
7of nodes is foreseen.
8In order to create a route, one node must explicitly start the communication
9towards a remote node, and the route is created ad-hoc upon the demand
10for a specific network path.
11AODV guarantees that the traffic generated by each node in order to create
12and maintain routes is kept as low as possible.
13
14\subsection{pico\_aodv\_add}
15
16\subsubsection*{Description}
17This function will add the target device to the AODV mechanism on the machine, 
18meaning that it will be possible to advertise and collect routing information 
19using Ad-hoc On-Demand Distance Vector Routing, as described in RFC3561, through the
20target device.
21
22In order to use multiple devices in the AODV system, this function needs to be called
23multiple times, once per device.
24
25\subsubsection*{Function prototype}
26\texttt{pico\_aodv\_add(struct pico\_device *dev);}
27
28\subsubsection*{Parameters}
29\begin{itemize}[noitemsep]
30\item \texttt{dev} - a pointer to a struct \texttt{pico\_device} specifying the target interface.
31\end{itemize}
32
33\subsubsection*{Return value}
340 returned if the device is successfully added.
35
36\subsubsection*{Example}
37\begin{verbatim}
38
39ret = pico_aodv_add(dev);
40
41\end{verbatim}
42
43