Lines Matching full:conf
53 struct ng_patch_config *conf; member
71 const struct ng_patch_config *conf; in ng_patch_config_getlen() local
73 conf = (const struct ng_patch_config *)(buf - in ng_patch_config_getlen()
76 return (conf->count); in ng_patch_config_getlen()
209 struct ng_patch_config *conf, *newconf; in ng_patch_rcvmsg() local
222 if (privp->conf == NULL) in ng_patch_rcvmsg()
226 NG_PATCH_CONF_SIZE(privp->conf->count), M_WAITOK); in ng_patch_rcvmsg()
231 bcopy(privp->conf, resp->data, in ng_patch_rcvmsg()
232 NG_PATCH_CONF_SIZE(privp->conf->count)); in ng_patch_rcvmsg()
234 conf = (struct ng_patch_config *) resp->data; in ng_patch_rcvmsg()
236 for (i = 0; i < conf->count; i++) { in ng_patch_rcvmsg()
237 switch (conf->ops[i].length) in ng_patch_rcvmsg()
240 conf->ops[i].val.v8 = conf->ops[i].val.v1; in ng_patch_rcvmsg()
243 conf->ops[i].val.v8 = conf->ops[i].val.v2; in ng_patch_rcvmsg()
246 conf->ops[i].val.v8 = conf->ops[i].val.v4; in ng_patch_rcvmsg()
256 conf = (struct ng_patch_config *) msg->data; in ng_patch_rcvmsg()
259 msg->header.arglen < NG_PATCH_CONF_SIZE(conf->count)) in ng_patch_rcvmsg()
262 for (i = 0; i < conf->count; i++) { in ng_patch_rcvmsg()
263 switch (conf->ops[i].length) in ng_patch_rcvmsg()
266 conf->ops[i].val.v1 = (uint8_t) conf->ops[i].val.v8; in ng_patch_rcvmsg()
269 conf->ops[i].val.v2 = (uint16_t) conf->ops[i].val.v8; in ng_patch_rcvmsg()
272 conf->ops[i].val.v4 = (uint32_t) conf->ops[i].val.v8; in ng_patch_rcvmsg()
281 conf->csum_flags &= NG_PATCH_CSUM_IPV4|NG_PATCH_CSUM_IPV6; in ng_patch_rcvmsg()
282 conf->relative_offset = !!conf->relative_offset; in ng_patch_rcvmsg()
284 newconf = malloc(NG_PATCH_CONF_SIZE(conf->count), M_NETGRAPH, M_WAITOK | M_ZERO); in ng_patch_rcvmsg()
286 bcopy(conf, newconf, NG_PATCH_CONF_SIZE(conf->count)); in ng_patch_rcvmsg()
288 if (privp->conf) in ng_patch_rcvmsg()
289 free(privp->conf, M_NETGRAPH); in ng_patch_rcvmsg()
291 privp->conf = newconf; in ng_patch_rcvmsg()
356 for (i = 0; i < privp->conf->count; i++) { in do_patch()
357 offset = global_offset + privp->conf->ops[i].offset; in do_patch()
359 if (offset + privp->conf->ops[i].length > m->m_pkthdr.len) in do_patch()
363 if (privp->conf->ops[i].mode != NG_PATCH_MODE_SET) in do_patch()
364 m_copydata(m, offset, privp->conf->ops[i].length, (caddr_t) &val); in do_patch()
366 switch (privp->conf->ops[i].length) in do_patch()
369 switch (privp->conf->ops[i].mode) in do_patch()
372 val.v1 = privp->conf->ops[i].val.v1; in do_patch()
375 val.v1 += privp->conf->ops[i].val.v1; in do_patch()
378 val.v1 -= privp->conf->ops[i].val.v1; in do_patch()
381 val.v1 *= privp->conf->ops[i].val.v1; in do_patch()
384 val.v1 /= privp->conf->ops[i].val.v1; in do_patch()
390 val.v1 &= privp->conf->ops[i].val.v1; in do_patch()
393 val.v1 |= privp->conf->ops[i].val.v1; in do_patch()
396 val.v1 ^= privp->conf->ops[i].val.v1; in do_patch()
399 val.v1 <<= privp->conf->ops[i].val.v1; in do_patch()
402 val.v1 >>= privp->conf->ops[i].val.v1; in do_patch()
410 switch (privp->conf->ops[i].mode) in do_patch()
413 val.v2 = privp->conf->ops[i].val.v2; in do_patch()
416 val.v2 += privp->conf->ops[i].val.v2; in do_patch()
419 val.v2 -= privp->conf->ops[i].val.v2; in do_patch()
422 val.v2 *= privp->conf->ops[i].val.v2; in do_patch()
425 val.v2 /= privp->conf->ops[i].val.v2; in do_patch()
431 val.v2 &= privp->conf->ops[i].val.v2; in do_patch()
434 val.v2 |= privp->conf->ops[i].val.v2; in do_patch()
437 val.v2 ^= privp->conf->ops[i].val.v2; in do_patch()
440 val.v2 <<= privp->conf->ops[i].val.v2; in do_patch()
443 val.v2 >>= privp->conf->ops[i].val.v2; in do_patch()
454 switch (privp->conf->ops[i].mode) in do_patch()
457 val.v4 = privp->conf->ops[i].val.v4; in do_patch()
460 val.v4 += privp->conf->ops[i].val.v4; in do_patch()
463 val.v4 -= privp->conf->ops[i].val.v4; in do_patch()
466 val.v4 *= privp->conf->ops[i].val.v4; in do_patch()
469 val.v4 /= privp->conf->ops[i].val.v4; in do_patch()
475 val.v4 &= privp->conf->ops[i].val.v4; in do_patch()
478 val.v4 |= privp->conf->ops[i].val.v4; in do_patch()
481 val.v4 ^= privp->conf->ops[i].val.v4; in do_patch()
484 val.v4 <<= privp->conf->ops[i].val.v4; in do_patch()
487 val.v4 >>= privp->conf->ops[i].val.v4; in do_patch()
498 switch (privp->conf->ops[i].mode) in do_patch()
501 val.v8 = privp->conf->ops[i].val.v8; in do_patch()
504 val.v8 += privp->conf->ops[i].val.v8; in do_patch()
507 val.v8 -= privp->conf->ops[i].val.v8; in do_patch()
510 val.v8 *= privp->conf->ops[i].val.v8; in do_patch()
513 val.v8 /= privp->conf->ops[i].val.v8; in do_patch()
519 val.v8 &= privp->conf->ops[i].val.v8; in do_patch()
522 val.v8 |= privp->conf->ops[i].val.v8; in do_patch()
525 val.v8 ^= privp->conf->ops[i].val.v8; in do_patch()
528 val.v8 <<= privp->conf->ops[i].val.v8; in do_patch()
531 val.v8 >>= privp->conf->ops[i].val.v8; in do_patch()
540 m_copyback(m, offset, privp->conf->ops[i].length, (caddr_t) &val); in do_patch()
575 if (priv->conf && hook == priv->in && in ng_patch_rcvdata()
582 if (priv->conf->relative_offset) { in ng_patch_rcvdata()
623 m->m_pkthdr.csum_flags |= priv->conf->csum_flags; in ng_patch_rcvdata()
664 if (privdata->conf != NULL) in ng_patch_shutdown()
665 free(privdata->conf, M_NETGRAPH); in ng_patch_shutdown()