\section{Ad-hoc On-Demand Distance Vector Routing (AODV)} AODV is a reactive routing protocol for mobile ad-hoc networks (MANETs). Its best fit are especially ultra-low power radio networks, or those RF topologies where sporadic traffic between a small specific set of nodes is foreseen. In order to create a route, one node must explicitly start the communication towards a remote node, and the route is created ad-hoc upon the demand for a specific network path. AODV guarantees that the traffic generated by each node in order to create and maintain routes is kept as low as possible. \subsection{pico\_aodv\_add} \subsubsection*{Description} This function will add the target device to the AODV mechanism on the machine, meaning that it will be possible to advertise and collect routing information using Ad-hoc On-Demand Distance Vector Routing, as described in RFC3561, through the target device. In order to use multiple devices in the AODV system, this function needs to be called multiple times, once per device. \subsubsection*{Function prototype} \texttt{pico\_aodv\_add(struct pico\_device *dev);} \subsubsection*{Parameters} \begin{itemize}[noitemsep] \item \texttt{dev} - a pointer to a struct \texttt{pico\_device} specifying the target interface. \end{itemize} \subsubsection*{Return value} 0 returned if the device is successfully added. \subsubsection*{Example} \begin{verbatim} ret = pico_aodv_add(dev); \end{verbatim}