Cisco %CEF-3-PUNTINTF: Packet punted to CPU via interface — оптимизация CEF
В логах фиксируется ошибка %CEF-3-PUNTINTF: CEF packet punted to CPU via interface [interface_name] : [reason]. Утилизация CPU процессом IP Input возрастает до 90-100%, увеличивается задержка (RTT) прохождения транзитного трафика, возникают потери пингов.
1. Идентификация причин отправки пакетов на CPU (Punt Path)
show cef not-cef-switched
show platform hardware punt statistics
show processes cpu history2. Анализ типовых причин отключения аппаратного CEF:
- IP Options / TTL=1: Пакеты с включенными опциями IP (Router Alert, Record Route) не могут обрабатываться аппаратно.
- Unresolved Adjacency: Пакеты на адрес назначения, для которого нет записи в ARP таблице (Glean adjacency).
- MTU Fragmentation: Необходимость фрагментации пакета, превышающего MTU интерфейса.
- Unsupported ACL features: Логирование ACL (директива
log/log-input) принудительно отправляет пакеты на CPU. - uRPF checks: Неподдерживаемый режим uRPF на старых ревизиях ASIC.
3. Отключение избыточного логирования в Access-листах
! Найдите и удалите флаги 'log' в высоконагруженных ACL
configure terminal
ip access-list extended WAN_FILTER
no permit tcp any any eq 80 log
permit tcp any any eq 80
end4. Включение защиты Control Plane (CoPP) и Rate-Limit для Punt пакетов
configure terminal
platform punt-police
platform ip punt icmp unreachable rate 100
end5. Проверка статуса CEF на проблемном интерфейсе
show cef interface GigabitEthernet0/0/1
configure terminal
interface GigabitEthernet0/0/1
ip route-cache cef
end Частые вопросы (FAQ)
Что означает понятие 'Punted to CPU'?
Это передача сетевого пакета из быстрого аппаратного конвейера ASIC/Data Plane в центральный процессор общего назначения (RP CPU) для софтверной обработки.
Почему ключевое слово 'log' в ACL приводит к росту загрузки CPU?
Аппаратные микросхемы TCAM не умеют форматировать текстовые логи Syslog. Каждый совпадающий с правилом пакет должен быть прерван и скопирован в память CPU.
Как защитить маршрутизатор от DoS-атак на основе сброса на CPU?
Настройте политику Control Plane Policing (CoPP) или Control Plane Protection (CPPr), жестко ограничив лимиты для классов traffic punt / exceptions.
Что такое Glean Adjacency?
Это состояние CEF, когда префикс сети известен, но конкретный MAC-адрес хоста назначения еще не определен в ARP. Первый пакет отправляется на CPU для генерации ARP Request.