Changeset 8845


Ignore:
Timestamp:
01/23/08 22:12:53 (5 years ago)
Author:
BrainSlayer
Message:

new igmp proxy

Location:
src/router/services
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/router/services/services/igmp.c

    r8050 r8845  
    3232  int ret = 0; 
    3333  pid_t pid; 
     34  char name[80], *next, *svbuf; 
     35  char *argv[] = { "igmprt", NULL}; 
    3436 
    3537 
    36   char *igmp_proxy_argv[] = { "igmprt", 
    37     "-i", 
    38     get_wan_face (), 
    39     NULL 
    40   }; 
    41  
    42   char *igmp_proxybr_argv[] = { "igmprt", 
    43     "-i", 
    44     nvram_safe_get ("lan_ifname"), 
    45     NULL 
    46   }; 
    4738 
    4839  stop_igmp_proxy (); 
    4940 
     41 
     42 
    5043  if (nvram_match ("block_multicast", "0")) 
    5144    { 
    52       if (nvram_match ("wan_proto", "disabled")) 
    53         { 
    54           ret = _evalpid (igmp_proxybr_argv, NULL, 0, &pid); 
    55           return ret; 
    56         } 
    57       else 
    58         ret = _evalpid (igmp_proxy_argv, NULL, 0, &pid); 
     45      FILE *fp = fopen ("/tmp/igmpproxy.conf", "wb"); 
     46      fprintf (fp, "quickleave\n"); 
     47      fprintf (fp, "phyint %s upstream  ratelimit 0  threshold 1\n", 
     48               nvram_safe_get ("wan_iface")); 
     49      fprintf (fp, "phyint %s downstream  ratelimit 0  threshold 1\n", 
     50               nvram_safe_get ("lan_ifname")); 
     51      foreach (name, nvram_safe_get ("lan_ifnames"), next) 
     52      { 
     53        if (nvram_nmatch ("0", "%s_bridged", name) 
     54            && nvram_nmatch ("1", "%s_multicast", name)) 
     55          fprintf (fp, "phyint %s downstream  ratelimit 0  threshold 1\n", 
     56                   name); 
     57        else 
     58          fprintf (fp, "phyint %s disabled\n", name); 
     59      } 
     60      fprintf (fp, "phyint lo disabled\n"); 
     61      fclose (fp); 
     62//      if (nvram_match ("wan_proto", "disabled")) //todo: add upstream config 
     63//      { 
     64//        ret = _evalpid (igmp_proxybr_argv, NULL, 0, &pid); 
     65//        return ret; 
     66//      } 
     67//      else 
     68      ret = _evalpid(argv, NULL, 0, &pid); 
    5969      syslog (LOG_INFO, "igmprt : multicast daemon successfully started\n"); 
    6070    } 
  • src/router/services/sysinit/sysinit-x86.c

    r8735 r8845  
    189189 
    190190//system("/etc/kendin"); 
     191  if (detect ("Rhine-"))        // VIA Rhine-I, Rhine-II, Rhine-III 
     192    eval ("insmod", "via-rhine"); 
    191193  if (detect ("DP8381")) 
    192194    eval ("insmod", "natsemi"); 
     
    285287    } 
    286288 
    287   if (detect ("Rhine-"))        // VIA Rhine-I, Rhine-II, Rhine-III 
    288     eval ("insmod", "via-rhine"); 
    289289 
    290290  if (detect ("3c905"))         // 3Com 
Note: See TracChangeset for help on using the changeset viewer.