明確為 UDP 連接埠啟用 GRO

明確為 UDP 連接埠啟用 GRO

我正在用 python 實現一個簡單的套接字應用程序,我需要它來接收啟用了 GRO 的 UDP 封包。我已經檢查過只有 Python 服務正在運行並且 GRO 已通過以下方式啟用

eththool -k eth0 | egrep 'generic'

它顯示 GSO 和 GRO 均已啟用。

另外,我使用 scapy 發送類似於下面的 UDP 包。他們沒有故意攜帶有效載荷。

send(IP(dst="123.456.789.123")/UDP(dport=5000),count=10)

這是我迄今為止用 Python 寫的內容

import socket, select

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 0)

s.bind(('123.456.789.123',5000))

while True:
  result = select.select([s],[],[])
  output = result[0][0].recv(512)
  print (output)

因此,每次發送包時都會列印出包的有效負載(僅用於監視目的)。它可以工作並通過檢查端口

netstat -tulpen

它顯示連接埠正在運行,為 UDP 打開。

現在我想在此連接埠上強制啟用 GRO,我該怎麼做?有任何支持來做這樣的事情嗎?

我正在運行核心版本為 5.0 的 Linux Ubuntu

相關內容