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