2012-03-01 32 views
12
1. ETH=$1 
2. LATENCY=$2 
3. LOSS=$3 
4. JITTER=$4 
5. BW=$5 
6. sudo /sbin/tc qdisc del dev eth0 root 
7. sudo /sbin/tc qdisc add dev eth0 root handle 1: netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10: netem loss $LOSS 
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20: htb default 1 
10.sudo /sbin/tc class add dev eth0 parent 20: classid 0:1 htb rate $BW ceil $BW 
11.sudo /sbin/tc qdisc show 

Kết quả mã trên trong:RTNETLINK câu trả lời: Không có tập tin hoặc thư mục lỗi

RTNETLINK answers :No such file or directory 

lỗi trên dòng 8,9,10 khi thực hiện.

+0

trùng lặp của http://stackoverflow.com/questions/4803069/rtnetlink-answers-no-such-file-or-directory?rq=1? –

+0

Bạn đã thử sử dụng 'tc qdisc list' để xem cái gì có hiệu lực không? Lỗi này đôi khi có nghĩa là bạn đang đề cập đến một mục nhập không tồn tại. – Neil

+0

Đối với bất kỳ ai khác nhận được điều này trên 'tc qdisc del dev ...' và chạy acress câu hỏi này, vấn đề cũng có thể là tất cả mọi thứ đã bị xóa. –

Trả lời

2

Tay cầm và núm điều khiển của bạn không khớp. ví dụ: thay đổi thành:

7. sudo /sbin/tc qdisc add dev eth0 root handle 1:1 netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10:1 netem loss $LOSS 
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20:1 htb default 1 
10.sudo /sbin/tc class add dev eth0 parent 20:1 classid 0:1 htb rate $BW ceil $BW 

và nó sẽ hoạt động.

+0

Không có điều đó không hoạt động hoặc –

10

Vấn đề là thiếu mô-đun hạt nhân và/hoặc hỗ trợ hạt nhân. Đảm bảo bạn có thể chạy

modprobe sch_netem 

Tôi cũng phải tạo lại hạt nhân sau khi bật vì có tích hợp sẵn được bật sau khi bạn bật mô phỏng mạng.

Xem thêm http://forums.fedoraforum.org/showthread.php?t=285408http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

+15

BTW, trong trường hợp của tôi, tôi cũng nhận được một lỗi bực bội trông giống hệt này. Nhưng tôi đã cố gắng sử dụng 'tc qdisc change ...' khi tôi định sử dụng 'tc qdisc add ...'. Thông báo lỗi là như nhau. Đi con số. –

+1

Tôi có thể chạy lệnh 'sch_netem' của modprobe, nó không đưa ra bất kỳ lỗi nào. Ngoài ra 'lsmod | grep -i sch_netem' trả về 'sch_netem 17306 0'. Nhưng lệnh 'qdisk change' lại cho tôi lỗi:' RTNETLINK trả lời: Không có tập tin hay thư mục nào như vậy ' –

+0

@DavidDombrowsky, cảm ơn vì đã phát hiện ra nó, tôi chỉ đang thử dòng ví dụ thứ hai từ http://www.linuxfoundation.org/collaborate/nhóm làm việc/mạng/netem, "thay đổi" s thay vì "thêm" ing. –

0

RTNETLINK answers :No such file or directory đến cho 2 lý do.

  • Thi tc qdisc với các tùy chọn sai
  • Hoặc Kernel Module sch_netem thiếu

Vì vậy, kiểm tra đầu tiên sch_netem được cài đặt trong máy tính của bạn bằng cách sử dụng lệnh lsmod -l. Nếu thiếu cài đặt bằng lệnh modprobe sch_netem.

Ngay cả sau khi cài đặt sch_netem, nếu bạn gặp lỗi này có nghĩa là bạn đang thực hiện tùy chọn sai. Ví dụ: bạn có thể thêm suy giảm trên giao diện mạng bằng cách sử dụng ip qdisc add dev .... Tương tự như vậy để loại bỏ điều này bạn có thể làm ip qdisc delete dev.... Nếu bạn đang cố gắng xóa một khiếm khuyết mà không có bất kỳ phương tiện bổ sung trước, sau đó bạn cũng nhận được lỗi này. Và cũng cho các tùy chọn sai bạn cũng nhận được lỗi này.

Các vấn đề liên quan