No_name Posted March 4, 2016 (edited) Нужна помощь зала! ) Пересобрал ядро без 'options INET6' FreeBSD nat 10.2-RELEASE-p12 admin@nat:/usr/obj/usr/src/sys/GENERIC amd64 Собрал и установил последние дрова ix-3.1.14 В loader.conf добавлено: if_ix_load="YES" hw.ix.unsupported_sfp=1 Но при загрузке в messages пишется: Mar 4 14:07:37 nat kernel: link_elf_obj: symbol in6_cksum_pseudo undefined Mar 4 14:07:37 nat kernel: KLD file if_ix.ko - could not finalize loading И соответственно, подгружаются старые дрова. Mar 4 14:07:37 nat kernel: ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 2.8.3> В Makefile пробовал закомменить #CFLAGS += -DINET -DINET6 -DIXGBE_STANDALONE_BUILD CFLAGS += -DINET -DIXGBE_STANDALONE_BUILD и пересобрать, но сборка вываливается с ошибкой Если ядро собрано с 'options INET6', чего мне не нужно, то проблемы нету. Что можно еще сделать? Edited March 17, 2016 by Brainiac Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 4, 2016 Возьми эту функцию и впендюрь в код драйвера или вырежи ифдеами её из драйвера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted March 4, 2016 BSD way? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted March 4, 2016 Да такая фигня случается. На дебиан >=7 не работает проброс X over ssh когда выключен ipv6 глобально. Лечится правкой конфига sshd (явное задание afi). Может ещё где такая фигня Я тоже не люблю фрю, но такие штуки везде могут быть Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 5, 2016 BSD way? Причём тут BSD? Я бы тоже самое написал для любой проги: если чел сюда написал значит ему срочно надо и он готов совершить какие то действия, в противном случае он бы пошёл и накатал PR и подождал неопределённый срок. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zi_rus Posted March 5, 2016 Что можно еще сделать? Перестать заниматься чепухой. Чем IPv6 помешал? А потом еще раз пересобирать ядро чтобы IPv6 развернуть и кривляться на форумах как много систем его не поддерживают и некогда все переделывать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted March 7, 2016 Два тезиса: 1) Пересобирать без options INET6 нехорошо, вы получите кучу глюков из разных мест. Да-да, кодеры разные, и качество коже тоже хромает. 2) В любом случае откройте PR, описав последовательность действий, приводящих к проблеме. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted March 7, 2016 Я бы тоже самое написал для любой проги: если чел сюда написал значит ему срочно надо и он готов совершить какие то действия, в противном случае он бы пошёл и накатал PR и подождал неопределённый срок. Спасибо за совет, но как подсказывают ниже, наверное лучше не убирать опцию инет6. Да и я не программист, в эти сях нифига не шарю. Два тезиса: 1) Пересобирать без options INET6 нехорошо, вы получите кучу глюков из разных мест. Да-да, кодеры разные, и качество коже тоже хромает. 2) В любом случае откройте PR, описав последовательность действий, приводящих к проблеме. 1. Не знаю, может у вас опыт побогаче, но я еще ни разу с такой проблемой не встречался, эта первая. 2. А что это такое и куда, что писать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 7, 2016 https://bugs.freebsd.org/bugzilla/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted March 11, 2016 Кстати, оформил, ждемс. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
FiN Posted July 21, 2017 (edited) Спасибо за совет, но как подсказывают ниже, наверное лучше не убирать опцию инет6. Да и я не программист, в эти сях нифига не шарю. наткнулся поиском по той же проблеме, 10.3 ничего не изменилось... Поэтому проблему решает, закоментить в ix-3.1.14/src/ix_txrx.c /*th->th_sum = in6_cksum_pseudo(ip6, 0, IPPROTO_TCP, 0);*/ может кому пригодиться. Edited July 21, 2017 by FiN Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted July 21, 2017 Только вот это не совсем корректно. В 11.1 сделано так: /usr/src/sys/dev/ixgbe/ix_txrx.c #ifdef INET6 case ETHERTYPE_IPV6: ip6 = (struct ip6_hdr *)(mp->m_data + ehdrlen); /* XXX-BZ For now we do not pretend to support ext. hdrs. */ if (ip6->ip6_nxt != IPPROTO_TCP) return (ENXIO); ip_hlen = sizeof(struct ip6_hdr); th = (struct tcphdr *)((caddr_t)ip6 + ip_hlen); th->th_sum = in6_cksum_pseudo(ip6, 0, IPPROTO_TCP, 0); type_tucmd_mlhl |= IXGBE_ADVTXD_TUCMD_IPV6; break; #endif Хотя ИМХО это тоже не кашерно, должно возвращать EINVAL для #else. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dadv Posted July 22, 2017 Официально не поддерживается пересборка ядра без пересборки ядерных модулей как раз вот из-за таких штук: опции сборки ядра могут сделать бинарно несовместимым его со старыми модулями. Поможет пересборка модуля с WITHOUT_INET6. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...