J'ai un module noyau Linux qui doit trouver la vitesse d'une interface réseau donnée ("eth0"). Pour linux 2.6.31 comment pourrais-je trouver la vitesse (configurée/négociée)?comment puis-je déterminer la vitesse d'un périphérique réseau à partir d'un module noyau Linux
2
A
Répondre
4
Chaque pilote réseau dispose d'une implémentation "ethtool" pour de telles fonctionnalités. Mais vous avez probablement besoin d'une fonction générique qui peut vous donner la vitesse d'une structure netdev générique. Vous pouvez jeter un oeil à net/core/net-sysfs.c et voir comment il implémente l'interface/sys/class/net. Par exemple:
static ssize_t show_speed(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct net_device *netdev = to_net_dev(dev);
int ret = -EINVAL;
if (!rtnl_trylock())
return restart_syscall();
if (netif_running(netdev) &&
netdev->ethtool_ops &&
netdev->ethtool_ops->get_settings) {
struct ethtool_cmd cmd = { ETHTOOL_GSET };
if (!netdev->ethtool_ops->get_settings(netdev, &cmd))
ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd));
}
rtnl_unlock();
return ret;
}
Questions connexes
- 1. Port USB Vitesse Linux
- 2. Linux Real Mode Interface dans un module noyau Linux
- 3. Réduire la vitesse du GPU dans le noyau Linux
- 4. Comment obtenir la vitesse de l'interface réseau sous Linux?
- 5. autorisations du module du noyau linux
- 6. Comment obtenir le compte d'utilisation du module noyau Linux?
- 7. Makefile pour le module noyau Linux?
- 8. Comment appeler Linux syscall à partir de l'espace noyau?
- 9. Comment automatiser la compilation du module noyau Linux lors de l'installation d'un nouveau noyau?
- 10. Comment allouer une page exécutable dans un module noyau Linux?
- 11. Puis-je configurer Linux SIGUSR1 à partir du noyau?
- 12. comment gérer qdisc à partir du noyau
- 13. Comment construire un module de noyau
- 14. Quelles options avons-nous pour la communication entre un programme utilisateur et un module noyau Linux?
- 15. Linux noyau démarrer à partir de mon bootloader
- 16. Mise en réseau à partir d'un pilote en mode noyau
- 17. Comment construire mpich2 avec le module réseau sctp sous Linux?
- 18. Puis-je utiliser strtok() dans un module de noyau Linux?
- 19. Comportement étrange de printk dans le module noyau Linux
- 20. Comment patcher le noyau Linux?
- 21. Comment faire dépendre un module de noyau Linux d'un autre module externe avec depmod?
- 22. Noyau Linux - ajouter l'appel système dynamiquement via le module
- 23. Module noyau pour/proc
- 24. ACL pour un périphérique réseau
- 25. Linux: comment puis-je connaître le module qui exporte un noeud de périphérique?
- 26. Compiler le module noyau Linux (2.6) incluant les en-têtes non-noyau
- 27. Le DUND d'Android prend-il en charge DUN DT (alias Dial Up client alias Data Terminal aka "dund --connect")
- 28. java lire le fichier à partir du périphérique réseau
- 29. développement du noyau linux
- 30. Noyau Linux - Arbres Rouge/Noir