2016-07-02 2 views
0

특정 lcore가 TCP 연결의 양면에 속한 패킷을 수신하기를 원합니다. 나는. 클라이언트에서 서버 (CtoS)로가는 패킷과 서버에서 클라이언트 (StoC)로가는 패킷은 모두 단일 코어로 전달됩니다. RSS는 스트림에 속한 패킷 (일방적 인 데이터 흐름)이 동일한 lcore로 전달되도록 보장합니다. 방향의 양면을 같은 lcore로 향하게하려면 대칭 RSS가 필요하다.TCP 연결에 속한 패킷을 DPDK의 특정 lcore로 보내려면?

  • 특정 lcore에 연결된 패킷을 전송하도록 NIC (예 : Intel 82599)를 구성하는 방법은 무엇입니까?
  • CtoS 트래픽과 StoC 트래픽이 동일한 NIC의 다른 포트에있을 때 특정 lcore에 연결에 속한 패킷을 보낼 수있는 방법이 있습니까?
  • 다른 NIC의 다른 포트는 어떻습니까?
+0

빠른 답변을 보려면 dpdk 메일 링리스트에 질문하십시오. – Haswell

답변

2

대칭 해싱은 아직 DPDK (16.07 이상)에서 직접 지원되지 않습니다. 그러나 메일 링리스트 here에서 해결 방법이 있습니다. this도 도움이 될 수 있습니다.

또 다른 옵션은 직접 부하 분산을 수행하는 것입니다. 예를 들어 NIC 대기열을 가져 와서 패킷을 파싱하고 소스/대상 ips와 포트를 추출하고 대칭 값을 계산하는 lcore를 가질 수 있습니다 (쉬운 접근 방법은 (src_port + dst_port + src_ip + dst_ip) % NUM_OF_SOFTWARE_RINGS

) d는 lcore와로드 밸런싱을 연결하는 데 rte_ring이 있어야합니다.이 접근법은 직접 RSS만큼 성능이 좋지 않습니다.