|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
Non riescoa trovare nel kernel il codice di questo comando
Ciao a tutti,
sto cercando nel codice del kernel il codice che implementa questo comando tc filter add dev eth2 parent ffff: protocol ip prio 1 u32 match ip src 0.0.0.0/0 police rate $1 burst $2 drop flowid :1 ho provato con il codice police.c in net/sched ma sembra non essere quello. ho bisongo di sapere quel è il codice perchè devo implementarci un proc file. Grazie anticipatamente |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
E' probabilmente qualche sorta di ioctl.
Ti do una dritta che mi è stata utile diverse volte: per sapere quali syscall e ioctl utilizza un comando, niente di meglio che uno strace: strace -f -o strace.out <programma> <argomenti>
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Comunque, visto che sei interessato a parti del kernel abbastanza complicate, ti consiglio di chiedere direttamente agli esperti.
Questa è la mailing list netdev del kernel: http://vger.kernel.org/vger-lists.html#netdev dove puoi spiegare le tue necessità e chiedere consigli su come procedere. Per questioni generali su come scrivere codice per il kernel, ti consiglio di chiedere a questa mailing list: http://www.kernelnewbies.org/MailingList
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
ciao,
innanzituto grazie per l'attenzione e le risposte. purtroppo però facendo lo strace non sono riuscito a capire il codice invocato. Lo allego: execve("/sbin/tc", ["tc", "filter", "add", "dev", "eth0", "parent", "ffff:", "protocol", "ip", "prio", "1", "u32", "match", "ip", "src", "0.0.0.0/0", "police", "rate", "3000", "burst", "75", "drop", "flowid", ":1"], [/* 65 vars */]) = 0 uname({sys="Linux", node="localhost", ...}) = 0 brk(0) = 0x806b000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7feb000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=71532, ...}) = 0 old_mmap(NULL, 71532, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fd9000 close(3) = 0 open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@$\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=63188, ...}) = 0 old_mmap(NULL, 75944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fc6000 old_mmap(0xb7fd5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0xb7fd5000 old_mmap(0xb7fd7000, 6312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fd7000 close(3) = 0 open("/lib/tls/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0203\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=136904, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc5000 old_mmap(NULL, 139424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa2000 old_mmap(0xb7fc3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0xb7fc3000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\v\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=9508, ...}) = 0 old_mmap(NULL, 12392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9e000 old_mmap(0xb7fa0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb7fa0000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000O\1\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1209384, ...}) = 0 old_mmap(NULL, 1219740, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e74000 mprotect(0xb7f97000, 27804, PROT_NONE) = 0 old_mmap(0xb7f98000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123000) = 0xb7f98000 old_mmap(0xb7f9c000, 7324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f9c000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e73000 mprotect(0xb7f98000, 4096, PROT_READ) = 0 mprotect(0xb8000000, 4096, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e736c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) =0 munmap(0xb7fd9000, 71532) = 0 brk(0) = 0x806b000 brk(0x808c000) = 0x808c000 open("/proc/net/psched", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fea000 read(3, "000fa000 000f4240 000f4240 00000"..., 1024) = 36 close(3) = 0 munmap(0xb7fea000, 4096) = 0 open("/usr/lib/tc/f_u32.so", O_RDONLY) = -1 ENOENT (No such file or directory) socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=20310, groups=00000000}, [12]) = 0 time(NULL) = 1156935921 sendto(3, "\24\0\0\0\22\0\1\3\362p\365D\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\344\0\0\0\20\0\2\0\362p\365DVO\0\0\0 \4\3\1\0\0\0I\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 924 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\362p\365DVO\0\0\0\0\0\0\1\0\0\0I\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 20 sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\240\4\0\0,\0\5\6\363p\365D\0\0\0\0\0\0\0\0\2\0\0\0\0\0"..., 1184}], msg_controllen=0, msg_flags=0}, 0) = 1184 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"$\0\0\0\2\0\0\0\363p\365DVO\0\0\352\377\377\377\240\4\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 36 dup(2) = 5 fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR) fstat64(5, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fea000 _llseek(5, 0, 0xbfff6a60, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(5, "RTNETLINK answers: Invalid argum"..., 36RTNETLINK answers: Invalid argument ) = 36 close(5) = 0 munmap(0xb7fea000, 4096) = 0 write(2, "We have an error talking to the "..., 39We have an error talking to the kernel ) = 39 close(3) = 0 exit_group(2) = ? Il codice dovrebbe quasi sicuramente essere contenuto in net/sched e qui non trovo questa directory Ma magari qualcun ne capisce più di em e uardandolo capisce quale è Ho provato a iscrivermi al rpimo dei due link consigliati, ma non mi invia la mail di iscrizione. Grazie ancora! Ciao Franco |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
mmm dialoga tramite netlink con qualcuno. Vai a capire ora con chi...
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
si ma poi la mail inviata non arriva a destinazione...
ci ho provato due volte e mi miene inviata una mail di delivery statis notification grazie di nuovo ciao |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Mah strano...non vorrei che il tuo server di posta è bloccato, perché reputato a "rischio spam".
Comunque credo che la lista sia aperta a tutti, puoi ugualmente mandare messaggi a [email protected] (se arrivano Specifica che non sei iscritto e di tenerti in CC nelle risposte.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#8 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
hai ragione, con un altra mail arrivano! ora posto li il problema!
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
no mi sono sbagliato, anche con questo indirizzo è stato considerato spam
adesso invio la mail a [email protected] ciao |
|
|
|
|
|
#10 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
niente non riesco a far passare nessuna mail! mannaggia!!!
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ricorda di inviare mail in plain/text, non in html.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#12 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
alla fine sono riuscito a mandare questa fatidica mail, ma ancora nessuna risposta illuminante.
continuando a cerca sul web ricado sempre i police.c a questo punto sto anche a pensare che sbaglio qualcosa di banale nella creazione del proc file e ho allegato il codice zippato di police.c modificato, se magari qualcuno è esperto di proc file, può notare l'errore al volo grazie di nuovo! CIAO!!! |
|
|
|
|
|
#13 |
|
Junior Member
Iscritto dal: Mar 2006
Messaggi: 29
|
mi hanno risposto [email protected]
sembra che il problema stia nel make menuconfig. To build the code you need to alter your kernel options under 'make menuconfig' Networking, Networking Options, Qos and/or fair queueing, Actions must be selected and then Traffic Police. purtroppo Traffic Police è selezionato ma non c'è M che significa "modularized featured", quindi non so adesso ho postato loro anche questo, ma temo che devo cambiare versione di linux... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:07.



















