f0d7488dd5b61f752dc78046b403ebbc260b25eb
[olsrd.git] / src / olsr_switch / commands.h
1
2 /*
3  * The olsr.org Optimized Link-State Routing daemon(olsrd)
4  * Copyright (c) 2005, Andreas T√łnnesen(andreto@olsr.org)
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without 
8  * modification, are permitted provided that the following conditions 
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright 
12  *   notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above copyright 
14  *   notice, this list of conditions and the following disclaimer in 
15  *   the documentation and/or other materials provided with the 
16  *   distribution.
17  * * Neither the name of olsr.org, olsrd nor the names of its 
18  *   contributors may be used to endorse or promote products derived 
19  *   from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
32  * POSSIBILITY OF SUCH DAMAGE.
33  *
34  * Visit http://www.olsr.org for more information.
35  *
36  * If you find this software useful feel free to make a donation
37  * to the project. For more information see the website or contact
38  * the copyright holders.
39  *
40  * $Id: commands.h,v 1.4 2005/05/31 16:40:45 kattemat Exp $
41  */
42
43
44 #ifndef _COMMAND
45 #define _COMMAND
46
47 #include "ohs_cmd.h"
48
49
50 static struct ohs_command ohs_commands[] =
51   {
52     { "help", "help",
53       "Help on shell commands",
54       "Help on shell commands",
55       ohs_cmd_help
56     },
57     { "exit", "exit",
58       "Exits olsr host switch",
59       "Exits olsr host switch",
60       ohs_cmd_exit
61     },
62     { "log", "log <set [type]>",
63       "Displays or sets log bits",
64       "This command sets or clears various logbits. Available logbits are:\n FORWARD - display info about all traffic forwarding\n CONNECT - display info about all connections happening\n LINK - display all link lookup information\n",
65       ohs_cmd_log
66     },
67     { "list", "list <clients|links>",
68       "List all connected clients or links",
69       "This command will list all the clients or all the links registered by olsr_switch. By default clients are listed.",
70       ohs_cmd_list
71     },
72     { "link", "link <bi> srcIP dstIP [0-100]",
73       "Manipulate links",
74       "This command is used for manipulating olsr links. The link quality is a number between 0-100 representing the chance in percentage for a packet to be forwarded on the link.\nTo make the link between 10.0.0.1 and 10.0.0.2 have 50% packetloss do:\nlink 10.0.0.1 10.0.0.2 50\nNote that this will only effect the unidirectional link 10.0.0.1 -> 10.0.0.2. To make the changes affect traffic in both directions do:\nlink bi 10.0.0.1 10.0.0.2 50\nTo completly block a link do:\nlink 10.0.0.1 10.0.0.2 0\nTo make all traffic pass(delete the entry) do:\nlink 10.0.0.1 10.0.0.2 100\nNote that \"bi\" can be used in all these examples. To list all manipulated links use 'list links'.\n",
75       ohs_cmd_link
76     },
77     { NULL, NULL,
78       NULL,
79       NULL,
80       NULL
81     }
82   };
83
84
85 #endif