|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vladimir Kurtukov 2:5006/9 14 Jun 2007 13:52:16 To : Dmitriy Ivanov Subject : приоритеты трафика -------------------------------------------------------------------------------- 14 Jun 07 08:34, you wrote to me: >> получится. только надо будет обратить внимание на порядок >> прохождения пакетов через ipfw и ipf DI> FreeBSD 4.11-STABLE, оба в ядре. "Hа выход" сначала работает ipfw, "на DI> вход" - ipf, соответственно. Если важно, в конфиге ядра ipfw DI> расположен выше. ну вот, если приоритеты будешь по ip-адресам делать, то этот факт надо будет учесть, что в одну сторону одни адреса, а в другую - другие или патчик вот примерно такого вида в netinet/ip_output.c прикладывать, чтобы порядок входа/выхода соответствовал -+- ip_output.c.0 Fri Apr 9 11:33:39 2004 +++ ip_output.c Mon Apr 12 09:12:24 2004 @@ -712,13 +712,6 @@ * - Wrap: fake packet's addr/port <unimpl.> * - Encapsulate: put it in another IP and send out. <unimp.> */ - if (fr_checkp) { - struct mbuf *m1 = m; - - if ((error = (*fr_checkp)(ip, hlen, ifp, 1, &m1)) || !m1) - goto done; - ip = mtod(m = m1, struct ip *); - } /* * Check with the firewall... @@ -952,6 +945,14 @@ } pass: + if (fr_checkp) { + struct mbuf *m1 = m; + + if ((error = (*fr_checkp)(ip, hlen, ifp, 1, &m1)) || !m1) + goto done; + ip = mtod(m = m1, struct ip *); + } + /* 127/8 must not appear on wire - RFC1122. */ if ((ntohl(ip->ip_dst.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET || (ntohl(ip->ip_src.s_addr) >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET) { Vladimir --- GoldED+/BSD 1.1.5 * Origin: Unix powered... (2:5006/9) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/14514670f4a6.html, оценка из 5, голосов 10
|