Jump to content
Калькуляторы

RSS и порядок пакетов

Здравствуйте.

 

Может ли использование RSS (в данном случае имеется ввиду реализация RSS в драйверах igb, ixgbe в Linux) нарушать порядок прохождения пакетов/датаграмм, если да то в каких случаях?

 

Информация по этому вопросу весьма скудная.

Edited by avb1987

Share this post


Link to post
Share on other sites

Здравствуйте.

 

Может ли использование RSS (в данном случае имеется ввиду реализация RSS в драйверах igb, ixgbe в Linux) нарушать порядок прохождения пакетов/датаграмм, если да то в каких случаях?

 

Информация по этому вопросу весьма скудная.

FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке.

Думал что в Linux с этим порядок ((((

Share this post


Link to post
Share on other sites

Мы в настоящее время не используем RSS, так что не уверен что в Linux есть такая проблема. Вопрос пока что чисто теоретический. Я встречал упоминания что вроде как из за фрагментации пакетов некоторые адаптеры чтобы избежать некорректного порядка используют для хеша только IP-заголовок, а поддержка TCP и UDP-заголовков - опциональна. Но к сожалению не удалось найти внятных объяснений как это работает в случае Linux с указанными драйверами.

Edited by avb1987

Share this post


Link to post
Share on other sites

А зачем вам поддержка TCP/UDP заголовка? source/dest IP - в IP заголовке же и идут... Т.е. хеш - по IP.

Share this post


Link to post
Share on other sites

FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке.

А может у вас LACP на коммутаторе раундробином кидает?

Share this post


Link to post
Share on other sites

А зачем вам поддержка 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 by avb1987

Share this post


Link to post
Share on other sites

FreeBSD, карточка i350 (igb), 8 прерываний на 8 ядер. UDP прибегает в разном порядке.

А может у вас LACP на коммутаторе раундробином кидает?

Если бы...

 

Т.е. получается что по-умолчанию RSS всегда распределяет только по IP-заголовку, и пакеты с одной парой отправитель/получатель всегда будут попадать в одну и ту же очередь?

Буквально на прошлой неделе тестировал Linux 3.18, хеш работал на основе IP src, IP dst, PORT src, PORT dst.

Share this post


Link to post
Share on other sites

Стало интересно - а если не включать это, то как происходит распределение по очередям и не приводит ли оно к out of order. Т.е. получается что по-умолчанию RSS всегда распределяет только по IP-заголовку, и пакеты с одной парой отправитель/получатель всегда будут попадать в одну и ту же очередь?

Там же написано: если включить распределение по юдп портам то фрагментированные пакеты могут уходить в разные очереди. Потому что в первом фрагменте есть юдп порт а в остальных уже нет.

 

В остальном собирай стенд и тестируй: запускаешь одиночные пакеты и смотришь где прирастает, при этом это всё в какомнить изолированном сегменте чтобы броадкасты и прочее не отвлекало.

Share this post


Link to post
Share on other sites

Где-то читал , что в драйвере для 82599 так и не работает RSS для Q-in-Q? Так и не допили они?

Share this post


Link to post
Share on other sites

RSS работает не в драйвере, а в железе. Не было и не будет.

Share this post


Link to post
Share on other sites

Где-то читал , что в драйвере для 82599 так и не работает RSS для Q-in-Q? Так и не допили они?

RSS работает не в драйвере, а в железе. Не было и не будет.

http://forum.nag.ru/forum/index.php?showtopic=98946&view=findpost&p=1041068

Share this post


Link to post
Share on other sites

Да, моя ошибка, посыпаю голову пеплом. В даташите про qinq в отношении rss ничего не сказано, собрал лабу, проверил, RSS считается для фреймов с двумя влан тегами.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now