मैं एक dpdk प्रयोग कर रहा हूँ। मेरे सेटअप में, मेरे पास दो भौतिक मशीनें हैं, Host1 और Host2 प्रत्येक पर 2 10Gbps NIC के साथ। Host1 का एक इंटरफ़ेस dpdk से घिरा है और pktgen का उपयोग करके ट्रैफ़िक उत्पन्न कर रहा है। Host2 के दोनों इंटरफेस dpdk से बंधे हैं और l3fwd पैकेट फ़ॉरवर्डिंग एप्लिकेशन के रूप में चल रहा है। Host2 के दूसरे NIC का उपयोग पैकेटों को पकड़ने के लिए किया जाता है। मैं होस्ट 2 के प्रत्येक इंटरफ़ेस में बिताए गए समय को देखकर पैकेट द्वारा अनुभव की गई देरी को तोड़ना चाहता हूं।

क्या पैकेट अग्रेषण अनुप्रयोगों के रूप में l3fwd का उपयोग करके dpdk इंटरफेस के पैकेट को कैप्चर करने का कोई तरीका है?

0
Yogesh 23 मार्च 2020, 17:46

2 जवाब

Pdump dpdk से बंधे किसी भी पोर्ट पर पैकेट कैप्चर करने के लिए एक अच्छा टूल है। pdump टूल को निम्नानुसार लॉन्च करें:

sudo ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap'

और पैकेट प्राप्त होने के बाद, उन्हें देखने के लिए होम/अस्थायी निर्देशिका में निम्न कमांड चलाएँ

tcpdump -nr ./capture.pcap
0
Muhammad Bilal 28 अप्रैल 2020, 00:16
डिफ़ॉल्ट रूप से l3fwd एप्लिकेशन rte_pdump_init का आह्वान नहीं करता है। इसलिए dpdk-pdump चलाना कैप्चर नहीं करेगा। मैं पहले ही इसका उत्तर दे चुका हूं।
 – 
Vipin Varghese
7 मई 2020, 05:05

डीपीडीके इंटरफेस के लिए आप डीपीडीके बंधुआ निक से पैकेट प्राप्त करने के लिए डीपीडीके-पीडीयूएमपी कैप्चर का उपयोग कर सकते हैं। https://doc.dpdk.org/guides-16.07/sample_app_ug/pdump.html देखें।

एप्लिकेशन l3fwd को rte_eal_init के ठीक बाद rte_pdump_init API कॉल के साथ संशोधित किया जाना है। यह बहु-प्रक्रिया संचार चैनल को सक्षम करेगा, जब dpdk-pdump (सेकेंडरी) एप्लिकेशन rte_ring चलाया जाता है और सामग्री को कॉपी करने के लिए पैकेट कॉपी सक्षम होती है।

नोट: कृपया उपयोग पर DPDK PDUmp ऐप देखें। उदाहरण के लिए पोर्ट 0 और कतार 1 से पैकेट कॉपी करने के लिए sudo ./[path to applciation]/dpdk-pdump -- --pdump 'port=0,queue=1,rx-dev=/tmp/port0_queue1.pcap' का उपयोग करें

0
Vipin Varghese 15 सितंबर 2021, 07:53