Lines Matching defs:alg
48 * NAT ALG description structure. For more compact use of cache,
95 npf_alg_t *alg = &aset->alg_list[i];
96 const char *aname = alg->na_name;
99 return alg;
107 npf_alg_t *alg;
110 if ((alg = npf_alg_lookup(npf, name)) == NULL) {
120 alg = npf_alg_lookup(npf, name);
123 return alg;
134 npf_alg_t *alg;
145 alg = &aset->alg_list[i];
146 if (alg->na_name == NULL) {
155 /* Register the ALG. */
156 alg->na_name = name;
157 alg->na_slot = i;
173 return alg;
180 npf_alg_unregister(npf_t *npf, npf_alg_t *alg)
183 unsigned i = alg->na_slot;
195 * Finally, unregister the ALG. We leave the 'destroy' callback
198 npf_ruleset_freealg(npf_config_natset(npf), alg);
200 alg->na_name = NULL;
207 * npf_alg_match: call the ALG matching inspectors.
209 * The purpose of the "matching" inspector function in the ALG API
210 * is to determine whether this connection matches the ALG criteria
211 * i.e. is concerning the ALG. If yes, ALG can associate itself with
246 * npf_alg_exec: execute the ALG translation processors.
248 * The ALG function would perform any additional packet translation
279 * The purpose of ALG connection inspection function is to provide
318 * npf_alg_destroy: free the ALG structure associated with the NAT entry.
321 npf_alg_destroy(npf_t *npf, npf_alg_t *alg, npf_nat_t *nat, npf_conn_t *con)
324 const npfa_funcs_t *f = &aset->alg_funcs[alg->na_slot];
343 const npf_alg_t *alg = &aset->alg_list[i];
346 if (alg->na_name == NULL) {
350 nvlist_add_string(algdict, "name", alg->na_name);