আমি জানি এটি 1 বছরের পুরানো প্রশ্ন তবে এটি গুগলে প্রথম স্থানের তাই এটিতে আমি 5 সেন্ট যোগ করতে পারি।
প্রথমে আমি ফ্রেমের ক্ষেত্রে এই মোড 8 রুল সম্পর্কে অবগত ছিলাম না ... এটি কোনও ড্রাইভার নিয়ম বা কার্নেল বিধি?
আমার যে সামান্য অভিজ্ঞতা রয়েছে, এই সংখ্যাগুলি বেশ জেনেরিক এবং আরও তথ্য ethtool
(যদি ড্রাইভার এটি সমর্থন করে) থেকে প্রাপ্ত করা যেতে পারে : এটি watch
কমান্ড থেকে ।
Every 1s: ethtool -S eth1 | grep rx_ && echo && ifconfig eth1 1970-01-01 00:21:07
rx_octets: 12635134290
rx_frames: 8488675
rx_broadcast_frames: 103
rx_multicast_frames: 0
rx_pause_frames: 0
rx_64_byte_frames: 113
rx_65_127_byte_frames: 47
rx_128_255_byte_frames: 186340
rx_256_511_byte_frames: 1
rx_512_1023_byte_frames: 0
rx_1024_1518_byte_frames: 8302174
rx_greater_than_1518_byte_frames: 0
rx_undersized_frames: 0
rx_oversize_frames: 0
rx_jabbers: 0
rx_frame_check_sequence_errors: 0
rx_length_field_frame_errors: 0
rx_symbol_errors: 0
rx_alignment_errors: 0
rx_resource_errors: 283
rx_overruns: 132
rx_ip_header_checksum_errors: 0
rx_tcp_checksum_errors: 0
rx_udp_checksum_errors: 0
eth1 Link encap:Ethernet HWaddr AA:BB:CC:DD:20:16
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a8bb:ccff:fedd:2016/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:8488675 errors:415 dropped:4 overruns:132 frame:283
TX packets:647464 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3892403548 (3.6 GiB) TX bytes:62273943 (59.3 MiB)
Interrupt:147 Base address:0xc000
ড্রাইভারের উপর নির্ভর করে বিভিন্ন ক্ষেত্রে ক্ষেত্র থাকবে ethtool
এবং
ifconfig
ক্ষেত্রগুলি নিম্নতর / বড় আকারের ফ্রেমগুলিতেও নির্দেশ করতে পারে।
যদি আপনার এনআইসি এবং ড্রাইভার এটি সমর্থন করে তবে আপনি প্রাক্তন করতে পারেন (বা হওয়া উচিত):
ifdown eth1 && modprobe -r macb && modprobe macb && ifup eth1 && ethtool -offload eth1 rx off tx off && ethtool -K eth1 gso off && ethtool --show-offload eth1
আরও তথ্য পাওয়ার জন্য (তথ্যটি এথোলে দেখানোর অনুমতি দেওয়া সক্ষম করুন)। আমি এখানে ম্যাকবি ড্রাইভার ব্যবহার করছি ... সুতরাং ethtool
আপনার ড্রাইভারের জন্য পরীক্ষা করুন।
ethtool -i eth1
এটিই আমাকে সাধারণত যা ঘটছে তা বুঝতে সাহায্য করে।
কখনও কখনও কোনও ত্রুটি থাকে না তবে প্যাকেটগুলি দূষিত হয় ... তবে এটি পিএইচওয়াইসিকাল বা ড্রাইভারের সমস্যা বেশি ... এবং কখনও কখনও স্নিফারগুলি সবকিছু ঠিক থাকে তবে এটি ড্রাইভার / কার্নেলের কাছে যাওয়ার পরে সমস্যা আছে (এটি উপরের ক্ষেত্রে রয়েছে) আসলে)।
আরও কিছু থেকে নেওয়া যেতে পারে netstat -s
, বা আপনি যদি এটি কোনও স্ক্রিপ্টে রাখেন (ছোট এম্বেডেড সিস্টেমের জন্য):
awk '(f==0) { i=1; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} (f==1){ i=2; while ( i<=NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}' /proc/net/netstat
যেহেতু netstat -s
উপলভ্য নাও হতে পারে।