]> rtime.felk.cvut.cz Git - frescor/fwp.git/blobdiff - fwp/mngr/fwp_mngr.c
Allow bypassing FWP by setting FWP_BYPASS environment variable
[frescor/fwp.git] / fwp / mngr / fwp_mngr.c
index 4c3920c0b74389e7b0ec5c9ce371b8a4114b6893..aa2d8505338848c420c9368d3c716cf95322f9e1 100644 (file)
@@ -56,6 +56,7 @@
 #include <stdio.h>
 #include "fwp_admctrl.h"
 
+#if 0
 static
 int dummy_admission_test(struct fres_sa_scenario *scenario, void *priv, 
                                bool *schedulable)
@@ -81,6 +82,13 @@ int dummy_admission_test(struct fres_sa_scenario *scenario, void *priv,
                
        return 0;
 }
+#endif
+
+struct frm_fwp_priv priv = {
+       .rate_mbps = 1,
+       .erp_ofdm = false,
+       .short_preamble = false,
+};
 
 static const struct fres_res_manager frm = {
        .res_type = FRSH_RT_NETWORK,
@@ -88,11 +96,14 @@ static const struct fres_res_manager frm = {
        //.admission_test = dummy_admission_test,
        .name = "WLAN",
        .admission_test = fwp_admctrl_utilization,
-       .priv = NULL
+       .priv = &priv,
 };
 
 static struct option long_opts[] = {
-    { "loglevel", 1, 0, 'l' },
+    { "loglevel",         required_argument, 0, 'l' },
+    { "bitrate",         required_argument, 0, 'b' },
+    { "ofdm",                    no_argument,       0, 'o' },
+    { "short-preamble",  no_argument,       0, 's' },
     { 0, 0, 0, 0}
 };
 
@@ -101,6 +112,9 @@ usage(void)
 {
        printf("usage: fwpmngr [ options ]\n");
        printf("  -l, --loglevel <number>|<domain>=<number>,...\n");
+       printf("  -b, --bitrate <mbits/s>\n");
+       printf("  -o, --ofdm\n");
+       printf("  -s, --short-preamble\n");
 }
 
 int main(int argc, char *argv[])
@@ -110,11 +124,24 @@ int main(int argc, char *argv[])
        forb_init_attr_t attr = { .orb_id = "org.frescor.frm.fwp" };
        int  opt;
 
-       while ((opt = getopt_long(argc, argv, "l:", &long_opts[0], NULL)) != EOF) {
+       if (getenv("FWP_BYPASS"))
+               priv.bypass = true;
+
+
+       while ((opt = getopt_long(argc, argv, "b:l:os", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
                        case 'l':
                                ul_log_domain_arg2levels(optarg);
                                break;
+                       case 'b':
+                               priv.rate_mbps = atol(optarg);
+                               break;
+                       case 's':
+                               priv.short_preamble = true;
+                               break;
+                       case 'o':
+                               priv.erp_ofdm = true;
+                               break;
                        case 'h':
                        /*default:*/
                                usage();