메뉴 닫기

고성능 네트워크 패킷 포워딩 오픈 소스 Intel dpdk 최신 버전 2.0 배포

dpdk는 Interl과 6Wind 제휴하여 개발한 기술로 Intel 프로세서와 네트워크 카드를 사용하여네트워크 고성능
패킷 처리를 위한 라이브러리와 드라이버를 제공 합니다.

SDN과 관련하여 네트워크 고성능 패킷 처리에 유용하며 openvswitch와 연동할수 있으며 openvswitch와 연동되는
버전은 1.7.1 이고 https://github.com/01org/dpdk-ovs 에서 다운로드 가능합니다.

소스는 http://dpdk.org/ 홈페이지에서 다운로드후 리눅스에 설치가 가능하며 랜카드가 2개 이상이 된다면 
포워딩 테스트가 가능합니다.

하지만 홈페이지에서 Layer-3 포워딩, IPsec, firewalling 기타등등은 제공하지 않는다고 하니 고성능 패킷 포워딩
기능이 필요한 분들만 설치하시기 바랍니다.

또한 인텔 cpu가 아니면 테스트가 불가한점도 유의 바라며 지원되는 네트워크 카드도 설치 전에 확인 바랍니다.

※ 설치 가능 네트워크 카드
– e1000 (82540, 82545, 82546)
– e1000e (82571..82574, 82583, ICH8..ICH10, PCH..PCH2)
– igb (82575..82576, 82580, I210, I211, I350, I354, DH89xx)
– ixgbe (82598..82599, X540, X550)
– i40e (X710, XL710)
– fm10k

 

※ 메인 라이브러리
– multicore framework
– huge page memory
– ring buffers
– poll-mode drivers

 

※ 간단한 포워딩 테스트
– 압축 해제
tar xf dpdk.tar.gz
cd dpdk

– pcap 활성화
make config T=x86_64-native-linuxapp-gcc
sed -ri ‘s,(PMD_PCAP=).*,\1y,’ build/.config

– 라이브러리 설치
make

– huge page 설정
make config T=x86_64-native-linuxapp-gcc
sed -ri ‘s,(PMD_PCAP=).*,\1y,’ build/.config
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

-poll-mode 테스트
build/app/testpmd -c7 -n3 –vdev=eth_pcap0,iface=eth0 –vdev=eth_pcap1,iface=eth1 —
-i –nb-cores=2 –nb-ports=2 –total-num-mbufs=2048

testpmd> show port stats all

######################## NIC statistics for port 0 ########################
RX-packets: 0 RX-errors: 0 RX-bytes: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0
############################################################################

######################## NIC statistics for port 1 ########################
RX-packets: 0 RX-errors: 0 RX-bytes: 0
TX-packets: 0 TX-errors: 0 TX-bytes: 0
############################################################################

testpmd> start tx_first

testpmd> stop

———————- Forward statistics for port 0 ———————-
RX-packets: 2377688 RX-dropped: 0 RX-total: 2377688
TX-packets: 2007009 TX-dropped: 0 TX-total: 2007009
—————————————————————————-

———————- Forward statistics for port 1 ———————-
RX-packets: 2006977 RX-dropped: 0 RX-total: 2006977
TX-packets: 2377720 TX-dropped: 0 TX-total: 2377720
—————————————————————————-

+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 4384665 RX-dropped: 0 RX-total: 4384665
TX-packets: 4384729 TX-dropped: 0 TX-total: 4384729
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

[polldaddy rating=”7739789″]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다