p4-dev@lists.p4.org

list for questions/discussion of p4 programs and tools

View all threads

Support for CRC hash programming in P4Runtime

CK
Cristina Klippel Dominicini
Tue, Nov 9, 2021 12:38 AM

Hi all,

Our research group proposed a new source routing protocol, named PolKA, that forwards packets based on a CRC operation, as published at NetSoft 20:  https://ieeexplore.ieee.org/document/9165501

To that end, we need to configure the generator polynomials of the CRC hash. In the original prototype, we explored the simple_switch_CLI, to change the parameters for a custom crc16/crc32 hash (set_crc16_parameters and set_crc32_parameters).

Then, we started a partnership with the RARE group (https://wiki.geant.org/display/RARE/Home) and ported the original code to TNA, which also allows the configuration of custom CRC polynomials. The preliminary results were published at ONDM 21: https://ieeexplore.ieee.org/document/9492363/

With the support of Csaba Mate (FreeRouter lead developer),  and Frédéric Loui (RENATER), PolKA is now officially integrated to FreeRouter and the RARE project: https://twitter.com/rare_freerouter/status/1456552397405310979?s=20

RARE supports bmv2 with P4Runtime (simple_switch_grpc) and Tofino with BFRuntime (bf_switchd), as P4 data-plane targets. However, I was reading the P4Runtime specification, and could not find support for hash programming. Thus, I would like to know if there is any plan in this direction in the near future, since this functionality would be very important for our proposal. If not, could you please clarify if there is any specific limitation?

Thank you,
Cristina Klippel Dominicini


Esta mensagem (incluindo anexos) contém informação confidencial destinada a um usuário específico e seu conteúdo é protegido por lei. Se você não é o destinatário correto deve apagar esta mensagem.

O emitente desta mensagem é responsável por seu conteúdo e endereçamento.
Cabe ao destinatário cuidar quanto ao tratamento adequado. A divulgação, reprodução e/ou distribuição sem a devida autorização ou qualquer outra ação sem conformidade com as normas internas do Ifes são proibidas e passíveis de sanção disciplinar, cível e criminal.

Hi all, Our research group proposed a new source routing protocol, named PolKA, that forwards packets based on a CRC operation, as published at NetSoft 20: https://ieeexplore.ieee.org/document/9165501 To that end, we need to configure the generator polynomials of the CRC hash. In the original prototype, we explored the simple_switch_CLI, to change the parameters for a custom crc16/crc32 hash (set_crc16_parameters and set_crc32_parameters). Then, we started a partnership with the RARE group (https://wiki.geant.org/display/RARE/Home) and ported the original code to TNA, which also allows the configuration of custom CRC polynomials. The preliminary results were published at ONDM 21: https://ieeexplore.ieee.org/document/9492363/ With the support of Csaba Mate (FreeRouter lead developer), and Frédéric Loui (RENATER), PolKA is now officially integrated to FreeRouter and the RARE project: https://twitter.com/rare_freerouter/status/1456552397405310979?s=20 RARE supports bmv2 with P4Runtime (simple_switch_grpc) and Tofino with BFRuntime (bf_switchd), as P4 data-plane targets. However, I was reading the P4Runtime specification, and could not find support for hash programming. Thus, I would like to know if there is any plan in this direction in the near future, since this functionality would be very important for our proposal. If not, could you please clarify if there is any specific limitation? Thank you, Cristina Klippel Dominicini ________________________________ Esta mensagem (incluindo anexos) contém informação confidencial destinada a um usuário específico e seu conteúdo é protegido por lei. Se você não é o destinatário correto deve apagar esta mensagem. O emitente desta mensagem é responsável por seu conteúdo e endereçamento. Cabe ao destinatário cuidar quanto ao tratamento adequado. A divulgação, reprodução e/ou distribuição sem a devida autorização ou qualquer outra ação sem conformidade com as normas internas do Ifes são proibidas e passíveis de sanção disciplinar, cível e criminal.