Merge tag 'upstream/1.2.3'
[quagga-debian.git] / zebra / client_main.c
diff --git a/zebra/client_main.c b/zebra/client_main.c
deleted file mode 100644 (file)
index 75c8867..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * $Quagga: $Format:%an, %ai, %h$ $
- *
- * GNU Zebra client test main routine.
- * Copyright (C) 1997 Kunihiro Ishiguro
- *
- * This file is part of GNU Zebra.
- *
- * GNU Zebra is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * GNU Zebra is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Zebra; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.  
- */
-
-#include <zebra.h>
-
-#include "prefix.h"
-#include "stream.h"
-#include "zclient.h"
-#include "thread.h"
-#include "table.h"
-#include "zebra/rib.h"
-#include "zebra/zserv.h"
-
-struct thread *master;
-
-/* Zebra client structure. */
-struct zclient *zclient = NULL;
-
-/* Zebra socket. */
-int sock;
-
-/* IPv4 route add and delete test. */
-void
-zebra_test_ipv4 (int command, int type, char *prefix, char *gateway,
-                u_char distance)
-{
-  struct zapi_ipv4 api;
-  struct prefix_ipv4 p;
-  struct in_addr gate;
-  struct in_addr *gpnt;
-
-  str2prefix_ipv4 (prefix, &p);
-  inet_aton (gateway, &gate);
-  gpnt = &gate;
-
-  api.vrf_id = VRF_DEFAULT;
-  api.type = type;
-  api.flags = 0;
-
-  api.message = 0;
-  SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP);
-  api.nexthop_num = 1;
-  api.nexthop = &gpnt;
-  api.ifindex_num = 0;
-  if (distance)
-    {
-      SET_FLAG (api.message, ZAPI_MESSAGE_DISTANCE);
-      api.distance = distance;
-    }
-  
-
-  switch (command)
-    {
-    case ZEBRA_IPV4_ROUTE_ADD:
-      zapi_ipv4_add (zclient, &p, &api);
-      break;
-    case ZEBRA_IPV4_ROUTE_DELETE:
-      zapi_ipv4_delete (zclient, &p, &api);
-      break;
-    }
-}
-
-#ifdef HAVE_IPV6
-/* IPv6 route add and delete test. */
-void
-zebra_test_v6 (int sock)
-{
-  struct prefix_ipv6 p;
-  struct in6_addr nexthop;
-
-  str2prefix_ipv6 ("3ffe:506::2/128", &p);
-  inet_pton (AF_INET6, "::1", &nexthop);
-
-  /* zebra_ipv6_add (sock, ZEBRA_ROUTE_STATIC, 0, &p, &nexthop, 1); */
-
-  sleep (5);
-  /* zebra_ipv6_delete (sock, ZEBRA_ROUTE_STATIC, 0, &p, &nexthop, 1); */
-}
-#endif /* HAVE_IPV6 */
-
-/* Print out usage and exit. */
-void
-usage_exit ()
-{
-  fprintf (stderr, "Usage: client filename\n");
-  exit (1);
-}
-
-struct zebra_info 
-{
-  char *str;
-  int type;
-} zebra_type[] = 
-{
-  { "static", ZEBRA_ROUTE_STATIC },
-  { "rip",    ZEBRA_ROUTE_RIP },
-  { "ripng",  ZEBRA_ROUTE_RIPNG },
-  { "babel",  ZEBRA_ROUTE_BABEL },
-  { "ospf",   ZEBRA_ROUTE_OSPF },
-  { "ospf6",  ZEBRA_ROUTE_OSPF6 },
-  { "bgp",    ZEBRA_ROUTE_BGP },
-  { "nhrp",   ZEBRA_ROUTE_NHRP },
-  { NULL,     0 }
-};
-
-/* Zebra route simulator. */
-void
-zebra_sim (FILE *fp)
-{
-  char buf[BUFSIZ];
-  char distance_str[BUFSIZ];
-  u_char distance;
-
-  while (fgets (buf, sizeof buf, fp))
-    {
-      int i;
-      int ret;
-      int type;
-      char str[BUFSIZ], command[BUFSIZ], prefix[BUFSIZ], gateway[BUFSIZ];
-
-      distance = 0;
-
-      if (*buf == '#')
-       continue;
-
-      type = ZEBRA_ROUTE_STATIC;
-
-      ret = sscanf (buf, "%s %s %s %s %s\n", command, str, prefix, gateway,
-                   distance_str);
-
-      if (ret == 5)
-       {
-         distance = atoi (distance_str);
-       }
-      else
-       {
-         ret = sscanf (buf, "%s %s %s %s\n", command, str, prefix, gateway);
-
-         if (ret != 4)
-           continue;
-       }
-
-      for (i = 0; i < 10; i++)
-       {
-         if (!zebra_type[i].str)
-           break;
-         if (strcmp (zebra_type[i].str, str) == 0)
-           {
-             type = zebra_type[i].type;
-             break;
-           }
-       }
-      
-      if (strcmp (command, "add") == 0)
-       {
-         zebra_test_ipv4 (ZEBRA_IPV4_ROUTE_ADD, type, prefix, gateway,
-                          distance);
-         printf ("%s", buf);
-         continue;
-       }
-
-      if (strcmp (command, "del") == 0)
-       {
-         zebra_test_ipv4 (ZEBRA_IPV4_ROUTE_DELETE, type, prefix, gateway,
-                          distance);
-         printf ("%s", buf);
-         continue;
-       }
-    }
-}
-
-/* Test zebra client main routine. */
-int
-main (int argc, char **argv)
-{
-  struct thread_master *master;
-  FILE *fp;
-
-  if (argc == 1)
-      usage_exit ();
-
-  master = thread_master_create ();
-  /* Establish connection to zebra. */
-  zclient = zclient_new (master);
-  zclient->enable = 1;
-#ifdef HAVE_TCP_ZEBRA
-  zclient->sock = zclient_socket ();
-#else
-  zclient->sock = zclient_socket_un (ZEBRA_SERV_PATH);
-#endif /* HAVE_TCP_ZEBRA */
-
-  /* Open simulation file. */
-  fp = fopen (argv[1], "r");
-  if (fp == NULL)
-    {
-      fprintf (stderr, "can't open %s\n", argv[1]);
-      exit (1);
-    }
-
-  /* Do main work. */
-  zebra_sim (fp);
-
-  sleep (100);
-
-  fclose (fp);
-  close (sock);
-
-  return 0;
-}