static int npf_log_ctor(npf_rproc_t *rp, prop_dictionary_t params) { npf_ext_log_t *meta; meta = kmem_zalloc(sizeof(npf_ext_log_t), KM_SLEEP); prop_dictionary_get_uint32(params, "log-interface", &meta->if_idx); npf_rproc_assign(rp, meta); return 0; }
/* * npf_normalise_ctor: a constructor for the normalisation rule procedure * with the given parameters. */ static int npf_normalise_ctor(npf_rproc_t *rp, prop_dictionary_t params) { npf_normalise_t *np; /* Create a structure for normalisation parameters. */ np = kmem_zalloc(sizeof(npf_normalise_t), KM_SLEEP); /* IP ID randomisation and IP_DF flag cleansing. */ prop_dictionary_get_bool(params, "random-id", &np->n_random_id); prop_dictionary_get_bool(params, "no-df", &np->n_no_df); /* Minimum IP TTL and maximum TCP MSS. */ prop_dictionary_get_uint32(params, "min-ttl", &np->n_minttl); prop_dictionary_get_uint32(params, "max-mss", &np->n_maxmss); /* Assign the parameters for this rule procedure. */ npf_rproc_assign(rp, np); return 0; }