On Wed, Mar 13, 2013 at 3:35 PM, Chuck Swiger <cswi...@mac.com> wrote:
> Hi--
>
> On Mar 13, 2013, at 8:21 AM, Matt Miller wrote:
>> If we have a connection that has received a SYN and ip_output()
>> returns, say, EHOSTUNREACH, is there anything that guarantees the
>> connection would always eventually be dropped if the condition
>> persists?
>
> If the local TCP stack is unable to reply with a SYN-ACK, then it hasn't 
> established a connection yet because it cannot proceed through the 3WHS to 
> ESTAB.  It will stay in LISTEN state.
>

Sorry, I should have been more specific: say the connection has
already progressed to at least ESTABLISHED or beyond when the
ip_output() error occurs.  So, we'll hit the TCPS_HAVERCVDSYN if block
below:

                case EHOSTDOWN:
                case EHOSTUNREACH:
                case ENETDOWN:
                case ENETUNREACH:
                        if (TCPS_HAVERCVDSYN(tp->t_state)) {
                                tp->t_softerror = error;
                                return (0);
                        }

Thanks,

Matt

> Regards,
> --
> -Chuck
>
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to