|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Gleb Smirnoff 2:5020/400 24 Nov 2004 19:02:18 To : Slawa Olhovchenkov Subject : Re: gif(4) -------------------------------------------------------------------------------- Slawa Olhovchenkov <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> wrote: EG>> Хм, а если интерфейс в down и роут в него закеширован, то вот я ничего EG>> и не видел поэтому наверное - в down ничего отправляться не будет, EG>> а в другой он видно не хочет. PR не писал? SO> В общем все плохо. Поубывавбы. SO> /usr/src/sys/netinet/in_gif.c: in_gif_output SO> if (dst->sin_family != sin_dst->sin_family || SO> dst->sin_addr.s_addr != sin_dst->sin_addr.s_addr) { SO> /* cache route doesn't match */ SO> bzero(dst, sizeof(*dst)); SO> dst->sin_family = sin_dst->sin_family; SO> dst->sin_len = sizeof(struct sockaddr_in); SO> dst->sin_addr = sin_dst->sin_addr; SO> if (sc->gif_ro.ro_rt) { SO> RTFREE(sc->gif_ro.ro_rt); SO> sc->gif_ro.ro_rt = NULL; SO> } SO> #if 0 SO> sc->gif_if.if_mtu = GIF_MTU; SO> #endif SO> } SO> if (sc->gif_ro.ro_rt == NULL) { SO> rtalloc_ign(&sc->gif_ro, 0); SO> if (sc->gif_ro.ro_rt == NULL) { SO> m_freem(m); SO> return ENETUNREACH; SO> } SO> /* if it constitutes infinite encapsulation, punt. */ SO> if (sc->gif_ro.ro_rt->rt_ifp == ifp) { SO> m_freem(m); SO> return ENETUNREACH; /* XXX */ SO> } SO> #if 0 SO> ifp->if_mtu = sc->gif_ro.ro_rt->rt_ifp->if_mtu SO> - sizeof(struct ip); SO> #endif SO> } SO> В общем надо писать PR на оборачивание этого куса в sysctl. Дабы на роут SO> вообще не кешировался бы. Я вот тоже с этим сталкивался. И тоже об этом думал. Hе понимаю, почему у меня сейчас работает. Ты о какой версии говоришь? -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577ac459e1c.html, оценка из 5, голосов 10
|