Поделиться через


Обработка отправки и получения VMMQ

Виртуальные машины с несколькими очередями (VMMQ) эффективно распределяют сетевой трафик для виртуальных портов физических функций (PF VPorts) с помощью обработки RSS. Дополнительные сведения об интерфейсе SR-IOV и его компонентах см. в статье Sr-IOV Architecture.

На следующем рисунке показан путь получения сетевых пакетов в интерфейсе VMMQ.

схема, иллюстрирующая пути к данным сетевых пакетов с помощью vmmq.

По пути получения, когда пакет поступает в сетевой адаптер, поддерживающий VMMQ, он:

  1. Соответствует MAC-адресу назначения для поиска целевого VPort.

  2. Использует параметры RSS VPort (секретный ключ, хэш-функция и тип хэша) для вычисления значения RSS-хэша пакета.

  3. Использует хэш-значение для индексирования таблицы косвенного обращения, связанной с VPort. Значения в таблице косвенного обращения используются для назначения полученных данных обработчику.

  4. Прерывает работу целевого процессора, и полученный пакет указывается в сетевом стеке узла.

При указании полученного NBL адаптер минипорта устанавливает соответствующие значения в полях идентификатора VPort и RSS, связанных с каналом.

На пути передачи сетевой адаптер должен использовать значение хэша RSS в пакете (при наличии) в качестве индекса в таблице косвенного обращения RSS для VPort. Сетевой адаптер использует это значение таблицы косвенного обращения для определения обработчика, который обрабатывает полные прерывания передачи и DPC для пакета.

Если сетевой адаптер не может вычислить значение RSS-хэша полученного пакета или значение хэша RSS отсутствует в передаваемом пакете, он должен использовать обработчик RSS по умолчанию для VPort в качестве целевого процессора RSS. Обработчик RSS по умолчанию для VPort будет указан в параметрах RSS для VPort. Дополнительные сведения см. в разделе Включение, отключение и обновление VMMQ в VPort.

Сетевой стек узла может динамически обновлять параметры RSS VPort во время выполнения. Сетевой адаптер должен реагировать на изменения в параметрах RSS виртуального порта с минимальным прерыванием трафика в VPort и из него.