2017-02-02 5 views
0

25Gbeカードを購入して、現時点でそのカードを評価中です.25Gストリームを受信できないようです64バイトのUDPまたはTCPパケットトラフィック。 dpdk-pktgenを使って重大なパケットを落として、設定した数のコアを使用していることを伝えます。調べるのが最も難しいのは、パケットがMACに入ってきて、物理レイヤーに到達したときにパケットがドロップされる理由です。これは、パケットの受信の分散が正しく処理されていないと私に信じさせる。私がRSSをdpdkの下でデバイスでは起こっていないと信じさせる。 IRQは、システムで使用されているコアに分散されており、カーネルがその上でジョブを実行するのを防ぐために分離されており、必要なすべてのチューニングは完了したことを示しているようです。この障害を乗り越えることはできません。RSSを使用してdpdk-pktgenを設定して使用する方法がわからない

コマンドの実行dpdk-pktgenを初期化する:

RTE_SDK=../dpdk_Src/share/dpdk/ sudo -E ./app/build/pktgen -c 0x555555555 -n 8 w 03:00.1 -- -T -m '[2-28:29-33].0' -N -P 

私はDPDK RSSによって提供されているドキュメントを読んでいますが、変更内容を確認することができていません。私はdpdkのソース "$ RTE_SDK/drivers/net/mlx5/mlx5-rss.c"に含まれている実際のドライバを変更し、それが示唆しているキーに追加しました、pktgen-port-cfg.cファイルも操作しました同じ命令が、私はすなわちを使用したいキーを反映するためにrx_adv_confを変更するコード

const struct rte_eth_conf default_port_conf = { 
    .rxmode = { 
      .split_hdr_size = 0, 
      .header_split = 0, /**< Header Split disabled. */ 
      .hw_ip_checksum = 0, /**< IP checksum offload disabled. */ 
      .hw_vlan_filter = 0, /**< VLAN filtering enabled. */ 
      .hw_vlan_strip = 0, /**< VLAN strip enabled. */ 
      .hw_vlan_extend = 0, /**< Extended VLAN disabled. */ 
      .jumbo_frame = 0, /**< Jumbo Frame Support disabled. */ 
      .hw_strip_crc = 0, /**< CRC stripping by hardware disabled. */ 
    }, 
    .rx_adv_conf = { 
      .rss_conf = { 
        .rss_key = NULL, 
        .rss_key_len = 0, 
        .rss_hf = ETH_RSS_IP, 
      }, 
    }, 
    .txmode = { 
      .mq_mode = ETH_MQ_TX_NONE, 
    }, }; 

の以下のスニペットを変更すると。

.rx_adv_conf = { 
      .rss_conf = { 
        .rss_key = "65da65da65da65da65da65da65da65da65da65da", 
        .rss_key_len = 40, 
        .rss_hf = ETH_RSS_IP, 
      }, 
    }, 

事がdocumenationが明示的に述べていないかのように長いrss_hfパラメータが設定されているとして、それは内部的に定義され、RSSを使用すると述べているように見えるです。また、pktgenやethtoolなどのツールでリング受信率を確認する方法があるのでしょうか?

答えて

0

ETH_RSS_IPは、送信元および宛先IPを使用してハッシュフローを意味します。したがって、RSSを活用するためには、生成するパケットに異なる送信元/宛先IPが必要です。

関連する問題