I'm trying to understand a conversation problem I'm seeing, and I'm
trying to figure out if I'm trying to have the code do something it
simply wasn't designed to do, or I just don't understand what is
supposed to be happening.
The scenario is I'm trying to locate an existing conversation (set
up with options = 0) where the source and destination IP addresses
are the same and the source port is the same. The destination port,
however, is different.
My understanding is I should be able to just set option = NO_PORT_B
on the call to find_conversation(). However, when I do this, nothing
is found.
When I climb into the code with the debugger, it appears the "problem"
is the conversation is created in conversation_hashtable_exact, while
the find attempts to use conversation_hashtable_no_port2 and then
conversation_hashtable_no_addr2_or_port2. It would appear there is
a basic problem of trying to find the conversation using the "wrong"
hashtable.
Am I missing something?
Thanks in advance.
- Mark