Isso é muito comum em um iRule e, a menos que você tenha um BIG-IP muito carregado, você não deve ter um problema.
Se estiver preocupado, você pode ativar os horários do iRule para ver quantos ciclos de CPU estão sendo usados pela regra. O DevCentral tem um artigo antigo, mas bom, sobre como fazer isso . A única parte desatualizada é na v11 que você vai querer tmsh em vez de bigpipe (por exemplo, "regra de show / ltm").
Se você realmente quiser evitar iRules, um método alternativo é a Classe HTTP (Tráfego Local > Perfis > Protocolo > Classe HTTP), porém isso é classificado por URI e não por IP de origem. Ele permite que você envie URIs correspondentes a um pool diferente ou retorne um redirecionamento. Você pode combinar isso com o novo atributo Source em Virtual Servers na versão 11.3 para criar vários Virtual Servers, cada um manipulando somente o tráfego de uma rede específica.
No entanto, se você tiver muitos intervalos de fonte para cobrir, eu usaria apenas um iRule e um tipo de endereço Data Group (use o comando "match class .. equal" para procurar o IP do cliente no Data Group um pouco como você faria com uma tabela de roteamento).
Os Filtros de Pacotes são brutais e causam timeouts para o cliente, enquanto as opções de Classe HTTP ou iRule permitem que você escolha se deseja descartar a solicitação, escolher um pool diferente, retornar um redirecionamento ou retornar uma página de erro.