XDP requires null passing to sendto and recvfrom

Aberta
#1,530 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
linux, rust
Domínio
networking

Direção de pesquisa

Comece lendo as APIs sendto e recvfrom do rustix e como elas representam buffers e endereços de socket; em seguida, compare suas restrições com a documentação vinculada de AF_XDP XDP_USE_NEED_WAKEUP. O trabalho estará concluído quando as chamadas relevantes puderem oferecer suporte ao comportamento de null buffer e endereço de socket necessário para ativar o anel XDP apropriado sem enfraquecer a segurança para outros chamadores.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

When using XDP with XDP_USE_NEED_WAKEUP, the kernel needs to be woken up by calling either sendto or recvfrom depending on the ring using the fd.

According to the docs (https://docs.ebpf.io/linux/concepts/af_xdp/#xdp_use_need_wakeup), since the buffers are handled separately in the rings and not actually passed to sendto/recvfrom, you need to pass null for the buffers as well as the socket addresses.

I guess for the buffers we could pass an empty slice to rustix (which still wouldn't be optimal) - but the sockaddr can't be passed as null under any circumstances right now.

Linguagem predominante
Rust
Estrelas
2.1k
Forks
322
Merge médio
5d 16h
PRs com merge (30d)
9

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de bytecodealliance/rustix

Todas as issues de bytecodealliance/rustix

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.