Bug 13916 - ping6 & tracepath6 не работают даже от root
Summary: ping6 & tracepath6 не работают даже от root
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: iputils (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 14167 17072
  Show dependency tree
 
Reported: 2008-01-07 13:21 MSK by Denis Ovsienko
Modified: 2008-09-15 17:57 MSD (History)
6 users (show)

See Also:


Attachments
fixing patch (34.36 KB, patch)
2008-01-07 13:51 MSK, Denis Ovsienko
no flags Details | Diff
fixing patch (1.39 KB, patch)
2008-01-07 13:54 MSK, Denis Ovsienko
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Ovsienko 2008-01-07 13:21:08 MSK
Исходная ситуация: при загрузке конечного хоста в Fedora 8 ping6 на нём
работает; на маршрутизирующем хосте с Desktop 4.0.2 ping6 не работает.

Загружаем конечный хост в Sisyphus, на нём также перестаёт работать ping6:
# ping6 6bone.net
can't receive hop limit: Protocol not available

При этом в обоих случаях снаружи через looking-glass конечный хост по IPv6
пингуется. Также, порывшись в архивах, обнаружил, что tracepath6 также должна
была сломаться, и это оказалось правдой. Для версии iputils-20020927 эти
регрессии чинились в Debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=397935
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=402121

В то же время, например, доступна версия
http://www.skbuff.net/iputils/iputils-s20071127.tar.bz2 (я её не проверял).
Comment 1 Denis Ovsienko 2008-01-07 13:42:59 MSK
Взяв патч из Debian #397935 и немного его переделав (иначе он не прикладывался),
я получил рабочие ping6 и tracepath6.
Comment 2 Denis Ovsienko 2008-01-07 13:51:01 MSK
Created attachment 2358 [details]
fixing patch

Патч соответственно прикладываю. На ядрах из недавнего Sisyphus
(2.6.18-std-smp-alt8 и 2.6.18-std-smp-alt10) работает.
Comment 3 Denis Ovsienko 2008-01-07 13:54:49 MSK
Created attachment 2359 [details]
fixing patch
Comment 4 Slava Semushin 2008-09-09 15:12:37 MSD
(In reply to comment #3)
> Created an attachment (id=2359) [details]
> fixing patch

-	if (setsockopt(fd, SOL_IPV6, IPV6_HOPLIMIT, &on, sizeof(on))) {
+	if (setsockopt(fd, SOL_IPV6, IPV6_2292HOPLIMIT, &on, sizeof(on))) {
 		perror("IPV6_HOPLIMIT");
 		exit(1);

Я думаю, что сообщение об ошибке, тоже нужно поправить (s/IPV6_HOPLIMIT/IPV6_2292HOPLIMIT/).
Comment 5 Dmitry V. Levin 2008-09-09 15:18:12 MSD
Слишком старая версия iputils, не интересно фиксить. :(
Comment 6 Denis Ovsienko 2008-09-09 16:04:56 MSD
Слава, можно править, а можно и оставить.
Дима, тут вопрос не об интересе, а о функционале, сломанном в коробочном продукте.
Comment 7 Dmitry V. Levin 2008-09-09 16:07:39 MSD
(In reply to comment #6)
> Дима, тут вопрос не об интересе, а о функционале, сломанном в коробочном
> продукте.

Баг висит на Сизифе, а не на коробочном продукте.  Наверное, надо его клонировать.
Comment 8 Denis Ovsienko 2008-09-09 17:36:36 MSD
Я перевесил на Desktop, но в нём нет пакетов (то есть iputils тоже нет). Ничего лучше я сейчас изобретать не буду, нужно заниматься делами.
Comment 9 Afanasov Dmitry 2008-09-15 17:57:14 MSD
в сизиф ушел iputils-20071127-alt1

по ошибке в ping6.c наличествует:
#ifdef IPV6_RECVHOPLIMIT
            setsockopt(icmp_sock, IPPROTO_IPV6, IPV6_RECVHOPLIMIT,
                   &on, sizeof(on)) == -1 &&
            setsockopt(icmp_sock, IPPROTO_IPV6, IPV6_2292HOPLIMIT,
                   &on, sizeof(on)) == -1
#else
            setsockopt(icmp_sock, IPPROTO_IPV6, IPV6_HOPLIMIT,
                   &on, sizeof(on)) == -1
#endif

bug закрываю.