Операции над метками
После того, как кадр с определённой меткой был направлен в определённый сервисный интерфейс над меткой может выполняться операция замены, удаления или добавления значения. Для этого выполняется команда rewrite с различными аргументами.
Если кадр после прохождения сервисного интерфейса будет передаваться на интерфейс для последующей обработки на уровне L3 (исключение интерфейс BDI) над ним должна быть выполнена команда с аргументом pop. Операция pop удаляет метку из кадра.
Если кадр после прохождения через сервисный интерфейс будет передан в порт или bridge, то тут могут быть выполнены все возможные операции над метками.
Команды операций над метками
Таблица — Варианты команд операций над метками
Вид операции над меткой | Описание |
---|---|
rewrite pop <VALUE> | Операция снятия метки. VALUE равен 1 или 2. |
rewrite push <VALUE> <VALUE> | Добавление метки. VALUE значение метки. Верхняя метка — первая. |
rewrite translate 1-to-1 <VALUE> | Замена одной метки на другую. Где VALUE значение новой метки. |
rewrite translate 1-to-2 <VALUE> <VALUE> | Замена одной метки на две других. |
rewrite translate 2-to-2 <VALUE> <VALUE> | Замена двух меток на две других. |
rewrite translate 2-to-1 <VALUE> | Замена двух меток на одну. |
Направление движения трафика через сервисный интерфейс
Операции над меткой в кадре осуществляются при движении в обоих направлениях через сервисный интерфейс. Например, при прохождении кадра от порта к присоединённому интерфейсу и от интерфейса к порту. Правила обработки метки в обратном направлении создаются автоматически. Разновидность работы сервисного интерфейса, работающего в две стороны симметрично, называется ambiguous. Если в сервисном интерфейсе задана операция pop при движении кадра от порта к интерфейсу, то при движении пакета от интерфейса к порту будет выполняться push. Создание такого сервисного интерфейса возможно при явном указании нужной метки.
Пример:
encapsulation dot1q 3 exact
rewrite pop 1
В данном примере при движении в одну сторону метка 3 будет сниматься, при движении в обратную сторону — добавляться. Разновидность работы сервисного интерфейса, работающего несимметрично в две стороны, называется unambiguous. Такой сервисный интерфейс создаётся при общем правиле обработки диапазона меток.
Пример:
encapsulation dot1q 1-3 exact
При движении трафика в одну сторону единственная метка, попадающая в указанный диапазон, будет сниматься, при движении в обратную сторону кадр будет передаваться без метки, так как не очевидно, какую метку из диапазона в него необходимо поместить. Эта особенность накладывает ограничения на использование такой разновидности сервисных интерфейсов в некоторых сценариях.