Consistent code composition and modular data plane programming - Parizotto, Ricardo (2020)
Planos de dados programáveis (PDP) permitem mais flexibilidade para a operação de redes. Os vários benefícios da programabilidade levaram a comunidade a desenvolver novos softwares, tanto na academia quanto na indústria. Para aproveitar plenamente os benefícios da programabilidade, deve ser possível compor e operar várias funções do PDP em um único switch de destino, conforme necessário. No entanto, as técnicas existentes não são adequadas no sentido em que usam um número excessivo de estados e tabelas de encaminhamento e não possuem abstrações para o direcionamento interno de pacotes através dos fluxos de controle. Portanto, as técnicas existentes não suportam a composição modular de funções ao PDP. Esta dissertação propõe PRIME, um mecanismo de composição de funções em rede que também atende às necessidades fundamentais do direcionamento interno de pacotes entre os módulos de um programa PDP. PRIME permite que os operadores de rede especifiquem composições de funções de rede escritas em P4 e como o tráfego as atravessa. A composição emprega uma fase de verificação para identificar ambiguidades em nível do código fonte e evitar loops dentro do pipeline do switch. Uma tabela adicional e um sistema de gerenciamento para o plano de controle garantem o direcionamento de pacotes através dos fluxos de controle. Apresentamos um protótipo do PRIME, juntamente com uma prova da corretude do módulo de direcionamento de tráfego. Os resultados mostram que é possível obter composições de módulos com pouco custo adicional em termos de atraso e taxa de transferência.