Charlie,
I agree that the vendor is not doing what it’s supposed to do. In fact, on a conference call with the vendor I told them as much. But they don’t and for them to correct their coding will take an act of Congress. So, what’s an interface engine to do? If I read your post correctly, when I bring the thread back up, this should remedy the situation. So here’s what I did (along with netstat -a output):
1. Original state (interface is up)
[test2]/hci/qdx5.2/integrator/test2>netstat -a | grep 22232
tcp4 0 0 uhcsp119.22232 umhc-copathIN01..3218 ESTABLISHED
2. Took our side (server) down
[test2]/hci/qdx5.2/integrator/test2>netstat -a | grep 22232
tcp4 0 0 uhcsp119.22232 umhc-copathIN01..3218 FIN_WAIT_2
3. Waited for a few minutes, then brought our side back up
[test2]/hci/qdx5.2/integrator/test2>netstat -a | grep 22232
tcp4 0 0 *.22232 *.* LISTEN
tcp4 0 0 uhcsp119.22232 umhc-copathIN01..3218 FIN_WAIT_2
4. Waited at least 10 minutes.
[test2]/hci/qdx5.2/integrator/test2>netstat -a | grep 22232
tcp4 0 0 *.22232 *.* LISTEN
It looks like the port was finally released. However, we never regained the connection and stayed in an OPENING state. During this whole time, there was no manual intervention on the client side. But it appears that the client side does nothing to regain the connection. In fact, and the vendor said as much, the client side does not even know that the connection was lost (still showing as up on their side), until it gets an error when trying to send a message. They claim when we are back up, the connection will be re-established when they send a message.
It looks like everytime we take the server side on the engine down that we must bounce the client side after bringing the server side back up in order to go from an OPENING state to an UP state. Any suggestions?