Lines Matching refs:pdu

421 snmp_create_v1_trap(struct snmp_pdu *pdu, char *com,
424 memset(pdu, 0, sizeof(*pdu));
425 strcpy(pdu->community, com);
427 pdu->version = SNMP_V1;
428 pdu->type = SNMP_PDU_TRAP;
429 pdu->enterprise = systemg.object_id;
430 memcpy(pdu->agent_addr, snmpd.trap1addr, 4);
431 pdu->generic_trap = trap_oid->subs[trap_oid->len - 1] - 1;
432 pdu->specific_trap = 0;
433 pdu->time_stamp = get_ticks() - start_tick;
434 pdu->nbindings = 0;
438 snmp_create_v2_trap(struct snmp_pdu *pdu, char *com,
441 memset(pdu, 0, sizeof(*pdu));
442 strcpy(pdu->community, com);
444 pdu->version = SNMP_V2c;
445 pdu->type = SNMP_PDU_TRAP2;
446 pdu->request_id = reqid_next(trap_reqid);
447 pdu->error_index = 0;
448 pdu->error_status = SNMP_ERR_NOERROR;
450 pdu->bindings[0].var = oid_sysUpTime;
451 pdu->bindings[0].var.subs[pdu->bindings[0].var.len++] = 0;
452 pdu->bindings[0].syntax = SNMP_SYNTAX_TIMETICKS;
453 pdu->bindings[0].v.uint32 = get_ticks() - start_tick;
455 pdu->bindings[1].var = oid_snmpTrapOID;
456 pdu->bindings[1].var.subs[pdu->bindings[1].var.len++] = 0;
457 pdu->bindings[1].syntax = SNMP_SYNTAX_OID;
458 pdu->bindings[1].v.oid = *trap_oid;
460 pdu->nbindings = 2;
464 snmp_create_v3_trap(struct snmp_pdu *pdu, struct target_param *target,
470 memset(pdu, 0, sizeof(*pdu));
472 pdu->version = SNMP_V3;
473 pdu->type = SNMP_PDU_TRAP2;
474 pdu->request_id = reqid_next(trap_reqid);
475 pdu->error_index = 0;
476 pdu->error_status = SNMP_ERR_NOERROR;
478 pdu->bindings[0].var = oid_sysUpTime;
479 pdu->bindings[0].var.subs[pdu->bindings[0].var.len++] = 0;
480 pdu->bindings[0].syntax = SNMP_SYNTAX_TIMETICKS;
481 pdu->bindings[0].v.uint32 = get_ticks() - start_tick;
483 pdu->bindings[1].var = oid_snmpTrapOID;
484 pdu->bindings[1].var.subs[pdu->bindings[1].var.len++] = 0;
485 pdu->bindings[1].syntax = SNMP_SYNTAX_OID;
486 pdu->bindings[1].v.oid = *trap_oid;
488 pdu->nbindings = 2;
499 memcpy(pdu->engine.engine_id, snmpd_engine.engine_id,
501 pdu->engine.engine_len = snmpd_engine.engine_len;
502 pdu->engine.engine_boots = snmpd_engine.engine_boots;
503 pdu->engine.engine_time = snmpd_engine.engine_time;
504 pdu->engine.max_msg_size = snmpd_engine.max_msg_size;
505 strlcpy(pdu->user.sec_name, target->secname,
506 sizeof(pdu->user.sec_name));
507 pdu->security_model = target->sec_model;
509 pdu->context_engine_len = snmpd_engine.engine_len;
510 memcpy(pdu->context_engine, snmpd_engine.engine_id,
515 usmuser = usm_find_user(pdu->engine.engine_id,
516 pdu->engine.engine_len, pdu->user.sec_name);
518 pdu->user.auth_proto = usmuser->suser.auth_proto;
519 pdu->user.priv_proto = usmuser->suser.priv_proto;
520 memcpy(pdu->user.auth_key, usmuser->suser.auth_key,
521 sizeof(pdu->user.auth_key));
522 memcpy(pdu->user.priv_key, usmuser->suser.priv_key,
523 sizeof(pdu->user.priv_key));
525 snmp_pdu_init_secparams(pdu);
532 struct snmp_pdu pdu;
551 snmp_create_v1_trap(&pdu, t->comm, trap_oid);
553 snmp_create_v2_trap(&pdu, t->comm, trap_oid);
557 pdu.bindings[pdu.nbindings++] = *v;
560 if (snmp_pdu_auth_access(&pdu, &ip) != SNMP_CODE_OK) {
571 snmp_output(&pdu, sndbuf, &sndlen, "TRAP");
607 snmp_create_v1_trap(&pdu, tp->secname, trap_oid);
611 snmp_create_v2_trap(&pdu, tp->secname, trap_oid);
615 snmp_create_v3_trap(&pdu, tp, trap_oid);
624 pdu.bindings[pdu.nbindings++] = *v;
627 if (snmp_pdu_auth_access(&pdu, &ip) != SNMP_CODE_OK) {
638 snmp_output(&pdu, sndbuf, &sndlen, "TRAP");