/* If the destination exists (it should, but one never
* know)*/
if (dest != NULL) {
- struct eigrp_fsm_action_message *msg;
- msg = XCALLOC(MTYPE_EIGRP_FSM_MSG,
- sizeof(struct
- eigrp_fsm_action_message));
+ struct eigrp_fsm_action_message msg;
struct eigrp_neighbor_entry *entry =
eigrp_prefix_entry_lookup(dest->entries,
nbr);
- msg->packet_type = EIGRP_OPC_SIAQUERY;
- msg->eigrp = eigrp;
- msg->data_type = EIGRP_TLV_IPv4_INT;
- msg->adv_router = nbr;
- msg->data.ipv4_int_type = tlv;
- msg->entry = entry;
- msg->prefix = dest;
- int event = eigrp_get_fsm_event(msg);
- eigrp_fsm_event(msg, event);
+ msg.packet_type = EIGRP_OPC_SIAQUERY;
+ msg.eigrp = eigrp;
+ msg.data_type = EIGRP_TLV_IPv4_INT;
+ msg.adv_router = nbr;
+ msg.data.ipv4_int_type = tlv;
+ msg.entry = entry;
+ msg.prefix = dest;
+ int event = eigrp_get_fsm_event(&msg);
+ eigrp_fsm_event(&msg, event);
}
eigrp_IPv4_InternalTLV_free(tlv);
}