Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

/Вести с полей/ multipath

41 views
Skip to first unread message

Valentin Nechayev

unread,
Apr 13, 2008, 10:09:10 AM4/13/08
to
Как лучше сказать - "не прошло и десяти лет" или "офигеть, дайте две"?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From: Qing Li <qin...@freebsd.org>
Date: Sun, 13 Apr 2008 05:45:14 +0000 (UTC)
To: src-com...@freebsd.org, cvs...@freebsd.org, cvs...@freebsd.org
Cc:
Subject: cvs commit: src/sys/conf files options src/sys/net radix.c radix.h
route.c route.h rtsock.c src/sys/netinet in_proto.c ip_output.c
src/sys/netinet6 in6_proto.c in6_src.c nd6_nbr.c

qingli 2008-04-13 05:45:14 UTC

FreeBSD src repository

Modified files:
sys/conf files options
sys/net radix.c radix.h route.c route.h rtsock.c
sys/netinet in_proto.c ip_output.c
sys/netinet6 in6_proto.c in6_src.c nd6_nbr.c
Log:
This patch provides the back end support for equal-cost multi-path
(ECMP) for both IPv4 and IPv6. Previously, multipath route insertion
is disallowed. For example,

route add -net 192.103.54.0/24 10.9.44.1
route add -net 192.103.54.0/24 10.9.44.2

The second route insertion will trigger an error message of
"add net 192.103.54.0/24: gateway 10.2.5.2: route already in table"

Multiple default routes can also be inserted. Here is the netstat
output:

default 10.2.5.1 UGS 0 3074 bge0 =>
default 10.2.5.2 UGS 0 0 bge0

When multipath routes exist, the "route delete" command requires
a specific gateway to be specified or else an error message would
be displayed. For example,

route delete default

would fail and trigger the following error message:

"route: writing to routing socket: No such process"
"delete net default: not in table"
On the other hand,

route delete default 10.2.5.2

would be successful: "delete net default: gateway 10.2.5.2"

One does not have to specify a gateway if there is only a single
route for a particular destination.

I need to perform more testings on address aliases and multiple
interfaces that have the same IP prefixes. This patch as it
stands today is not yet ready for prime time. Therefore, the ECMP
code fragments are fully guarded by the RADIX_MPATH macro.
Include the "options RADIX_MPATH" in the kernel configuration
to enable this feature.

Reviewed by: robert, sam, gnn, julian, kmacy
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


-netch

Victor Sudakov

unread,
Apr 13, 2008, 10:37:46 AM4/13/08
to
Valentin Nechayev wrote:
> Log:
> This patch provides the back end support for equal-cost multi-path
> (ECMP) for both IPv4 and IPv6.

瞿M 耘信邑 dead gateway detection?

--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/

Andrey Ostanovsky

unread,
Apr 13, 2008, 2:33:30 PM4/13/08
to
Hello Valentin!

13 Apr 08 18:09, you wrote to All:

VN> Multiple default routes can also be inserted. Here is the netstat
VN> output:
VN> default 10.2.5.1 UGS 0 3074 bge0 =>
VN> default 10.2.5.2 UGS 0 0 bge0

Настораживает, однако, указание в примере одного имени сетевого интерфейса. А
то потом будут "разработчики" говорить:"А Вы так не делайте", когда люди
попытаются это на два сетевых интерфейса разложить.


Andrey

Sergey Matveychuk

unread,
Apr 14, 2008, 6:14:09 AM4/14/08
to
Andrey Ostanovsky пишет:

> Hello Valentin!
>
> 13 Apr 08 18:09, you wrote to All:
>
> VN> Multiple default routes can also be inserted. Here is the netstat
> VN> output:
> VN> default 10.2.5.1 UGS 0 3074 bge0 =>
> VN> default 10.2.5.2 UGS 0 0 bge0
>
> Hастораживает, однако, указание в примере одного имени сетевого интерфейса. А

> то потом будут "разработчики" говорить:"А Вы так не делайте", когда люди
> попытаются это на два сетевых интерфейса разложить.
>

Возьми и попробуй. Чего предположения выдвигать?

Eugene Grosbein

unread,
Apr 14, 2008, 9:39:23 AM4/14/08
to
14 апр 2008, понедельник, в 13:14 KRAT, Sergey Matveychuk написал(а):

SM> Возьми и попробуй. Чего предположения выдвигать?

Патч для STABLE есть?

Eugene
--
Choose no life

Sergey Bondarev

unread,
Apr 14, 2008, 1:20:00 PM4/14/08
to
Привет, Andrey!

Воскресенье Апрель 13 2008 23:33, Andrey Ostanovsky накнопил Valentin Nechayev:

VN>> Multiple default routes can also be inserted. Here is the

VN>> netstat output: default 10.2.5.1 UGS 0
VN>> 3074 bge0 => default 10.2.5.2 UGS 0
VN>> 0 bge0

AO> Настораживает, однако, указание в примере одного имени сетевого
AO> интерфейса. А то потом будут "разработчики" говорить:"А Вы так не
AO> делайте", когда люди попытаются это на два сетевых интерфейса
AO> разложить.
да да.
также цифиpка 0 у одного и 3074 у дpугого.

получаеться втоpой нифига не используеться....
Какие ж они тогда equal-cost ???


Счастливо !
Sergey

Andrey Ostanovsky

unread,
Apr 14, 2008, 1:17:36 PM4/14/08
to
Hello Sergey!

14 Apr 08 14:14, you wrote to me:

>> VN> Multiple default routes can also be inserted. Here is the
>> netstat
>> VN> output:
>> VN> default 10.2.5.1 UGS 0 3074 bge0
>> =>
>> VN> default 10.2.5.2 UGS 0 0 bge0
>>
>> Hастораживает, однако, указание в примере одного имени сетевого
>> интерфейса. А то потом будут "разработчики" говорить:"А Вы так не
>> делайте", когда люди попытаются это на два сетевых интерфейса
>> разложить.
>>

SM> Возьми и попробуй. Чего предположения выдвигать?

Это не предположение, это тонкий намек на возможную двусмысленность будущего
мана. И исправить его потом, как ты сам понимаешь, будет нелегко.

Andrey

Andrey Ostanovsky

unread,
Apr 15, 2008, 2:48:54 AM4/15/08
to
Hello Sergey!

14 Apr 08 22:20, you wrote to me:

VN>>> Multiple default routes can also be inserted. Here is the
VN>>> netstat output: default 10.2.5.1 UGS 0
VN>>> 3074 bge0 => default 10.2.5.2 UGS 0
VN>>> 0 bge0

AO>> Настораживает, однако, указание в примере одного имени сетевого
AO>> интерфейса. А то потом будут "разработчики" говорить:"А Вы так не
AO>> делайте", когда люди попытаются это на два сетевых интерфейса
AO>> разложить.

SB> да да.
SB> также цифиpка 0 у одного и 3074 у дpугого.

SB> получаеться втоpой нифига не используеться....
SB> Какие ж они тогда equal-cost ???

Это еще как-то можно объяснить тем, что перед копи-пастом этого "примера" было
сделано всего одно исходящее соединение. Но тогда придется вводить в оборот
отключаемый аналог sticky-address из pf. Тут же страждущие закричат: "а где
подкрутить таймауты для sticky-address"? Вобщем придется многое объяснять
заново.

Andrey

Vadim Goncharov

unread,
Apr 15, 2008, 4:28:00 AM4/15/08
to
Hi Sergey Bondarev!

On Mon, 14 Apr 2008 21:20:00 +0400; Sergey Bondarev wrote about '/Вести с полей/ multipath':

VN>>> Multiple default routes can also be inserted. Here is the
VN>>> netstat output: default 10.2.5.1 UGS 0
VN>>> 3074 bge0 => default 10.2.5.2 UGS 0
VN>>> 0 bge0

AO>> Hастораживает, однако, указание в примере одного имени сетевого


AO>> интерфейса. А то потом будут "разработчики" говорить:"А Вы так не
AO>> делайте", когда люди попытаются это на два сетевых интерфейса
AO>> разложить.

SB> да да.
SB> также цифиpка 0 у одного и 3074 у дpугого.
SB> получаеться втоpой нифига не используеться....
SB> Какие ж они тогда equal-cost ???

Вообще-то в коммит-логе были слова, что это только начало, и из коммита видно,
что сам протокол ECMP не реализован.

--
WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_n...@mail.ru
[Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]

Sergey Bondarev

unread,
Apr 16, 2008, 1:57:00 AM4/16/08
to
Привет, Vadim!

Вторник Апрель 15 2008 12:28, Vadim Goncharov накнопил Sergey Bondarev:


AO>>> разложить.
SB>> да да.
SB>> также цифиpка 0 у одного и 3074 у дpугого.
SB>> получаеться втоpой нифига не используеться....
SB>> Какие ж они тогда equal-cost ???

VG> Вообще-то в коммит-логе были слова, что это только начало, и из
VG> коммита видно, что сам протокол ECMP не реализован.
косметическое начало какое-то.
а в коммите видно, что код включаеться опцией в ядpе.
тобишь ты хоть 10 дефолтных pоутов сделать можешь. без опции токо пеpвый
pаботает. что и видим в пpимеpе ;)

Счастливо !
Sergey

Alexander Kolesnikoff

unread,
Apr 16, 2008, 8:11:53 PM4/16/08
to
Victor Sudakov <v...@mpeks.tomsk.su> wrote:
> Valentin Nechayev wrote:
>> Log:
>> This patch provides the back end support for equal-cost multi-path
>> (ECMP) for both IPv4 and IPv6.
>
> Ждём теперь dead gateway detection?

Это что такое? Что-то типа BFD ?

Alexander

Victor Sudakov

unread,
Apr 16, 2008, 10:07:03 PM4/16/08
to
Alexander Kolesnikoff wrote:
> >> Log:
> >> This patch provides the back end support for equal-cost multi-path
> >> (ECMP) for both IPv4 and IPv6.
> >
> > Ждём теперь dead gateway detection?

> Это что такое?

Супертехнология от Microsoft, благодаря которой windows обнаруживает,
что один из сконфигурированных default gateways умер и через него
пакеты посылать не нужно.

> Что-то типа BFD ?

Hет, в dead gateway detection ничего конфигурить не нужно и поддержка
на другой стороне не нужна. Оно само работает.
http://technet.microsoft.com/en-us/library/bb878104.aspx

Другой пример подобной супертехнологии - обнаружение виндой неживых
DNS серверов. Hе знаю, как это сделано и где описано - но на неживой
или слишком тормозной DNS сервер винда вскоре перестаёт посылать
запросы. Я бы не отказался от подобной фичи в юниксовом резолвере.

Eugene Grosbein

unread,
Apr 17, 2008, 1:53:01 AM4/17/08
to
17 апр 2008, четверг, в 05:07 KRAT, Victor Sudakov написал(а):

>> Ждём теперь dead gateway detection?
>> Это что такое?

VS> Супертехнология от Microsoft, благодаря которой windows обнаруживает,
VS> что один из сконфигурированных default gateways умер и через него
VS> пакеты посылать не нужно.

В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
которые не только не читают указанную статью, но даже не подозревают
о существовании таких статей.

Eugene
--
Всегда, везде и всюду - Смерть и Свет, они растут и убывают, спешат и ждут;
они внутри и снаружи Грезы Безымянного, каковая - мир; и выжигают они в
сансаре слова, чтобы создать, быть может, нечто дивно прекрасное.

Victor Sudakov

unread,
Apr 17, 2008, 12:05:22 AM4/17/08
to
Eugene Grosbein wrote:

> >> Ждём теперь dead gateway detection?
> >> Это что такое?
> VS> Супертехнология от Microsoft, благодаря которой windows обнаруживает,
> VS> что один из сконфигурированных default gateways умер и через него
> VS> пакеты посылать не нужно.

> В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
> которые не только не читают указанную статью, но даже не подозревают
> о существовании таких статей.

Можно ведь сделать по уму. Судить о смерти default gateway не по
потерям сегментов TCP, как сделано у M$, а например по неответу
роутера на arp запрос.

Eugene Grosbein

unread,
Apr 17, 2008, 3:17:00 AM4/17/08
to
17 апр 2008, четверг, в 07:05 KRAT, Victor Sudakov написал(а):

>> В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
>> которые не только не читают указанную статью, но даже не подозревают
>> о существовании таких статей.

VS> Можно ведь сделать по уму. Судить о смерти default gateway не по
VS> потерям сегментов TCP, как сделано у M$, а например по неответу
VS> роутера на arp запрос.

Дело даже не в том, по какому параметру судить (тем более что
arp кешируется на 20 минут по дефолту в FreeBSD). А в том, что
"прописывают адрес шлюза" на всех интерфейсах совершенно бездумно.

Eugene
--
Ум это соль страдания.

Victor Sudakov

unread,
Apr 17, 2008, 1:04:02 AM4/17/08
to
Eugene Grosbein wrote:

> >> В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
> >> которые не только не читают указанную статью, но даже не подозревают
> >> о существовании таких статей.
> VS> Можно ведь сделать по уму. Судить о смерти default gateway не по
> VS> потерям сегментов TCP, как сделано у M$, а например по неответу
> VS> роутера на arp запрос.

> Дело даже не в том, по какому параметру судить (тем более что
> arp кешируется на 20 минут по дефолту в FreeBSD).

Ради такого случая можно чаще ARP запрос отсылать, именно на default
gateways. Типа keepalive будет.

> А в том, что
> "прописывают адрес шлюза" на всех интерфейсах совершенно бездумно.

Hу, собственно виндовую идеологию и реализацию тут обсуждать
неинтересно, а задумка-то неплохая (хоть и хуже честного irdp). Как и
определение дохлого или слишком медленного DNS сервера.

Slawa Olhovchenkov

unread,
Apr 17, 2008, 12:33:30 AM4/17/08
to
Hello Victor!

17 Apr 08, Victor Sudakov writes to Eugene Grosbein:

>> >> Ждём теперь dead gateway detection?
>> >> Это что такое?
>> VS> Супертехнология от Microsoft, благодаря которой windows

>> VS> обнаруживает, что один из сконфигурированных default gateways умер и
>> VS> через него пакеты посылать не нужно.

>> В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
>> которые не только не читают указанную статью, но даже не подозревают
>> о существовании таких статей.

VS> Можно ведь сделать по уму. Судить о смерти default gateway не по


VS> потерям сегментов TCP, как сделано у M$, а например по неответу
VS> роутера на arp запрос.

1. а с чего бы вообще быть арпу?
2. дефаулт у арпа сколько? четыре часа?

... Истинная цена живого человеческого общения -- счета от пpовайдеpа

Valentin Davydov

unread,
Apr 17, 2008, 2:57:15 AM4/17/08
to
> From: Victor Sudakov <v...@mpeks.tomsk.su>
> Date: Thu, 17 Apr 2008 02:07:03 +0000 (UTC)

>
>> >> Log:
>> >> This patch provides the back end support for equal-cost multi-path
>> >> (ECMP) for both IPv4 and IPv6.
>> >
>> > Ждём теперь dead gateway detection?
>
>> Это что такое?
>
>Супертехнология от Microsoft, благодаря которой windows обнаруживает,
>что один из сконфигурированных default gateways умер и через него
>пакеты посылать не нужно.

Ага. В сочетании с тем, что некоторые пакеты (открытые TCP-сессии, как бы не
весь UDP и т.д.) винда таки тупо продолжает посылать на дохлый дефолт, а
единственный (кроме перезагрузки) способ проверить, что он опять ожил -
это дождаться, пока все остальные дефолты передохнут по очереди - технология
весьма интересная и сулящая администратору много ярких впечатлений.

Вал. Дав.

Victor Sudakov

unread,
Apr 17, 2008, 3:07:22 AM4/17/08
to
Slawa Olhovchenkov wrote:

> >> >> Ждём теперь dead gateway detection?
> >> >> Это что такое?
> >> VS> Супертехнология от Microsoft, благодаря которой windows
> >> VS> обнаруживает, что один из сконфигурированных default gateways умер и
> >> VS> через него пакеты посылать не нужно.

> >> В сочетании с сабжем это вечный источник глюков у виндовых юзеров,
> >> которые не только не читают указанную статью, но даже не подозревают
> >> о существовании таких статей.

> VS> Можно ведь сделать по уму. Судить о смерти default gateway не по
> VS> потерям сегментов TCP, как сделано у M$, а например по неответу
> VS> роутера на arp запрос.

> 1. а с чего бы вообще быть арпу?

Если бы сделали dead gateway detection хотя бы на тех интерфейсах, где
водится арп, и то полезно было бы. Потому что те, на которых его нет,
либо сами умеют отслеживать состояние линка, либо экзотика для FreeBSD.


> 2. дефаулт у арпа сколько? четыре часа?

Евгений говорит, 20 минут. Hо никто не мешает посылать arp запросы на
default gateway чаще. Впрочем, irdp по умолчанию раз в 10 минут анонсы
посылает, и ничего.

Victor Sudakov

unread,
Apr 17, 2008, 3:09:23 AM4/17/08
to
Valentin Davydov wrote:
> >> >> Log:
> >> >> This patch provides the back end support for equal-cost multi-path
> >> >> (ECMP) for both IPv4 and IPv6.
> >> >
> >> > Ждём теперь dead gateway detection?
> >
> >> Это что такое?
> >
> >Супертехнология от Microsoft, благодаря которой windows обнаруживает,
> >что один из сконфигурированных default gateways умер и через него
> >пакеты посылать не нужно.

> Ага. В сочетании с тем, что некоторые пакеты (открытые TCP-сессии, как бы не
> весь UDP и т.д.) винда таки тупо продолжает посылать на дохлый
> дефолт,

Так и есть, я же кидал ссылку на статью, где описан принцип работы.

> а единственный (кроме перезагрузки) способ проверить, что он
> опять ожил - это дождаться, пока все остальные дефолты передохнут по
> очереди - технология весьма интересная и сулящая администратору
> много ярких впечатлений.

У Microsoft такое часто встречается: идея здравая, а реализация подкачала.

Slawa Olhovchenkov

unread,
Apr 17, 2008, 2:15:26 AM4/17/08
to
Hello Victor!

17 Apr 08, Victor Sudakov writes to Slawa Olhovchenkov:

>> VS> Можно ведь сделать по уму. Судить о смерти default gateway не по
>> VS> потерям сегментов TCP, как сделано у M$, а например по неответу
>> VS> роутера на arp запрос.

>> 1. а с чего бы вообще быть арпу?

VS> Если бы сделали dead gateway detection хотя бы на тех интерфейсах, где
VS> водится арп, и то полезно было бы. Потому что те, на которых его нет,
VS> либо сами умеют отслеживать состояние линка, либо экзотика для FreeBSD.

ага, ipip туннель. уже смешно (такая экзотика, так хорошо умеет)

... Пpи звyках Коннекта теpяет волю

Eugene Grosbein

unread,
Apr 17, 2008, 6:24:00 AM4/17/08
to
17 апр 2008, четверг, в 10:07 KRAT, Victor Sudakov написал(а):

VS> Если бы сделали dead gateway detection хотя бы на тех интерфейсах, где
VS> водится арп, и то полезно было бы. Потому что те, на которых его нет,
VS> либо сами умеют отслеживать состояние линка, либо экзотика для FreeBSD.

Цена вопроса это примитивный shell-скрипт, который у меня успешно
реализует этот dead gateway detection на многих инсталляциях 4.11,
я его пару раз сюда уже постил. Пинг на приоритетный шлюз, если
он жив - смотрим, текущий шлюз совпадает с ним? если да, конец опроса,
если нет, меняем шлюз на ответивший. Если не ответил - повторить
процедуру для следующего по приоритетности шлюза. И так далее,
их может быть произвольное количество. Логика простейшая.

Eugene
--
Трогай, но не пробуй на вкус

Victor Sudakov

unread,
Apr 17, 2008, 4:24:19 AM4/17/08
to
Slawa Olhovchenkov wrote:

> >> VS> Можно ведь сделать по уму. Судить о смерти default gateway не по
> >> VS> потерям сегментов TCP, как сделано у M$, а например по неответу
> >> VS> роутера на arp запрос.

> >> 1. а с чего бы вообще быть арпу?

> VS> Если бы сделали dead gateway detection хотя бы на тех интерфейсах, где
> VS> водится арп, и то полезно было бы. Потому что те, на которых его нет,
> VS> либо сами умеют отслеживать состояние линка, либо экзотика для FreeBSD.

> ага, ipip туннель. уже смешно (такая экзотика, так хорошо умеет)

Уел.

Victor Sudakov

unread,
Apr 17, 2008, 4:24:50 AM4/17/08
to
Eugene Grosbein wrote:

> VS> Если бы сделали dead gateway detection хотя бы на тех интерфейсах, где
> VS> водится арп, и то полезно было бы. Потому что те, на которых его нет,
> VS> либо сами умеют отслеживать состояние линка, либо экзотика для FreeBSD.

> Цена вопроса это примитивный shell-скрипт, который у меня успешно
> реализует этот dead gateway detection на многих инсталляциях 4.11,

А в ядре было бы круче.

Ivan A. Ufimtsev

unread,
Apr 17, 2008, 2:01:23 PM4/17/08
to
Hello Valentin!

Thursday April 17 2008 10:57, you wrote to Victor Sudakov:
[...]
>> ����p���������� �� Microsoft, �������p� ����p�� windows ����p�������,
>> ��� ���� �� ��������p�p������� default gateways ���p � ��p�� ����
>> ������ �������� �� �����.
VD> ���. � ��������� � ���, ��� ������p�� ������ (���p���� TCP-������, ���
VD> �� �� ���� UDP � �.�.) ����� ���� ���� �p�������� �������� �� ������
VD> ������, � ������������ (�p��� ��p����p����) ������ �p���p���, ��� ��
VD> ����� ���� - ��� ���������, ���� ��� ��������� ������� ��p������� ��
VD> ���p��� - ���������� ������ ����p����� � ������� ��������p���p� �����
VD> �p��� �����������.

������� �p��� ����������� �� ����������� �����. ������, ������ ��
�������������� ���� p����� ���� � ��p����� ����� �� ����� ���������������
������� �������� ����p� �� ����� ��p���, � ����p��� �����.

VD> ���. ���.
� ���������, Ivan.
[Team � ����� ������!] [Team rave2grave] [Team ��������������� �������]

0 new messages