Diff for /embedaddon/quagga/lib/distribute.c between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 17:26:12 version 1.1.1.3, 2016/11/02 10:09:11
Line 34  struct hash *disthash; Line 34  struct hash *disthash;
 /* Hook functions. */  /* Hook functions. */
 void (*distribute_add_hook) (struct distribute *);  void (*distribute_add_hook) (struct distribute *);
 void (*distribute_delete_hook) (struct distribute *);  void (*distribute_delete_hook) (struct distribute *);
 static struct distribute *  static struct distribute *
 distribute_new (void)  distribute_new (void)
 {  {
Line 133  distribute_cmp (const struct distribute *dist1, const  Line 133  distribute_cmp (const struct distribute *dist1, const 
     return 1;      return 1;
   return 0;    return 0;
 }  }
 /* Set access-list name to the distribute list. */  /* Set access-list name to the distribute list. */
 static struct distribute *  static struct distribute *
 distribute_list_set (const char *ifname, enum distribute_type type,   distribute_list_set (const char *ifname, enum distribute_type type, 
Line 299  DEFUN (distribute_list_all, Line 299  DEFUN (distribute_list_all,
        "Filter outgoing routing updates\n")         "Filter outgoing routing updates\n")
 {  {
   enum distribute_type type;    enum distribute_type type;
   struct distribute *dist;  
   
   /* Check of distribute list type. */    /* Check of distribute list type. */
   if (strncmp (argv[1], "i", 1) == 0)    if (strncmp (argv[1], "i", 1) == 0)
Line 314  DEFUN (distribute_list_all, Line 313  DEFUN (distribute_list_all,
     }      }
   
   /* Get interface name corresponding distribute list. */    /* Get interface name corresponding distribute list. */
  dist = distribute_list_set (NULL, type, argv[0]);  distribute_list_set (NULL, type, argv[0]);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }  }
Line 379  DEFUN (distribute_list, Line 378  DEFUN (distribute_list,
        "Interface name\n")         "Interface name\n")
 {  {
   enum distribute_type type;    enum distribute_type type;
   struct distribute *dist;  
   
   /* Check of distribute list type. */    /* Check of distribute list type. */
   if (strncmp (argv[1], "i", 1) == 0)    if (strncmp (argv[1], "i", 1) == 0)
Line 393  DEFUN (distribute_list, Line 391  DEFUN (distribute_list,
     }      }
   
   /* Get interface name corresponding distribute list. */    /* Get interface name corresponding distribute list. */
  dist = distribute_list_set (argv[2], type, argv[0]);  distribute_list_set (argv[2], type, argv[0]);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
Line 407  ALIAS (distribute_list, Line 405  ALIAS (distribute_list,
        "Filter outgoing routing updates\n"         "Filter outgoing routing updates\n"
        "Interface name\n")         "Interface name\n")
   
DEFUN (no_districute_list, no_distribute_list_cmd,DEFUN (no_distribute_list, no_distribute_list_cmd,
        "no distribute-list WORD (in|out) WORD",         "no distribute-list WORD (in|out) WORD",
        NO_STR         NO_STR
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 439  DEFUN (no_districute_list, no_distribute_list_cmd, Line 437  DEFUN (no_districute_list, no_distribute_list_cmd,
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
   
ALIAS (no_districute_list, no_ipv6_distribute_list_cmd,ALIAS (no_distribute_list, no_ipv6_distribute_list_cmd,
        "no distribute-list WORD (in|out) WORD",         "no distribute-list WORD (in|out) WORD",
        NO_STR         NO_STR
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 448  ALIAS (no_districute_list, no_ipv6_distribute_list_cmd Line 446  ALIAS (no_districute_list, no_ipv6_distribute_list_cmd
        "Filter outgoing routing updates\n"         "Filter outgoing routing updates\n"
        "Interface name\n")         "Interface name\n")
   
DEFUN (districute_list_prefix_all,DEFUN (distribute_list_prefix_all,
        distribute_list_prefix_all_cmd,         distribute_list_prefix_all_cmd,
        "distribute-list prefix WORD (in|out)",         "distribute-list prefix WORD (in|out)",
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 458  DEFUN (districute_list_prefix_all, Line 456  DEFUN (districute_list_prefix_all,
        "Filter outgoing routing updates\n")         "Filter outgoing routing updates\n")
 {  {
   enum distribute_type type;    enum distribute_type type;
   struct distribute *dist;  
   
   /* Check of distribute list type. */    /* Check of distribute list type. */
   if (strncmp (argv[1], "i", 1) == 0)    if (strncmp (argv[1], "i", 1) == 0)
Line 473  DEFUN (districute_list_prefix_all, Line 470  DEFUN (districute_list_prefix_all,
     }      }
   
   /* Get interface name corresponding distribute list. */    /* Get interface name corresponding distribute list. */
  dist = distribute_list_prefix_set (NULL, type, argv[0]);  distribute_list_prefix_set (NULL, type, argv[0]);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
   
ALIAS (districute_list_prefix_all,ALIAS (distribute_list_prefix_all,
        ipv6_distribute_list_prefix_all_cmd,         ipv6_distribute_list_prefix_all_cmd,
        "distribute-list prefix WORD (in|out)",         "distribute-list prefix WORD (in|out)",
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 487  ALIAS (districute_list_prefix_all, Line 484  ALIAS (districute_list_prefix_all,
        "Filter incoming routing updates\n"         "Filter incoming routing updates\n"
        "Filter outgoing routing updates\n")         "Filter outgoing routing updates\n")
   
DEFUN (no_districute_list_prefix_all,DEFUN (no_distribute_list_prefix_all,
        no_distribute_list_prefix_all_cmd,         no_distribute_list_prefix_all_cmd,
        "no distribute-list prefix WORD (in|out)",         "no distribute-list prefix WORD (in|out)",
        NO_STR         NO_STR
Line 521  DEFUN (no_districute_list_prefix_all, Line 518  DEFUN (no_districute_list_prefix_all,
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
   
ALIAS (no_districute_list_prefix_all,ALIAS (no_distribute_list_prefix_all,
        no_ipv6_distribute_list_prefix_all_cmd,         no_ipv6_distribute_list_prefix_all_cmd,
        "no distribute-list prefix WORD (in|out)",         "no distribute-list prefix WORD (in|out)",
        NO_STR         NO_STR
Line 531  ALIAS (no_districute_list_prefix_all, Line 528  ALIAS (no_districute_list_prefix_all,
        "Filter incoming routing updates\n"         "Filter incoming routing updates\n"
        "Filter outgoing routing updates\n")         "Filter outgoing routing updates\n")
   
DEFUN (districute_list_prefix, distribute_list_prefix_cmd,DEFUN (distribute_list_prefix, distribute_list_prefix_cmd,
        "distribute-list prefix WORD (in|out) WORD",         "distribute-list prefix WORD (in|out) WORD",
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
        "Filter prefixes in routing updates\n"         "Filter prefixes in routing updates\n"
Line 541  DEFUN (districute_list_prefix, distribute_list_prefix_ Line 538  DEFUN (districute_list_prefix, distribute_list_prefix_
        "Interface name\n")         "Interface name\n")
 {  {
   enum distribute_type type;    enum distribute_type type;
   struct distribute *dist;  
   
   /* Check of distribute list type. */    /* Check of distribute list type. */
   if (strncmp (argv[1], "i", 1) == 0)    if (strncmp (argv[1], "i", 1) == 0)
Line 556  DEFUN (districute_list_prefix, distribute_list_prefix_ Line 552  DEFUN (districute_list_prefix, distribute_list_prefix_
     }      }
   
   /* Get interface name corresponding distribute list. */    /* Get interface name corresponding distribute list. */
  dist = distribute_list_prefix_set (argv[2], type, argv[0]);  distribute_list_prefix_set (argv[2], type, argv[0]);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
   
ALIAS (districute_list_prefix, ipv6_distribute_list_prefix_cmd,ALIAS (distribute_list_prefix, ipv6_distribute_list_prefix_cmd,
        "distribute-list prefix WORD (in|out) WORD",         "distribute-list prefix WORD (in|out) WORD",
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
        "Filter prefixes in routing updates\n"         "Filter prefixes in routing updates\n"
Line 570  ALIAS (districute_list_prefix, ipv6_distribute_list_pr Line 566  ALIAS (districute_list_prefix, ipv6_distribute_list_pr
        "Filter outgoing routing updates\n"         "Filter outgoing routing updates\n"
        "Interface name\n")         "Interface name\n")
   
DEFUN (no_districute_list_prefix, no_distribute_list_prefix_cmd,DEFUN (no_distribute_list_prefix, no_distribute_list_prefix_cmd,
        "no distribute-list prefix WORD (in|out) WORD",         "no distribute-list prefix WORD (in|out) WORD",
        NO_STR         NO_STR
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 604  DEFUN (no_districute_list_prefix, no_distribute_list_p Line 600  DEFUN (no_districute_list_prefix, no_distribute_list_p
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }         }       
   
ALIAS (no_districute_list_prefix, no_ipv6_distribute_list_prefix_cmd,ALIAS (no_distribute_list_prefix, no_ipv6_distribute_list_prefix_cmd,
        "no distribute-list prefix WORD (in|out) WORD",         "no distribute-list prefix WORD (in|out) WORD",
        NO_STR         NO_STR
        "Filter networks in routing updates\n"         "Filter networks in routing updates\n"
Line 762  distribute_list_init (int node) Line 758  distribute_list_init (int node)
                           (int (*) (const void *, const void *)) distribute_cmp);                            (int (*) (const void *, const void *)) distribute_cmp);
   
   if(node==RIP_NODE) {    if(node==RIP_NODE) {
    install_element (RIP_NODE, &distribute_list_all_cmd);    install_element (node, &distribute_list_all_cmd);
    install_element (RIP_NODE, &no_distribute_list_all_cmd);    install_element (node, &no_distribute_list_all_cmd);
    install_element (RIP_NODE, &distribute_list_cmd);    install_element (node, &distribute_list_cmd);
    install_element (RIP_NODE, &no_distribute_list_cmd);    install_element (node, &no_distribute_list_cmd);
    install_element (RIP_NODE, &distribute_list_prefix_all_cmd);    install_element (node, &distribute_list_prefix_all_cmd);
    install_element (RIP_NODE, &no_distribute_list_prefix_all_cmd);    install_element (node, &no_distribute_list_prefix_all_cmd);
    install_element (RIP_NODE, &distribute_list_prefix_cmd);    install_element (node, &distribute_list_prefix_cmd);
    install_element (RIP_NODE, &no_distribute_list_prefix_cmd);    install_element (node, &no_distribute_list_prefix_cmd);
  } else {  } else if (node == RIPNG_NODE || node == BABEL_NODE) {
    install_element (RIPNG_NODE, &ipv6_distribute_list_all_cmd);    /* WARNING: two identical commands installed do a crash, so be worry with
    install_element (RIPNG_NODE, &no_ipv6_distribute_list_all_cmd);     aliases. For this reason, and because all these commands are aliases, Babel
    install_element (RIPNG_NODE, &ipv6_distribute_list_cmd);     is not set with RIP. */
    install_element (RIPNG_NODE, &no_ipv6_distribute_list_cmd);    install_element (node, &ipv6_distribute_list_all_cmd);
    install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_all_cmd);    install_element (node, &no_ipv6_distribute_list_all_cmd);
    install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_all_cmd);    install_element (node, &ipv6_distribute_list_cmd);
    install_element (RIPNG_NODE, &ipv6_distribute_list_prefix_cmd);    install_element (node, &no_ipv6_distribute_list_cmd);
    install_element (RIPNG_NODE, &no_ipv6_distribute_list_prefix_cmd);    install_element (node, &ipv6_distribute_list_prefix_all_cmd);
     install_element (node, &no_ipv6_distribute_list_prefix_all_cmd);
     install_element (node, &ipv6_distribute_list_prefix_cmd);
     install_element (node, &no_ipv6_distribute_list_prefix_cmd);
   }    }
 }  }

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>