[sisyphus] Новый iproute2 и старые ядра

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Мар 14 22:22:15 MSK 2008


On Fri, Mar 14, 2008 at 07:22:07PM +0300, Sergey Vlasov wrote:
> On Fri, Mar 14, 2008 at 07:18:27PM +0300, Sergey Vlasov wrote:
> > On Fri, Mar 14, 2008 at 05:18:27PM +0200, Victor Forsyuk wrote:
> > > On Fri, Mar 14, 2008 at 05:20:06PM +0300, Dmitry V. Levin wrote:
> > > > On Fri, Mar 14, 2008 at 03:45:58PM +0200, Victor Forsyuk wrote:
> > > > [...]
> > > > > Соответственно, остается только один вопрос - "что делать"?
> > > > 
> > > > Хорошо бы исправить iproute2.
> > > 
> > > Хорошо бы, ясное дело... Я даже догадываюсь в районе чего их 
> > > рекламируемая "should be backward compatible with older kernels"
> > > дала сбой:
> > > http://www.mail-archive.com/netdev@vger.kernel.org/msg40276.html
> > 
> > Действительно, там отсутствие поддержки в ядре определяется по
> > возвращаемому из ядра в ответ на этот запрос коду ошибки -EOPNOTSUPP.
> > Однако этот код возвращается только в версиях >= 2.6.22 (см. commit
> > 038890fed8d1fa95bbbdeb517f5710eb75fa9e2e в ядре); более старые версии в
> > этом случае возвращают -EINVAL, поэтому iproute2 ошибочно считает, что
> > ядро поддерживает нужные команды netlink.
> 
> http://www.redhat.com/archives/fedora-extras-commits/2008-February/msg01214.html
> http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20071022/172139.html

http://git.kernel.org/?p=linux/kernel/git/shemminger/iproute2.git;a=commitdiff;h=ss-060323-158-g66e529f

Кто соберёт исправленный iproute2?


-- 
ldv
----------- следующая часть -----------
From 66e529f579f45351828fc82d6ba2629cc6eb3ddd Mon Sep 17 00:00:00 2001
From: Patrick McHardy <kaber на trash.net>
Date: Thu, 25 Oct 2007 19:46:29 +0200
Subject: [PATCH] iproute 2.6.23 incompatibility

Arkadiusz Miskiewicz wrote:
> People are reporting that
>> ip link set multicast on dev eth0 (Invalid argument)
>> no longer works when using iproute 2.6.23 on kernel 2.6.21.
>>
>> On my testing machine it also fails:
>> # ./ip link set eth0 multicast on
>> RTNETLINK answers: Invalid argument

It seems it fails to properly detect that your kernel is missing
RTM_NEWLINK support. Apparently the reason is that the kernels
I tested with return a different error in this situation.


Signed-off-by: Patrick McHardy <kaber на trash.net>
Signed-off-by: Stephen Hemminger <shemminger на linux-foundation.org>
---
 ip/iplink.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/ip/iplink.c b/ip/iplink.c
index 8e0ed2a..f28f91c 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -107,7 +107,8 @@ static int accept_msg(const struct sockaddr_nl *who,
 {
 	struct nlmsgerr *err = (struct nlmsgerr *)NLMSG_DATA(n);
 
-	if (n->nlmsg_type == NLMSG_ERROR && err->error == -EOPNOTSUPP)
+	if (n->nlmsg_type == NLMSG_ERROR &&
+	    (err->error == -EOPNOTSUPP || err->error == -EINVAL))
 		have_rtnl_newlink = 0;
 	else
 		have_rtnl_newlink = 1;
-- 
1.5.4.4.GIT

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20080314/f7116550/attachment-0002.bin>


Подробная информация о списке рассылки Sisyphus