]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Implement description field of protocol.
authorOndrej Zajicek <santiago@crfreenet.org>
Tue, 17 Nov 2009 14:45:05 +0000 (15:45 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Tue, 17 Nov 2009 14:45:05 +0000 (15:45 +0100)
nest/config.Y
nest/proto.c
nest/protocol.h

index 4721112a1ed728181fa5ec12b6403e59b7914a37..f2879430998e3abb9dfa08b94fd10dffa1349454 100644 (file)
@@ -44,7 +44,7 @@ CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF, DIRECT)
 CF_KEYWORDS(INTERFACE, IMPORT, EXPORT, FILTER, NONE, TABLE, STATES, ROUTES, FILTERS)
 CF_KEYWORDS(PASSWORD, FROM, PASSIVE, TO, ID, EVENTS, PACKETS, PROTOCOLS, INTERFACES)
 CF_KEYWORDS(PRIMARY, STATS, COUNT, FOR, COMMANDS, PREEXPORT, GENERATE)
-CF_KEYWORDS(LISTEN, BGP, V6ONLY, ADDRESS, PORT, PASSWORDS)
+CF_KEYWORDS(LISTEN, BGP, V6ONLY, ADDRESS, PORT, PASSWORDS, DESCRIPTION)
 
 CF_ENUM(T_ENUM_RTS, RTS_, DUMMY, STATIC, INHERIT, DEVICE, STATIC_DEVICE, REDIRECT,
        RIP, OSPF, OSPF_IA, OSPF_EXT1, OSPF_EXT2, BGP, PIPE)
@@ -141,6 +141,7 @@ proto_item:
  | EXPORT imexport { this_proto->out_filter = $2; }
  | TABLE rtable { this_proto->table = $2; }
  | ROUTER ID idval { this_proto->router_id = $3; }
+ | DESCRIPTION dsc { this_proto->dsc = $2; }
  ;
 
 imexport:
index 7bb1286d78f3bff1fe05858e37335ef54464f938..c05db767307278773d60e549b2a4732d69eb45ad 100644 (file)
@@ -307,6 +307,7 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
          if (sym && sym->class == SYM_PROTO && !new->shutdown)
            {
              /* Found match, let's check if we can smoothly switch to new configuration */
+             /* No need to check description */
              nc = sym->def;
              if (!force_reconfig
                  && nc->protocol == oc->protocol
@@ -702,6 +703,8 @@ proto_do_show(struct proto *p, int verbose)
          buf);
   if (verbose)
     {
+      if (p->cf->dsc)
+       cli_msg(-1006, "  Description:    %s", p->cf->dsc);
       cli_msg(-1006, "  Preference:     %d", p->preference);
       cli_msg(-1006, "  Input filter:   %s", filter_name(p->in_filter));
       cli_msg(-1006, "  Output filter:  %s", filter_name(p->out_filter));
index 484df8468dd74e19012a78441e90882b6eadcb85..807b579fc450adf31d906343bc0105870a295526 100644 (file)
@@ -81,6 +81,7 @@ struct proto_config {
   struct protocol *protocol;           /* Protocol */
   struct proto *proto;                 /* Instance we've created */
   char *name;
+  char *dsc;
   unsigned debug, preference, disabled;        /* Generic parameters */
   u32 router_id;                       /* Protocol specific router ID */
   struct rtable_config *table;         /* Table we're attached to */