Ho script che eseguono test multicast IP; tuttavia, i miei script non funzionano su una particolare macchina Linux.
So che posso guardare CONFIG_IP_MULTICAST
nel file di configurazione del kernel per determinare se il kernel è stato compilato con questo. Tuttavia, sarebbe più facile contrassegnare i requisiti mancanti nel mio script se potessi guardare /proc
o sysctl
e ottieni la risposta.
C'è un modo per scoprire se IP Multicast è stato compilato nel kernel senza guardare CONFIG_IP_MULTICAST
?
Risposta accettata:
Sembra che la maggior parte dei kernel (post v1) supporti il multicast per impostazione predefinita o abbia CONFIG_IP_MULTICAST abilitato durante la compilazione. Per verificare se il kernel compilato e in esecuzione si iscrive a qualsiasi gruppo multicast, userei netstat -g
.
Sembra che la maggior parte dei kernel (post v1) supporti il multicast per impostazione predefinita.
[[email protected] module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config
CONFIG_IP_MULTICAST=y
[[email protected] module]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
Vedo che l'interfaccia eth0 sul mio host pensa che sia iscritta 224.0.0.251 basic mcast group . Inoltre, in alternativa, se eseguo il ping del gruppo o della rete e quindi mi vengono restituite tutte le reti host abilitate multicast conosciute, direi che il multicast sta funzionando sull'host.
Puoi provare netstat -g
o cat /proc/net/igmp
e vedere se restituisce dei gruppi sul tuo host?