Closed christf closed 7 years ago
I have no idea how the state machine works... is there some explanation somewhere?
I have no idea how the state machine works... is there some explanation somewhere?
@NeoRaider Do you mean how a state machine works or how this state machine works?
How the l3roamd client IP state machine works, I'm not very familar with the l3roamd code yet. A state diagram would be great, but I'd also accept a simple listing of states and transition triggers.
I just hacked a dot file from the source in clientmgr.c that produces the following (add and delete mean the addresses in the vector):
The graph shows the state transitions and the functions that cause the state transition. For checkclient()
I have added the condition.
This will be replaced by entirely different code.
this is achieved by changing the state machine to go from IP_ACTIVE-state to IP_TENTATIVE instead of IP_INACTIVE. Also the IP_Check-Interval is reduced from 5s to 4s guaranteeing that at least two checks are happening during an NA_TIMEOUT raising the chance for the client to not be blocked too early.
This also renames IP_CHECKCLIENT_TIMEOUT to IP_CHECKCLIENT_INTERVAL.