<div dir="ltr"><div><div><div>Hi Devteam,<br><br>I am going through the source 
code of RIP. I am not able to understand how the function 
&quot;rip_interface_wakeup&quot; is filled with interface structure.<br></div><br></div>There
 is a call   ifp = THREAD_ARG (t);, after this call ifp is filled with 
interface detail. I am not able to understand how THREAD_ARG is used to 
fill ifp structure.<br><br><br></div><div>The thread structure has following details.<br>* Thread itself. */<br>struct thread<br>{<br>  thread_type type;        /* thread type */<br>  thread_type add_type;        /* thread type */<br>  struct thread *next;        /* next pointer of the thread */   <br>  struct thread *prev;        /* previous pointer of the thread */<br>  struct thread_master *master;    /* pointer to the struct thread_master. */<br>  int (*func) (struct thread *); /* event function */<br>  void *arg;            /* event argument */<br>  union {<br>    int val;            /* second argument of the event. */<br>    int fd;            /* file descriptor in case of read/write. */<br>    struct timeval sands;    /* rest of time sands value. */<br>  } u;<br>  RUSAGE_T ru;            /* Indepth usage info.  */<br>  struct cpu_thread_history *hist; /* cache pointer to cpu_history */<br><b>  char* funcname;</b><br>};<br><br></div><div>Can some one point to me to understand the code flow to start with.<br><br></div><div>Regards,<br></div>Srujan</div>