Bug 13916

Summary: ping6 & tracepath6 не работают даже от root
Product: Sisyphus Reporter: Denis Ovsienko <pilot>
Component: iputilsAssignee: Dmitry V. Levin <ldv>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: ender, evg, php-coder, sem, thresh, vvk
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 14167, 17072    
Attachments:
Description Flags
fixing patch
none
fixing patch none

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 закрываю.