Greetings, first time on the list, please forgive me if I'm breaking protocol.<div><br></div><div>I am seeking some help in understanding the code but did not find any faq or document describing what I am looking for.</div><div><br></div><div>I am using the charon daemon with the Mobike feature enabled, but am seeing problems with it switching network interfaces (ie. roaming from one interface to another).</div><div><br></div><div>For the most part, charon will switch properly from one interface to another when I do an "ifdown" followed by setting a new default route. However, it isn't 100% and after running the switching tests over time, it will eventually either  fail to switch (stays on the downed link), or takes forever to switch over to the new default route.</div><div><br></div><div>Can someone explain or point me to the files/functions/threads that deal with link switching? In particular:</div><div><br></div><div>a) where is the logic where it monitors for new routes/interfaces?</div><div>b) how is this communicated to the "sending" code, are they different threads</div><div>c) where/how is the new route detected?</div><div><br></div><div>I will note, that I've seen several failures:</div><div>i) charon will hang on a "getting address to interface"</div><div>ii) charon appears to log errors as it trys to send out packets to the downed interface</div><div>iii) ipsec status sometimes will just hang during a transition period, and the only solution is to either wait till it finally returns, or kill it.</div><div><br></div><div>I am using release 4.3.6 by the way!</div><div><br></div><div>Thanks for any help!</div><div><br></div><div><br></div>