Lines Matching defs:pdu

423 snmp_create_v1_trap(struct snmp_pdu *pdu, char *com,
426 memset(pdu, 0, sizeof(*pdu));
427 strlcpy(pdu->community, com, sizeof(pdu->community));
429 pdu->version = SNMP_V1;
430 pdu->type = SNMP_PDU_TRAP;
431 pdu->enterprise = systemg.object_id;
432 memcpy(pdu->agent_addr, snmpd.trap1addr, 4);
433 pdu->generic_trap = trap_oid->subs[trap_oid->len - 1] - 1;
434 pdu->specific_trap = 0;
435 pdu->time_stamp = get_ticks() - start_tick;
436 pdu->nbindings = 0;
440 snmp_create_v2_trap(struct snmp_pdu *pdu, char *com,
443 memset(pdu, 0, sizeof(*pdu));
444 strlcpy(pdu->community, com, sizeof(pdu->community));
446 pdu->version = SNMP_V2c;
447 pdu->type = SNMP_PDU_TRAP2;
448 pdu->request_id = reqid_next(trap_reqid);
449 pdu->error_index = 0;
450 pdu->error_status = SNMP_ERR_NOERROR;
452 pdu->bindings[0].var = oid_sysUpTime;
453 pdu->bindings[0].var.subs[pdu->bindings[0].var.len++] = 0;
454 pdu->bindings[0].syntax = SNMP_SYNTAX_TIMETICKS;
455 pdu->bindings[0].v.uint32 = get_ticks() - start_tick;
457 pdu->bindings[1].var = oid_snmpTrapOID;
458 pdu->bindings[1].var.subs[pdu->bindings[1].var.len++] = 0;
459 pdu->bindings[1].syntax = SNMP_SYNTAX_OID;
460 pdu->bindings[1].v.oid = *trap_oid;
462 pdu->nbindings = 2;
466 snmp_create_v3_trap(struct snmp_pdu *pdu, struct target_param *target,
471 memset(pdu, 0, sizeof(*pdu));
473 pdu->version = SNMP_V3;
474 pdu->type = SNMP_PDU_TRAP2;
475 pdu->request_id = reqid_next(trap_reqid);
476 pdu->error_index = 0;
477 pdu->error_status = SNMP_ERR_NOERROR;
479 pdu->bindings[0].var = oid_sysUpTime;
480 pdu->bindings[0].var.subs[pdu->bindings[0].var.len++] = 0;
481 pdu->bindings[0].syntax = SNMP_SYNTAX_TIMETICKS;
482 pdu->bindings[0].v.uint32 = get_ticks() - start_tick;
484 pdu->bindings[1].var = oid_snmpTrapOID;
485 pdu->bindings[1].var.subs[pdu->bindings[1].var.len++] = 0;
486 pdu->bindings[1].syntax = SNMP_SYNTAX_OID;
487 pdu->bindings[1].v.oid = *trap_oid;
489 pdu->nbindings = 2;
493 memcpy(pdu->engine.engine_id, snmpd_engine.engine_id,
495 pdu->engine.engine_len = snmpd_engine.engine_len;
496 pdu->engine.engine_boots = snmpd_engine.engine_boots;
497 pdu->engine.engine_time = snmpd_engine.engine_time;
498 pdu->engine.max_msg_size = snmpd_engine.max_msg_size;
499 strlcpy(pdu->user.sec_name, target->secname,
500 sizeof(pdu->user.sec_name));
501 pdu->security_model = target->sec_model;
503 pdu->context_engine_len = snmpd_engine.engine_len;
504 memcpy(pdu->context_engine, snmpd_engine.engine_id,
509 usmuser = usm_find_user(pdu->engine.engine_id,
510 pdu->engine.engine_len, pdu->user.sec_name);
512 pdu->user.auth_proto = usmuser->suser.auth_proto;
513 pdu->user.priv_proto = usmuser->suser.priv_proto;
514 memcpy(pdu->user.auth_key, usmuser->suser.auth_key,
515 sizeof(pdu->user.auth_key));
516 memcpy(pdu->user.priv_key, usmuser->suser.priv_key,
517 sizeof(pdu->user.priv_key));
519 snmp_pdu_init_secparams(pdu);
526 struct snmp_pdu pdu;
545 snmp_create_v1_trap(&pdu, t->comm, trap_oid);
547 snmp_create_v2_trap(&pdu, t->comm, trap_oid);
551 pdu.bindings[pdu.nbindings++] = *v;
554 if (snmp_pdu_auth_access(&pdu, &ip) != SNMP_CODE_OK) {
565 snmp_output(&pdu, sndbuf, &sndlen, "TRAP");
601 snmp_create_v1_trap(&pdu, tp->secname, trap_oid);
605 snmp_create_v2_trap(&pdu, tp->secname, trap_oid);
609 snmp_create_v3_trap(&pdu, tp, trap_oid);
618 pdu.bindings[pdu.nbindings++] = *v;
621 if (snmp_pdu_auth_access(&pdu, &ip) != SNMP_CODE_OK) {
632 snmp_output(&pdu, sndbuf, &sndlen, "TRAP");