100200300400500600
  
 
 

Multicast

In such a small setup something like pim or mospf is just too much, however i found that igmpproxy is just too little for me. So I'm using smcroute. This daemon is for static multicast routing which is just what I need for my single-router home setup. One minor issue though - startup for this piece of software is really poor.

In fact it can just start the daemon. And packaged version 0.92 does not use config files. So - here's my version of the startup and config:

files/etc/init.d/smcroute:
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2012 Ruslan.N.Marchenko
START=50

smc_join_group() {
        local cfg=$1
        config_get from "$cfg" "from"
        config_get group "$cfg" "group"
        network_get_device FROM "$from"
        smcroute -j $FROM $group
}
smc_add_route() {
        local cfg=$1
        config_get from "$cfg" "from"
        config_get group "$cfg" "group"
        config_get to "$cfg" "to"
        network_get_device FROM "$from"
        network_get_device TO "$to"
        [ -z "$src" ] && src=0.0.0.0
        smcroute -a $FROM $src $group $TO
}
start() {
        smcroute -d
        config_load smcroute
        . /lib/functions/network.sh
        config_foreach smc_join_group mgroup
        config_foreach smc_add_route mroute
}

stop() {
        smcroute -k
}

That's it. And for this startup - you can use such config:

files/etc/config/smcroute:
config mgroup
        option from wlan0
        option group 225.3.19.154

config mroute
        option from wlan0
        option group 225.3.19.154
        option to lan

Note: you can skip option src 1.2.3.4 in mroute section, in that case it will be defaulted to 0.0.0.0 - i.e. any (if it is dynamic). Also note: this startup script does not support multiple dst interfaces. Feel free to add if you want or need to.

Ehm.. what? IPv6 multicast? Well, you can use mrd6, I still haven't found use for it so give me some time. Or give the world some time to port everything to IPv6 stack :)

Do not forget - place all these files to files/... before packaging image so that they appear in final rom. Otherwise - create them just on the device using jffs overlay.

Sun Feb 21 18:59:02 2010 Upd.: Sat Feb 9 14:51:46 2013
 
 
© ruff 2011