Q&A 1. Разбить настройку интерфейса на две части

Мне часто задают вопросы как решить ту или иную задачку по Python и я решила выкладывать эти вопросы и решения, на случай если кому-то это тоже пригодится. При желании, описание вопроса можно использовать как задачку и решить ее самостоятельно, а потом посмотреть вариант решения.

Это будет серия заметок такого типа, каждая с вопросом/задачей и вариантом решения.

Надо разбить настройку интерфейса на две части

English translation

Подробнее задача расписана по ссылке, там же находятся файлы с данными и решение.

Есть конфигурация интерфейса такого вида:

set interfaces ae0 unit 1001 description "EXAMPLE_1001"
set interfaces ae0 unit 1001 vlan-tags outer 18
set interfaces ae0 unit 1001 vlan-tags inner 10
set interfaces ae0 unit 1001 family inet policer input P-IN-L2
set interfaces ae0 unit 1001 family inet policer output P-OUT-L2
set interfaces ae0 unit 1001 family inet address 60.1.1.1/30

Эту конфигурацию надо разбить на две части:

set interfaces ae9 unit 1001 description "EXAMPLE_1001"
set interfaces ae9 unit 1001 encapsulation vlan-bridge
set interfaces ae9 unit 1001 vlan-tags outer 18
set interfaces ae9 unit 1001 vlan-tags inner 10
set interfaces ae9 unit 1001 family bridge policer input P-IN-L2
set interfaces ae9 unit 1001 family bridge policer output P-OUT-L2

и

set interfaces irb unit 1001 description "EXAMPLE_1001"
set interfaces irb unit 1001 family inet address 60.1.1.1/30
set interfaces irb unit 1001 mac 00:ff:3c:01:01:01

Все параметры берутся из исходной конфигурации, кроме MAC-адреса, который вычисляется из IP-адреса. Часть 00:ff: всегда одинакова, а остальные значения это IP-адрес в шестнадцатеричном формате.