В данной статье разберем аппаратные ресурсы в выводе команды show hw-module maximum, а так же нюансы использования различных ресурсов друг с другом.
Вывод команды show hw-module maximum для оборудования серии ME выглядит следующим образом:
0/ME5200:R4# show hw-module maximum Thu Apr 25 06:33:35 2024 FLAGS: N/S - Not Supported Transport-tunnels: MPLS transport tunnels, L3VPN service PHP tunnels Service-tunnels: MPLS L2VPN service tunnels, L3VPN service non-PHP tunnels Switch entries: MPLS Ingress Label Table Shared resources Resource Current Configured Approx. Cap. Used ----------------------- ------------ ------------ ------------- ----- CPU punt entries 65536 65536 N/S 2 Ingress shapers 128 128 N/S 0 Service tunnels 6144 6144 N/S 1 Mirrors 15 N/S N/S 0 TPID 3 N/S N/S 1 VLAN profiles 8 N/S N/S 2 Ingress rewrite 68 N/S N/S 1 Egress rewrite 260 N/S N/S 2 BFD timers 47 N/S N/S 1 BFD local RX/TX timers 8 N/S N/S 2 BFD source addresses 47 47 N/S 1 FEC 126970 N/S N/S 1 ECMP 4094 N/S N/S 0 Transport tunnels 2048 2048 N/S 33 IPv4 flows 0 0 N/S 0 IPv6 flows 0 0 N/S 0 IPv4 routes 1289709 1289709 1283688 5 IPv6 routes 32768 32768 596215 0 ACL entries 100 100 N/S 1 Flowspec resources 0 0 N/S 0 Flowspec ACL entries 32 32 N/S N/S ARP 53242 N/S N/S 1 Interfaces 8192 N/S N/S 39 VSI 8190 N/S N/S 3 Switch entries N/S N/S N/S 0 Policers 131068 N/S N/S 0 Policing profiles 4092 N/S N/S 0
0/FMC0:DR1_17.141# show hw-module maximum Thu Apr 25 13:29:58 2024 FLAGS: N/S - Not Supported Transport-tunnels: MPLS transport tunnels, L3VPN service PHP tunnels Service-tunnels: MPLS L2VPN service tunnels, L3VPN service non-PHP tunnels Switch entries: MPLS Ingress Label Table Shared resources Resource Current Configured Approx. Cap. Used ----------------------- ------------ ------------ ------------- ----- CPU punt entries 32768 32768 N/S 0 Ingress shapers 128 128 N/S 0 Service tunnels 6144 6144 N/S 603 Mirrors 15 N/S N/S 0 TPID 3 N/S N/S 1 VLAN profiles 8 N/S N/S 2 Ingress rewrite 68 N/S N/S 1 Egress rewrite 260 N/S N/S 2 BFD timers 8 N/S N/S 4 BFD local RX/TX timers 8 N/S N/S 3 FEC 27898 N/S N/S 353 ECMP 1022 N/S N/S 7 LC 0/1 Resource Current Configured Approx. Cap. Used --------------------- ------------ ------------ ------------- ----- Transport tunnels 2048 2048 N/S 56 IPv4 flows 0 0 N/S 0 IPv6 flows 0 0 N/S 0 IPv4 routes 913408 4294967295 913408 147 IPv6 routes 32768 32768 30720 29 ACL entries 0 0 N/S 0 Flowspec resources 0 0 N/S 0 Flowspec ACL entries 32 32 N/S N/S ARP 20474 N/S N/S 8 Interfaces 4096 N/S N/S 25 BFD source addresses 47 47 N/S 4 VSI 4094 N/S N/S 3 Switch entries N/S N/S N/S 0 Policers 65534 N/S N/S 0 Policing profiles 2046 N/S N/S 0 LC 0/3 Resource Current Configured Approx. Cap. Used --------------------- ------------ ------------ ------------- ----- Transport tunnels 2048 2048 N/S 56 IPv4 flows 0 0 N/S 0 IPv6 flows 0 0 N/S 0 IPv4 routes 913408 4294967295 913408 147 IPv6 routes 32768 32768 30720 29 ACL entries 0 0 N/S 0 Flowspec resources 0 0 N/S 0 Flowspec ACL entries 32 32 N/S N/S ARP 20474 N/S N/S 8 Interfaces 4096 N/S N/S 630 BFD source addresses 47 47 N/S 3 VSI 4094 N/S N/S 8 Switch entries N/S N/S N/S 0 Policers 65534 N/S N/S 0 Policing profiles 2046 N/S N/S 0
Следует заметить, что для ME5000M есть общая часть ресурсов, которая распределена на корзину (Shared resources) и есть ресурсы, которые выделяются отдельно на каждую LC плату(LC 0/1 и LC 0/3).
Что касается самих ресурсов:
CPU punt entries - Данные записи используются, как правила перехвата пакетов определённых протоколов на интерфейсах (ARP, NDP, ISIS, IGMP и т.д.) Например: При данной конфигурации выделится 8 ресурсов CPU punt entries( 1 для ipv4 ARP, 1 для ipv6 NDP, 3 ISIS, 2 DHCP, 1 IGMP) interface tengigabitethernet 0/0/2 ipv4 address 10.10.10.2/24 ipv6 address 1:1::1/126 exit router igmp interface tengigabitethernet 0/0/2 exit exit dhcp-server vrf default interface tengigabitethernet 0/0/2 address-family ipv4 address-range 10.10.10.3-10.10.10.5 exit router isis 1 interface loopback 1 address-family ipv4 unicast exit exit interface tengigabitethernet 0/0/2 address-family ipv4 unicast exit point-to-point exit net 49.0000.0000.0000.0000.00 Transport tunnels - Данные ресурсы считаются транспортные не PHP туннели, L3VPN туннели через PHP транспортные туннели и GRE туннели. FEC - Данные ресурсы используются для идентификации FEC в MPLS. ECMP - Данные ресурсы используются при наличии нескольких лучших маршрутов до адреса назначения, при наличии нескольких туннелей до одного FEC для RSVP транспорта. Расход данных ресурсов увеличивается при включение команды reroute-optimization для LDP транспорта, а так же при включении ecmp l3vpn для L3VPN трафика в конфигурационном блоке MPLS. Switch entry - Данные ресурсы используются для транзитных LSP туннелей, которые используются протоколами LDP и RSVP. Service tunnels - Данные ресурсы создаются для L3VPN туннелей через не PHP транспортные туннели и L2PW. ARP - Данные записи считаются, как динамически изученные ARP во всех vrf, но за исключением mgmt-intf. Mirrors - Данные ресурсы считаются, как созданные зеркала-получатели (destination). Interfaces - Данные ресурсы считаются, как все созданные интерфейсы на оборудовании, за исключением виртуальных интерфейсов (Loopback и bvi). ACL entries - Данные ресурсы считаются по формуле: Количество правил в ACL * Количество интерфейсов на которые этот ACL назначен. Имеет общий ресурс с IPvX flows и IPvX routes. IPv4 flows - Данные ресурсы классифицируют пакеты при работе netflow. При этом для интерфейсов, на которых включен netflow, создаётся одно дополнительное правило для перехвата пакетов. Имеет общий ресурс с IPvX flows и IPvX routes. IPv6 flows - аналогично IPv4 flows. IPv4 routes - Данные ресурсы считаются, как количество ipv4 маршрутов. Имеет общий ресурс с IPvX flows и IPvX routes. IPv6 routes - Аналогично IPv4 routes. VSI - Данные ресурсы считаются, как количество бриджей, L3-интерфейсов, а так же BGP соседей с AFI/SAFI MVPN. Ingress shapers - Данные ресурсы считаются, если на интерфейсе используются настройки shape input или service-policy input. Данная запись показывает количество таких интерфейсов. TPID - Данные записи используются для каждого уникального tpid-а который настраивается на интерфейсе (По умолчанию всегда расходуется 1 ресурс на 0x8100). VLAN profiles - Аппаратный ресурс, расходуется динамически. Ingress rewrite - Данные ресурсы считаются, если производятся уникальные действия над заголовком. Egress rewrite - Аналогично Ingress rewrite. BFD timers - Данные ресурсы используются каждый раз когда создаётся bfd сессия с отличающимся tx-интервалом. На данную запись влияют, как локальные, так и удаленные настройки bfd. BFD local RX/TX timers - Данные ресурсы используются каждый раз когда создаётся bfd сессия с отличающимся tx или rx-интервалом. Влияют только локальные настройки. BFD source addresses - Данные ресурсы используются каждый раз, когда создаётся bfd сессия с уникальным src адресом. Policing profiles - Данные ресурсы расходуются каждый раз, когда назначается rate-limit, acl-rate-limit на интерфейс с уникальными параметрами rate или burst, а так же при задании storm-control(в bridge domain или qos) для любого из видов трафика. Policers - Данные ресурсы расходуются каждый раз, когда назначается rate-limit, acl-rate-limit на интерфейс, а так же при задании storm control без привязки к уникальности. Важно отметить, что для bundle расходуется 2 единицы ресурса как для ресурса Policing profiles так для Policers .
Совместимость различных ресурсов
Следует обратить внимание на следующее. Если в конфигурации присутствует acl-qos или acl-default совместно с acl-entries + ipv4 flows - это приводит к тому, что выделенных ресурсов под ipv4 flows становится меньше(На ресурсы acl-entries это не влияет).
Например:
0/ME5200S:EOS# show running-config hw-module hw-module enable acl-qos hw-module maximum acl-entries 10 hw-module maximum ipv4 flows 441520
То на ipv4 flows выделится :
0/ME5200S:EOS# show hw-module maximum FLAGS: N/S - Not Supported Transport-tunnels: MPLS transport tunnels, L3VPN service PHP tunnels Service-tunnels: MPLS L2VPN service tunnels, L3VPN service non-PHP tunnels Switch entries: MPLS Ingress Label Table Shared resources Resource Current Configured Approx. Cap. Used ----------------------- ------------ ------------ ------------- ----- CPU punt entries 65536 65536 N/S 8 Ingress shapers 128 128 N/S 0 Service tunnels 6144 6144 N/S 1 Mirrors 15 N/S N/S 1 TPID 3 N/S N/S 3 VLAN profiles 8 N/S N/S 1 Ingress rewrite 68 N/S N/S 1 Egress rewrite 260 N/S N/S 1 BFD timers 8 N/S N/S 2 BFD local RX/TX timers 8 N/S N/S 2 BFD source addresses 47 47 N/S 1 FEC 126970 N/S N/S 1 ECMP 4094 N/S N/S 0 ACL entries 10 10 N/S 0 Transport tunnels 2048 2048 N/S 33 IPv4 flows 16384 441520 N/S 0 <<<<<<< IPv6 flows 0 0 N/S 0 IPv4 routes 1289709 1289709 4108434 4 IPv6 routes 32768 32768 1908182 3 ARP 53242 N/S N/S 1 Interfaces 8192 N/S N/S 39 VSI 8190 N/S N/S 3 Switch entries N/S N/S N/S 0 Policers 65534 N/S N/S 0 Policing profiles 2046 N/S N/S 0
Если же вы примените:
0/ME5200S:EOS# show running-config hw-module hw-module enable acl-default hw-module maximum acl-entries 10 hw-module maximum ipv4 flows 441520
То на ipv4 flows у вас выделится:
0/ME5200S:EOS# show hw-module maximum FLAGS: N/S - Not Supported Transport-tunnels: MPLS transport tunnels, L3VPN service PHP tunnels Service-tunnels: MPLS L2VPN service tunnels, L3VPN service non-PHP tunnels Switch entries: MPLS Ingress Label Table Shared resources Resource Current Configured Approx. Cap. Used ----------------------- ------------ ------------ ------------- ----- CPU punt entries 65536 65536 N/S 8 Ingress shapers 128 128 N/S 0 Service tunnels 6144 6144 N/S 1 Mirrors 15 N/S N/S 1 TPID 3 N/S N/S 3 VLAN profiles 8 N/S N/S 1 Ingress rewrite 68 N/S N/S 1 Egress rewrite 260 N/S N/S 1 BFD timers 8 N/S N/S 2 BFD local RX/TX timers 8 N/S N/S 2 BFD source addresses 47 47 N/S 1 FEC 126970 N/S N/S 1 ECMP 4094 N/S N/S 0 ACL entries 10 10 N/S 0 Transport tunnels 2048 2048 N/S 33 IPv4 flows 262144 441520 N/S 0 <<<<<<< IPv6 flows 0 0 N/S 0 IPv4 routes 1289709 1289709 4108434 4 IPv6 routes 32768 32768 1908182 3 ARP 53242 N/S N/S 1 Interfaces 8192 N/S N/S 39 VSI 8190 N/S N/S 3 Switch entries N/S N/S N/S 0 Policers 65534 N/S N/S 0 Policing profiles 2046 N/S N/S 0
Данное поведение связано с аппаратными особенностями.
На оборудовании серии ME различные функции так же конкурируют за ресурсы. Так, при следующей конфигурации:
0/ME5200S:EOS# show running-config hw-module hw-module enable acl-default hw-module enable acl-qos
Функционал acl-qos перестанет работать, а на оборудовании появится авария:
0/ME5200S:EOS# show alarms Mon Dec 25 09:06:54 2023 2023-12-25T09:06:54.581825+00:00 %KLISH-I-COMMAND: From klish terminal [user='admin' host='0.0.0.0' terminal='console' vrf='default'] command: 'show alarms' ID Code Type Device Severity Duration Description ---- ------------------------------------------------- ------------- -------- --------- ----------- ------------ 1 An unsupported configuration with acl alarm trap local warn 05h25m37s acl-qos can't work with acl-default and ipv4/6 flows jointly