Во всех современных ASIC это делается через TCAM, L2-L4 заголовок пакета матчится по значению/маске, далее с пакетом можно производить ряд действий - дропнуть пакет, переслать дальше без изменений, отправить в CPU либо поменять некоторые поля в заголовке (Vlan, DSCP, COS). Всё это на wire-speed без участия CPU.