Diff for /embedaddon/quagga/ospfd/ospf_routemap.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/07/21 23:54:40 version 1.1.1.3, 2016/11/02 10:09:12
Line 531  struct route_map_rule_cmd route_set_metric_type_cmd = Line 531  struct route_map_rule_cmd route_set_metric_type_cmd =
   route_set_metric_type_free,    route_set_metric_type_free,
 };  };
   
   /* `set ip next-hop IP_ADDRESS' */
   /* Set nexthop to object. */
   static route_map_result_t
   route_set_ip_nexthop (void *rule, struct prefix *prefix,
                         route_map_object_t type, void *object)
   {
     struct in_addr *address;
     struct external_info *ei;
   
     if (type == RMAP_OSPF)
       {
         /* Fetch routemap's rule information. */
         address = rule;
         ei = object;
   
         /* Set metric out value. */
         ei->route_map_set.nexthop = *address;
       }
     return RMAP_OKAY;
   }
   
   /* set ip next-hop compilation. */
   static void *
   route_set_ip_nexthop_compile (const char *arg)
   {
     struct in_addr *address = NULL;
     int ret;
   
     address = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (struct in_addr));
     ret = inet_aton (arg, address);
   
     if (ret == 0)
       {
         XFREE (MTYPE_ROUTE_MAP_COMPILED, address);
         return NULL;
       }
   
     return address;
   }
   
   /* Free route map's compiled `set ip next-hop' value. */
   static void
   route_set_ip_nexthop_free (void *rule)
   {
     XFREE (MTYPE_ROUTE_MAP_COMPILED, rule);
   }
   
   /* Set ip next-hop rule structure. */
   struct route_map_rule_cmd route_set_ip_nexthop_cmd =
   {
     "ip next-hop",
     route_set_ip_nexthop,
     route_set_ip_nexthop_compile,
     route_set_ip_nexthop_free,
   };
   
 DEFUN (match_ip_nexthop,  DEFUN (match_ip_nexthop,
        match_ip_nexthop_cmd,         match_ip_nexthop_cmd,
        "match ip next-hop (<1-199>|<1300-2699>|WORD)",         "match ip next-hop (<1-199>|<1300-2699>|WORD)",
Line 785  ALIAS (no_set_metric_type, Line 841  ALIAS (no_set_metric_type,
        "OSPF[6] external type 1 metric\n"         "OSPF[6] external type 1 metric\n"
        "OSPF[6] external type 2 metric\n")         "OSPF[6] external type 2 metric\n")
   
   DEFUN (set_ip_nexthop,
          set_ip_nexthop_cmd,
          "set ip next-hop A.B.C.D",
          SET_STR
          IP_STR
          "Next hop address\n"
          "IP address of next hop\n")
   {
     union sockunion su;
     int ret;
   
     ret = str2sockunion (argv[0], &su);
     if (ret < 0)
       {
         vty_out (vty, "%% Malformed Next-hop address%s", VTY_NEWLINE);
         return CMD_WARNING;
       }
   
     return ospf_route_set_add (vty, vty->index, "ip next-hop", argv[0]);
   }
   
   DEFUN (no_set_ip_nexthop,
          no_set_ip_nexthop_cmd,
          "no set ip next-hop",
          NO_STR
          SET_STR
          "Next hop address\n")
   {
     if (argc == 0)
       return ospf_route_set_delete (vty, vty->index, "ip next-hop", NULL);
   
     return ospf_route_set_delete (vty, vty->index, "ip next-hop", argv[0]);
   }
   
   ALIAS (no_set_ip_nexthop,
          no_set_ip_nexthop_val_cmd,
          "no set ip next-hop A.B.C.D",
          NO_STR
          SET_STR
          IP_STR
          "Next hop address\n"
          "IP address of next hop\n")
   
 /* Route-map init */  /* Route-map init */
 void  void
 ospf_route_map_init (void)  ospf_route_map_init (void)
Line 804  ospf_route_map_init (void) Line 903  ospf_route_map_init (void)
   
   route_map_install_set (&route_set_metric_cmd);    route_map_install_set (&route_set_metric_cmd);
   route_map_install_set (&route_set_metric_type_cmd);    route_map_install_set (&route_set_metric_type_cmd);
     route_map_install_set (&route_set_ip_nexthop_cmd);
   
   install_element (RMAP_NODE, &match_ip_nexthop_cmd);    install_element (RMAP_NODE, &match_ip_nexthop_cmd);
   install_element (RMAP_NODE, &no_match_ip_nexthop_cmd);    install_element (RMAP_NODE, &no_match_ip_nexthop_cmd);
Line 827  ospf_route_map_init (void) Line 927  ospf_route_map_init (void)
   install_element (RMAP_NODE, &set_metric_type_cmd);    install_element (RMAP_NODE, &set_metric_type_cmd);
   install_element (RMAP_NODE, &no_set_metric_type_cmd);    install_element (RMAP_NODE, &no_set_metric_type_cmd);
   install_element (RMAP_NODE, &no_set_metric_type_val_cmd);    install_element (RMAP_NODE, &no_set_metric_type_val_cmd);
     install_element (RMAP_NODE, &set_ip_nexthop_cmd);
     install_element (RMAP_NODE, &no_set_ip_nexthop_cmd);
     install_element (RMAP_NODE, &no_set_ip_nexthop_val_cmd);
 }  }

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


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