Onload®️는 Linux에서 BSD 소켓을 사용하는 애플리케이션의 TCP 및 UDP 네트워크 I/O를 가속화하는 고성능 사용자 수준 네트워크 스택입니다.
OpenOnload는 네트워크 관련 시스템 호출을 가로채고 프로토콜 스택을 구현하며 커널 모듈을 지원하는 사용자 수준 공유 라이브러리로 구성됩니다. 이는 fork(), exec(), Unix 도메인 소켓을 통해 소켓 전달, 애플리케이션이 예약되지 않은 경우 프로토콜 향상과 같이 사용자 수준 네트워킹에서 일반적으로 문제가 되는 측면을 포함하여 전체 시스템 호출 API와 호환됩니다. .
OpenOnload는 소스 코드로 배포됩니다. 제작, 패키징 및 설치에 대한 지침은 DEVELOPING.md에서 찾을 수 있습니다.
AMD Solarflare 인터페이스가 아닌 Onload로 가속화할 인터페이스가 있는 경우 다음을 실행하여 AF_XDP를 사용하여 가속화할 인터페이스를 등록합니다.
echo ens2f0 > /sys/module/sfc_resource/afxdp/register
Onload할 애플리케이션은 명령줄 앞에 onload
붙여 실행해야 합니다.
공개적으로 호스팅되는 저장소는 커뮤니티 지원 프로젝트입니다. 이 저장소에서 문제를 제기할 때 사용자는 최근 커널 변경 사항이 나타나기 전에 일반적으로 출시된 공식 버전의 Onload를 사용하지 않고 git 트리의 헤드에서 실행하여 최근 변경 사항을 선택할 것으로 예상됩니다. 중복된 문제가 많이 제기되고 있습니다. 최근 커널 버전에서 발생한 비호환성은 이 저장소에서 빠르게 수정될 가능성이 높습니다.
지원되는 OpenOnload 릴리스는 https://www.xilinx.com/support/download/nic-software-and-drivers.html#open에서 다운로드할 수 있습니다. [email protected]으로 지원되는 Onload 릴리스 에 대한 문제를 제기하십시오.
이 소스 트리는 다음 Linux 커널 및 배포판과 호환됩니다.
Onload는 Linux의 AF_XDP 메커니즘을 사용하는 것과 비교하여 AMD Solarflare 네트워크 어댑터가 제공하는 기본 ef_vi 하드웨어 인터페이스를 사용하여 최적의 네트워킹 가속 및 추가 기능을 제공합니다. 이 모드에서는 AF_XDP에 대한 커널 및 드라이버 지원이 필요하지 않습니다.
AMD Solarflare 네트워크 어댑터용 'sfc' 넷 드라이버 버전이 포함되어 있습니다.
다음 어댑터는 AF_XDP 없이 OpenOnload를 지원할 수 있습니다.
OpenOnload는 AF_XDP 지원을 통해 Solarflare가 아닌 네트워크 어댑터에서 애플리케이션을 가속화할 수 있습니다.
제로 복사를 지원하려면 Onload에 필요한 AF_XDP 기본 요소를 구현하는 AF_XDP 네트워크 어댑터 드라이버가 필요합니다. 일반적으로 네트워크 어댑터 공급업체의 최신 드라이버는 이러한 기본 요소를 지원합니다.
AF_XDP 지원은 현재 릴리스 품질이 아닌 진행 중인 커뮤니티 지원 작업입니다.
netdriver가 기본 모드에서 AF_XDP를 지원하지 않는 경우 Onload는 인터페이스를 등록할 때 일반 XDP 모드를 사용하려고 시도합니다. 이를 작동시키려면 인터페이스를 등록하기 전에 사용자 영역 도우미를 설정해야 합니다.
$ make -C ./src/tools/bpf_link_helper/
$ echo $( realpath ./src/tools/bpf_link_helper/bpf-link-helper ) | sudo tee /sys/module/sfc_resource/parameters/bpf_link_helper
OpenOnload는 SFC 드라이버 없이 구축될 수 있습니다.
make
: HAVE_SFC=0
변수를 사용합니다.onload_build
& onload_install
: --no-sfc
매개변수를 사용합니다.onload_tool reload
: --onload-only
매개변수를 사용합니다.또한 EFCT 및 AUX 지원 없이 구축할 수 있습니다.
make
: HAVE_EFCT=0
변수를 사용합니다.onload_build
: --no-efct
매개변수를 사용합니다. CONTRIBUTING.md를 참조하세요.
이 파일: (c) Copyright 2020-2024 Advanced Micro Devices, Inc.