basic = fres_contract_get_basic(vres->allocated);
fres_contract_id_to_string(id, &vres->id, sizeof(id));
- printf("Creating FWP VRes (id=%s, period=%ld ms, budget=%ld bytes)\n",
+ printf("Canceling FWP VRes (id=%s, period=%ld ms, budget=%ld bytes)\n",
id, fosa_rel_time_to_msec(basic->period), basic->budget.tv_sec);
return 0;
int change_vres(fres_vres_t *vres, void *priv)
{
+ char id[40];
+ fres_block_basic *basic;
+ fres_block_fwp_sched *fwp_sched;
+ fwp_vres_params_t vparams;
+ fwp_vres_d_t fwp_vresd;
+ int rv;
+ size_t bytes;
+
+ /* Prepare vres parameters */
+ basic = fres_contract_get_basic(vres->new);
+ fwp_sched = fres_contract_get_block(vres->new, FRES_BLOCK_FWP_SCHED);
+
+ frsh_network_budget_to_bytes(FRSH_NETPF_FWP, &basic->budget, &bytes);
+ vparams.budget = bytes;
+ vparams.period = basic->period;
+ vparams.ac_id = fwp_sched->ac_id;
+ fwp_vresd = vres->priv;
+
+ /* Changing vres */
+ if ((rv = fwp_vres_set_params(fwp_vresd, &vparams))) {
+ return rv;
+ }
+
+ fres_contract_id_to_string(id, &vres->id, sizeof(id));
+ printf("Changing FWP VRes (id=%s, period=%ld ms, budget=%ld bytes AC=%d)\n",
+ id, fosa_rel_time_to_msec(basic->period),
+ vparams.budget, vparams.ac_id);
+
return 0;
}