mtest
—
test multicast socket operations
The mtest
utility is a small program for testing
multicast socket operations.
It accepts the following commands, interactively, or as part of a
scripted input file (useful for automated testing):
a
ifname mac-addr
- Join the link-layer group address mac-addr on
interface ifname. The group address should be in
IEEE 802 MAC format, delimited by colon (':') characters.
d
ifname mac-addr
- Leave the link-layer group address mac-addr on
interface ifname.
m
ifname 1/0
- Set or reset ALLMULTI mode on interface ifname. This
option is deprecated and is now a no-op.
p
ifname 1/0
- Set or reset promiscuous mode on interface ifname.
j
mcast-addr ifname
[source-addr]
- Join the multicast address mcast-addr on the
interface with name ifname.
If an optional source source-addr is
specified, a source-specific join will be performed; if
mtest
is already joined to the multicast
address, the source will be added to its filter list.
l
mcast-addr ifname
[source-addr]
- Leave the multicast address mcast-addr on the
interface with address ifname. If a source
source-addr is specified, only that source will be
left.
i
mcast-addr ifname
n source-addr ...
- Set the socket with membership of mcast-addr on
interface ifname to include filter mode, and add
n sources beginning with
source-addr to the inclusion filter list.
e
mcast-addr ifname
n source-addr ...
- Set the socket with membership of mcast-addr on
interface ifname to exclude filter mode, and add
n sources beginning with
source-addr to the exclusion filter list.
t
mcast-addr ifname
source-addr
- Set the socket with membership of mcast-addr on
interface ifname to block traffic from source
source-addr.
b
mcast-addr ifname
source-addr
- Set the socket with membership of mcast-addr on
interface ifname to allow traffic from source
source-addr.
g
mcast-addr ifname
n
- Print n source filter entries for
mcast-addr on interface
ifname.
f
filename
- Read commands from the file filename.
s
n
- Sleep for n seconds.
?
- List legal commands.
q
- Quit the program.
For each command implemented by mtest
, the address
family of each argument must be identical; it is not possible to mix IPv4
multicast memberships with IPv6, for example.
To support IPv6, all commands have now changed to accept an
interface name rather than an interface address. For IPv4, the program will
perform a lookup of the primary IP address based on the interface name. This
may fail if no primary IP address is assigned.
D. Thaler,
B. Fenner, and B. Quinn,
Socket Interface Extensions for Multicast Filters,
RFC 3678.
Bruce Simpson
Steve Deering
Wilbert De Graaf