Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Jun 2003 14:10:58 -0700
From:      Koroush Saraf <koroush.saraf@lmco.com>
To:        "Saraf, Koroush (N-Norman SubSystems)" <koroush.saraf@lmco.com>, freebsd-questions@freebsd.org
Subject:   Re: MTU Path Discovery Problem
Message-ID:  <00e601c336a7$479325d0$04f4c581@BSDWIN2KKOROUSH>
References:  <00a001c33680$68827600$04f4c581@BSDWIN2KKOROUSH>

next in thread | previous in thread | raw e-mail | index | archive | help
PMTUD Black Hole ProblemCode Problem?

Is this a code problem in ip_input.c, This code is from FreeBSD 4.8 that I just installed on my computers.
ip_forward ?  It looks to me like case EMSGSIZE can
never be reached.  Is this breaking mtu path discovery responses ? 

ip_forward(struct mbuf *m, int srcrt, struct sockaddr_in *next_hop)
        switch (error) {

        case 0:                         /* forwarded, but need redirect */
                /* type, code set above */
                break;

        case ENETUNREACH:               /* shouldn't happen, checked above */
        case EHOSTUNREACH:
        case ENETDOWN:
        case EHOSTDOWN:
        default:
                type = ICMP_UNREACH;
                code = ICMP_UNREACH_HOST;
                break;

        case EMSGSIZE:
                type = ICMP_UNREACH;
                code = ICMP_UNREACH_NEEDFRAG;
  ----- Original Message ----- 
  From: Saraf, Koroush (N-Norman SubSystems) 
  To: freebsd-questions@freebsd.org 
  Sent: Thursday, June 19, 2003 9:32 AM
  Subject: PMTUD Black Hole Problem


  Hi All, 

  I have the following network in the lap 

  WINXP <---mtu1500--->FREEBSD4.4<---mtu1280(gif tunnel--->FREEBSD4.4<---mtu1500--->WINXP 

  The BSD computers are setup as gateway routers.  As you might see from diagram above, the MTU of the link between the two BSD computers is 1280Bytes because of a tunnel.  When I try to transfer a file between the XP endpoints, the PMTUD goes off by sending a 1514B packet to the other end with the Don't fragment bit set.  However this packet never generates the ICMP unreachable message back to the XP box during Path MTU discovery.  So that's why I have concluded that the BSD router is the black hole.  

  Now I would like to know how to make my BSD router to participate in the MTU discovery.  Changing the MTU of the windows computers is not an option for me.  Also please note that the BSD computers only have one NIC interface, and the network is logically sperate but physically all connected to a switch, so playing with the MTU of the interface connecting the BSD computers is not an option either.



  I hope that this is a known problem and easy to fix and thanks for taking the time to respond. 
  ~koroush 
  _______________________________________________ 
  freebsd-questions@freebsd.org mailing list 
  http://lists.freebsd.org/mailman/listinfo/freebsd-questions 
  To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00e601c336a7$479325d0$04f4c581>