1 #include <frm_generic.h>
5 #include <fres_sa_scenario.h>
10 #include "fwp_admctrl.h"
12 int dummy_admission_test(struct fres_sa_scenario *scenario, void *priv,
15 struct fres_sa_contract *c;
17 printf("Dummy admission test:\n");
19 fres_sa_scenario_for_each_contract(scenario, c) {
20 fres_block_basic *basic;
22 fres_contract_id_to_string(id, &c->contract->id, sizeof(id));
23 basic = fres_contract_get_basic(c->contract);
25 printf(" processing: id=%s, period=%ld ms, budget=%ld ms\n",
27 fosa_rel_time_to_msec(basic->period),
28 fosa_rel_time_to_msec(basic->budget));
31 *schedulable = scenario->num_contracts <= 3;
32 printf("=> %s\n", schedulable?"schedulable":"not schedulable");
37 static const struct fres_res_manager frm = {
38 .res_type = FRSH_RT_NETWORK,
39 .res_id = FRSH_NETPF_FWP,
40 //.admission_test = dummy_admission_test,
41 .admission_test = fwp_admctrl_utilization,
45 int main(int argc, char *argv[])
50 orb = forb_init(&argc, &argv, "frm_fwp");
51 if (!orb) error(1, errno, "forb_init");
53 fres_block_register_fwp();
54 ret = frm_register_and_run(orb, &frm);
57 error(1, errno, "frm_generic_run");