Provided by: smcroute_0.95-1_amd64 bug


       SMCRoute - Static Multicast Router (-Interface) - Version 0.95


       smcroute < options > < commands >

              -d  -  start daemon
              -v  -  verbose output
              -D  -  enable debug logging

       commands - common
              -h  -  print help
              -k  -  kill daemon

       commands - multicast routing related
              -a <InputIntf> <OriginIpAdr> <McGroupAdr> <OutputIntf> [<OutputIntf>] ...
                 -  add route
              -r <InputIntf> <OriginIpAdr> <McGroupAdr>
                 -  remove route

       commands - multicast signaling related
              -j <InputIntf> <McGroupAdr>  - join MC group
              -l <InputIntf> <McGroupAdr>  - leave MC group


       SMCRoute is a command line tool to manipulate the multicast routes of the Linux kernel. It
       supports both IPv4 and IPv6 multicast routing. SMCRoute can be used as an  alternative  to
       dynamic  multicast  routers  like  'mrouted'  in  situations where static multicast routes
       should be maintained and/or no proper IGMP or MLD signaling exists.

       Generally multicast routes exists in the kernel  only  as  long  as  smcroute  or  another
       multicast  routing daemon is running. Only one multicast routing daemon can be active at a
       time, so it's impossible to run smcroute and e.g. 'mrouted' at the same time.

       The -d option smcroute is used to start the smcroute daemon. Otherwise, smcroute  searches
       for  an  already running smcroute daemon and passes the commands to it. The -k option will
       terminate a running daemon.

       Multicast routes can be added with the -a command and removed with the -r command.

       A multicast route is defined by an input interface (<IntputIntf>),  a  unicast  IP  origin
       address  (<OriginIpAdr>), a multicast group (<McGroupAdr>) and a list of output interfaces
       (<OutputIntf> ...).

       The origin and multicast group addresses must both be IPv4 addresses or IPv6 addresses. If
       IPv4  addresses  are specified then SMCRoute will operate on the IPv4 multicast routes. If
       IPv6 addresses are specified then SMCRoute will operate on the IPv6 multicast routes.  The
       output  interfaces  must  not  be  given  with  the  -r  as  the first three parameter are
       sufficient to identify the route to remove.

       The intention of SMCRoute is to help in situation where dynamic multicast routing does not
       work  properly,  but  dynamic  multicast  routing  is  in  nearly  all cases the preferred
       solution. SMCRoute supports dynamic multicast routing with the multicast group  'join'  -j
       and  'leave'  -l  commands.  For  both commands the input interface on which the multicast
       sessions should be received (<InputIntf>) and the  multicast  group  address  <McGroupAdr>
       must be given. The <McGroupAdr> may be an IPv4 or IPv6 address.

       Superuser  rights  are  necessary  to start the smcroute daemon or to communicate with the


       -d     Starts the smcroute daemon before  any  of  the  optional  following  commands  are

       -v     Gives  verbose output in some error situations (don't expect too much, check syslog

       -D     Gives additional debug messages in normal use (don't expect too  much,  see  syslog


       -a     <InputIntf> <OriginIpAdr> <McGroupAdr> <OutputIntf> [<OutputIntf>] ...

              The  command  is  passed  to  the daemon that adds the given multicast route to the
              kernel's routing table.  <InputIntf> can be any  network  interface  as  listed  by
              'ifconfig'  or  'ip  link  list'  (incl.  tunnel  interfaces), but not the loopback
              interface.  <OriginIpAdr> is the source IP address of the  multicast  packets  that
              will  be  routed  by  this  entry.  It  is a unicast IPv4 or IPv6 address and not a
              multicast IP address.  <McGroupAdr> is the IPv4 or IPv6 address  of  the  multicast
              group that will be forwarded.  <OutputIntf> [<OutputIntf>] ...  is a list of one or
              more network interfaces to which the multicast packets will be forwarded. The  same
              rules for the selection of output interfaces applies as for the input interface.

              Warning,  by  using  multiple output interfaces (traffic multiplication), using the
              input interface also as output interface (direct loop) or constructing  some  other
              forms of indirect loop you can flood you network.

       -r     <InputIntf> <OriginIpAdr> <McGroupAdr>

              The command is passed to the daemon that removes a multicast route previously added
              with the -a command. The parameters are identical except to  the  omitted  list  of

       -j     <InputIntf> <McGroupAdr>

              The  command  is passed to the daemon that passes it to the kernel. The kernel then
              tries to join the multicast group <McGroupAdr> on interface <InputIntf> by starting
              IGMP  (or  MLD  if <McGroupAdr> is an IPv6 address) signaling on <InputIntf>.  This
              signaling may be received  by  routers  connected  to  <InputIntf>'s  network  that
              support  IGMP/MLD  multicast  signaling  and  then  hopfuly start forwarding of the
              requested multicast session to <InputIntf>'s network.

              With this command smcroute allows  the  integration  of  nodes  that  needs  static
              multicast routing into dynamic multicast routing networks.

       -l     <InputIntf> <McGroupAdr>

              The  command  is  passed via the daemon to the kernel that initiate a 'leave' for a
              previously 'joined' multicast group.


       The current version compiles and runs fine with the Linux kernel version  2.4.  The  known
       limits are:

       Multicast routes: more then 200

       Multicast group membership: max. 20


              - contains the active IPv4 multicast routes

              -  contains  the  IPv4  'virtual'  interfaces  used by the active multicast routing

              - contains the active IPv6 multicast routes

              - contains the IPv6 'virtual' interfaces  used  by  the  active  multicast  routing

              - IPC socket created by the smcroute daemon




       The English wording of this man page.


       smcroute  was  originally written by Carsten Schill <>, support for IPv6
       was added by Todd Hayton <>, support for FreeBSD was added  by  Micha
       Lenk <>.

       The  source  code  is  now  maintained  by Todd Hayton <>, Micha Lenk
       <> and Julien BLACHE <>.

       The current version is available at:


       A lot of extra information is sent under the daemon facility and the debug priority to the
       syslog daemon.

                                         August 08, 2011                              smcroute(8)