添加路由的函數是
AddRouteEntry
位於mayaqua/Network.c文件中
調用位置集中在/cedar/VLanWin32.c的
RouteTrackingMain和RouteTrackingStart
猜測RouteTrackingMain中
line 265
check = IsRouteChanged
持續檢測路由表是否被修改,修改就改回全局模式
line 304
// Add a route to the NAT-T server
連接開始
文件Session.c
SessionMain
line 179
PACKET_ADAPTER *pa->Init(session*)
文件VLanWin32.c
RouteTrackingStart
line 806
t->RouteChange = NewRouteChange();
觸發第一次 路由變化
後續啓動的RouteTrackingMain
line 468: pa->GetNextPacket
檢測到t->RouteChange != null的變化
RouteChange在很多位置都有賦值,待研究
line 258 每次GetNextPacket都會檢查
註釋 RouteTrackingStart中添加路由的部分
AddRouteEntryEx(e, &already_exists)
並去掉RouteTrackingMain的調用
TBC