1.\" Copyright (c) 2008 George V. Neville-Neil 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd April 3, 2008 28.Dt mctest 1 29.Os 30.Sh NAME 31.Nm mctest 32.Nd "multicast test" 33.Sh SYNOPSIS 34.Nm 35.Op Fl i Ar interface 36.Op Fl g Ar group 37.Op Fl b Ar base port 38.Op Fl n Ar number 39.Op Fl s Ar size 40.Op Fl t Ar inter-packet gap 41.Op Fl M Ar number of clients (source only) 42.Op Fl m Ar my client number (sink only) 43.Op Fl r 44.Sh DESCRIPTION 45The 46.Nm 47command implements a multicast test which involved a source 48and a sink. The source sends packets to a pre-configured 49multicast address over the interface given as a command line 50argument. The sink listens for multicast packets, records 51the time at which they're received and then reflects them back 52over unicast to the source. When the source has captured all 53the reflected packets it prints out the round trip time of each. 54.Pp 55The source prints out the round trip time of packets sent to the 56sinks. The sink prints out the time between the packets received. 57.Pp 58The options are as follows: 59.Bl -tag -width ".Fl d Ar argument" 60.It Fl i Ar interface 61Network interface, which can be found with ifconfig(1). 62.It Fl g Ar group 63Multicast group 64.It Fl b Ar base port 65Port on which to listen 66.It Fl s Ar size 67Packet size in bytes. 68.It Fl n Ar number 69Number of packets. 70.It Fl t Ar gap 71Inter-packet gap in nanoseconds. 72.It Fl M Ar clients 73The number of clients that are listening 74.It Fl m Ar my number 75The client's number 0, 1, etc. 76.It Fl r 77This version of 78.Nm 79is the receiver aka the sink. This option MUST 80only be used with one copy of the program at a time. 81.El 82.Sh EXAMPLES 83The following is an example of a typical usage 84of the 85.Nm 86command: 87.Pp 88Source 89.Dl "mctest -i em0 -M 1 -s 1024 -n 100 -t 1" 90Sink 91.Dl "mctest -i em0 -m 0 -s 1024 -n 100 -r" 92.Pp 93Send 100 packets of 1024 bytes, with an inter-packet gap of 1 nanosecond. 94.Pp 95Gaps are measured with 96.Xr nanosleep 2 , 97and so are not accurate down to nanoseconds 98but depend on the setting of kern.hz. 99.Sh SEE ALSO 100.Xr ifconfig 8 , 101.Xr netstat 1 , 102.Xr nanosleep 2 . 103.Sh HISTORY 104The 105.Nm 106program first appeared in 107.Fx 7.0 . 108.Sh AUTHORS 109This 110manual page was written by 111.An George V. Neville-Neil Aq gnn@FreeBSD.org . 112.Sh BUGS 113Should be reported to the author or to net@freebsd.org. 114