• 大小: 25KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: igmp  proxy  

资源简介

igmp proxy实现多播路由组播功能

资源截图

代码片段和文件信息


/****************************************************************************** 
 * Fichier main :igmprt - An IGMP Proxy implementation 
 ****************************************************************************** 
 * Fichier    : igmprt.c 
 * Description: Implementation d‘un proxy IGMP en se basant sur 
 *              l‘internet draft “draft-ietf-idmr-igmp-v3-07.txt“ Mars 2001 
 *              et “draft-ietf-idmr-igmp-proxy-01.txt“ Janvier 2002 
 * Date       : May 18 2000 
 * Auteurs    : wilbertdg@hetnet.nl 
 *              lahmadi@loria.fr 
 *              Anis.Ben-Hellel@loria.fr 
 * Last Modif : Juin 10 2002 
 * 
 *****************************************************************************/  
  
#include “conf.h“  
#include “igmprt.h“  
/*version and isquerier variable from the config file*/  
  
int versionquerier;  
//unsigned long upstream;  
  
  
void igmp_info_print(igmp_router_t *router){  
      
    igmp_interface_t *ifp;  
    igmp_group_t *gp;  
    igmp_src_t *src;  
    igmp_rep_t *rep;  
    printf(“\nIGMP Table\n“);  
    printf(“-----------------\n“);  
    printf(“\n%-14s %-9s %-14s %-5s %-14s %-14s\n““interface““version““groups““mode““source““Membres“);  
    for (ifp=router->igmprt_interfaces;ifp;ifp=(igmp_interface_t *)ifp->igmpi_next){  
        printf(“%-14s 0x%x\n“inet_ntoa(ifp->igmpi_addr)ifp->igmpi_version);  
        if (ifp->igmpi_groups != NULL){  
            for(gp=ifp->igmpi_groups;gp;gp=(igmp_group_t*)gp->igmpg_next){  
                printf(“%32s %11s\n“inet_ntoa(gp->igmpg_addr)(gp->igmpg_fmode == IGMP_FMODE_INCLUDE)? “INCLUDE“:“EXCLUDE“);  
                if (gp->igmpg_sources != NULL)  
                     for (src=gp->igmpg_sources;src;src=(igmp_src_t *)src->igmps_next)  
                    printf(“%50s\n“inet_ntoa(src->igmps_source));  
                if (gp->igmpg_members != NULL)  
                    for (rep=gp->igmpg_members;rep;rep=(igmp_rep_t *)rep->igmpr_next)  
                        /*if (gp->igmpg_sources != NULL) 
                            printf(“%17s\n“inet_ntoa(rep->igmpr_addr)); 
                        else*/   
                            printf(“%70s\n“inet_ntoa(rep->igmpr_addr));  
                else printf(“\n“);  
            }  
        }else  
            printf(“\n“);  
          
    }  
  
  
}  
  
/**************************************************************************** 
 * 
 * LDAP communication 
 * 
 ***************************************************************************/  
int validate(){  
  
/* validation du report provenant d‘un membre d‘un groupe*/  
  
}  
  
/**************************************************************************** 
 * 
 * Routines pour les enregistrements des membres: Ceci n‘a pas ete specifie 
 * dans le draft mais pour se rendre compte vite q‘un membre viend de quitter  
 * un groupe ou pour garder trace du membres on peut utilise

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3953  2014-06-28 21:55  igmp\igmp.h

     文件      39960  2014-06-28 21:52  igmp\igmprt.c

     文件       7425  2014-06-28 21:56  igmp\igmprt.h

     文件      35379  2014-06-28 21:54  igmp\igmpv3.c

     文件       8234  2014-06-28 21:57  igmp\ip.h

     文件      10466  2014-06-28 21:59  igmp\proxy.c

     文件       7383  2014-06-28 22:00  igmp\util.c

     文件        950  2014-06-28 21:58  igmp\util.h

     目录          0  2014-06-28 21:59  igmp

----------- ---------  ---------- -----  ----

               113750                    9


评论

共有 条评论