Browse Source

RIP has now "route-map x [in|out] <interface>" as well.

hasso 16 years ago
parent
commit
4f84947985
2 changed files with 31 additions and 5 deletions
  1. 26 4
      lib/if_rmap.c
  2. 5 1
      vtysh/extract.pl

+ 26 - 4
lib/if_rmap.c

@@ -219,7 +219,16 @@ DEFUN (if_rmap,
   if_rmap = if_rmap_set (argv[2], type, argv[0]);
 
   return CMD_SUCCESS;
-}       
+}      
+
+ALIAS (if_rmap,
+       if_ipv6_rmap_cmd,
+       "route-map RMAP_NAME (in|out) IFNAME",
+       "Route map set\n"
+       "Route map name\n"
+       "Route map set for input filtering\n"
+       "Route map set for output filtering\n"
+       "Route map interface name\n")
 
 DEFUN (no_if_rmap,
        no_if_rmap_cmd,
@@ -251,7 +260,17 @@ DEFUN (no_if_rmap,
       return CMD_WARNING;
     }
   return CMD_SUCCESS;
-}       
+}      
+
+ALIAS (no_if_rmap,
+       no_if_ipv6_rmap_cmd,
+       "no route-map ROUTEMAP_NAME (in|out) IFNAME",
+       NO_STR
+       "Route map unset\n"
+       "Route map name\n"
+       "Route map for input filtering\n"
+       "Route map for output filtering\n"
+       "Route map interface name\n")
 
 /* Configuration write function. */
 int
@@ -300,7 +319,10 @@ if_rmap_init (int node)
 {
   ifrmaphash = hash_create (if_rmap_hash_make, if_rmap_hash_cmp);
   if (node == RIPNG_NODE) {
-    install_element (RIPNG_NODE, &if_rmap_cmd);
-    install_element (RIPNG_NODE, &no_if_rmap_cmd);
+    install_element (RIPNG_NODE, &if_ipv6_rmap_cmd);
+    install_element (RIPNG_NODE, &no_if_ipv6_rmap_cmd);
+  } else if (node == RIP_NODE) {
+    install_element (RIP_NODE, &if_rmap_cmd);
+    install_element (RIP_NODE, &no_if_rmap_cmd);
   }
 }

+ 5 - 1
vtysh/extract.pl

@@ -109,7 +109,11 @@ foreach (@ARGV) {
               }
            }
            if ($file =~ /if_rmap.c/) {
-              $protocol = "VTYSH_RIPNGD";
+              if ($defun_array[1] =~ m/ipv6/) {
+                 $protocol = "VTYSH_RIPNGD";
+              } else {
+                 $protocol = "VTYSH_RIPD";
+              }
            }
         } else {
            ($protocol) = ($file =~ /\/([a-z0-9]+)/);