avb1987 Posted December 3, 2015 (edited) Здравствуйте. Может ли использование RSS (в данном случае имеется ввиду реализация RSS в драйверах igb, ixgbe в Linux) нарушать порядок прохождения пакетов/датаграмм, если да то в каких случаях? Информация по этому вопросу весьма скудная. Edited December 3, 2015 by avb1987 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Tau Posted December 3, 2015 Здравствуйте. Может ли использование RSS (в данном случае имеется ввиду реализация RSS в драйверах igb, ixgbe в Linux) нарушать порядок прохождения пакетов/датаграмм, если да то в каких случаях? Информация по этому вопросу весьма скудная. FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке. Думал что в Linux с этим порядок (((( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
avb1987 Posted December 3, 2015 (edited) Мы в настоящее время не используем RSS, так что не уверен что в Linux есть такая проблема. Вопрос пока что чисто теоретический. Я встречал упоминания что вроде как из за фрагментации пакетов некоторые адаптеры чтобы избежать некорректного порядка используют для хеша только IP-заголовок, а поддержка TCP и UDP-заголовков - опциональна. Но к сожалению не удалось найти внятных объяснений как это работает в случае Linux с указанными драйверами. Edited December 3, 2015 by avb1987 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted December 3, 2015 А зачем вам поддержка TCP/UDP заголовка? source/dest IP - в IP заголовке же и идут... Т.е. хеш - по IP. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 3, 2015 FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке. А может у вас LACP на коммутаторе раундробином кидает? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
avb1987 Posted December 4, 2015 (edited) А зачем вам поддержка TCP/UDP заголовка? source/dest IP - в IP заголовке же и идут... Т.е. хеш - по IP. Мне она ни к чему, собственно вопрос возник из за того что увидел в README к драйверу ixgbe следующее: Support for UDP RSS------------------- This feature adds an ON/OFF switch for hashing over certain flow types. Only UDP can be turned on. The default setting is disabled. Only support for enabling/disabling hashing on ports for UDP over IPv4 (UDP4) or IPv6 (UDP6) is supported. NOTE: Fragmented packets may arrive out of order when RSS UDP support is configured. Стало интересно - а если не включать это, то как происходит распределение по очередям и не приводит ли оно к out of order. Т.е. получается что по-умолчанию RSS всегда распределяет только по IP-заголовку, и пакеты с одной парой отправитель/получатель всегда будут попадать в одну и ту же очередь? Edited December 4, 2015 by avb1987 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Tau Posted December 4, 2015 FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке. А может у вас LACP на коммутаторе раундробином кидает? Если бы... Т.е. получается что по-умолчанию RSS всегда распределяет только по IP-заголовку, и пакеты с одной парой отправитель/получатель всегда будут попадать в одну и ту же очередь? Буквально на прошлой неделе тестировал Linux 3.18, хеш работал на основе IP src, IP dst, PORT src, PORT dst. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 4, 2015 Стало интересно - а если не включать это, то как происходит распределение по очередям и не приводит ли оно к out of order. Т.е. получается что по-умолчанию RSS всегда распределяет только по IP-заголовку, и пакеты с одной парой отправитель/получатель всегда будут попадать в одну и ту же очередь? Там же написано: если включить распределение по юдп портам то фрагментированные пакеты могут уходить в разные очереди. Потому что в первом фрагменте есть юдп порт а в остальных уже нет. В остальном собирай стенд и тестируй: запускаешь одиночные пакеты и смотришь где прирастает, при этом это всё в какомнить изолированном сегменте чтобы броадкасты и прочее не отвлекало. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted February 11, 2016 Где-то читал , что в драйвере для 82599 так и не работает RSS для Q-in-Q? Так и не допили они? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
medvedv Posted February 12, 2016 RSS работает не в драйвере, а в железе. Не было и не будет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DDR Posted February 12, 2016 Где-то читал , что в драйвере для 82599 так и не работает RSS для Q-in-Q? Так и не допили они? RSS работает не в драйвере, а в железе. Не было и не будет. http://forum.nag.ru/forum/index.php?showtopic=98946&view=findpost&p=1041068 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
medvedv Posted February 13, 2016 Да, моя ошибка, посыпаю голову пеплом. В даташите про qinq в отношении rss ничего не сказано, собрал лабу, проверил, RSS считается для фреймов с двумя влан тегами. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...