Blame opamgt/samples/simple_pa_query.c

Packit 857059
/* This file shows a simple example of requesting and printing OPA
Packit 857059
 * port counters data
Packit 857059
 *
Packit 857059
 */
Packit 857059
Packit 857059
//core API
Packit 857059
#include <opamgt/opamgt.h>
Packit 857059
//extensions for PA queries
Packit 857059
#include <opamgt/opamgt_pa.h>
Packit 857059
#include <inttypes.h>
Packit 857059
Packit 857059
Packit 857059
int main()
Packit 857059
{
Packit 857059
	struct omgt_port * port = NULL;
Packit 857059
	OMGT_STATUS_T status;
Packit 857059
	int exitcode = 0;
Packit 857059
Packit 857059
	STL_PA_IMAGE_ID_DATA image_ID = {0};
Packit 857059
	STL_PA_IMAGE_INFO_DATA image_info;
Packit 857059
Packit 857059
	status = omgt_open_port_by_num(&port, 1, 1, NULL);
Packit 857059
	if(OMGT_STATUS_SUCCESS != status) {
Packit 857059
		fprintf(stderr, "Failed to open port or initialize PA connection\n");
Packit 857059
		exitcode=1;
Packit 857059
		goto fail1;
Packit 857059
	}
Packit 857059
Packit 857059
	if (omgt_pa_get_image_info(port, image_ID, &image_info)){
Packit 857059
		fprintf(stderr, "Failed to get PA image\n");
Packit 857059
		exitcode=1;
Packit 857059
		goto fail2;
Packit 857059
	}
Packit 857059
Packit 857059
	printf("Sweep start: %s", ctime((time_t *)&image_info.sweepStart));
Packit 857059
Packit 857059
	STL_PORT_COUNTERS_DATA port_counters;
Packit 857059
	/*loop here, collecting counters and storing or displaying*/
Packit 857059
	/*maybe show capability to get specific images*/
Packit 857059
	if (omgt_pa_get_port_stats2(port, image_ID, 1, 1, &image_ID, &port_counters, NULL, 0, 1)){
Packit 857059
		fprintf(stderr, "Failed to get port counters\n");
Packit 857059
		exitcode=1;
Packit 857059
		goto fail2;
Packit 857059
	}
Packit 857059
Packit 857059
	printf("Port Counters Data:\n");
Packit 857059
	printf("portXmitData:               %"PRIu64"\n", port_counters.portXmitData);
Packit 857059
	printf("portRcvData:                %"PRIu64"\n", port_counters.portRcvData);
Packit 857059
	printf("portXmitPkts:               %"PRIu64"\n", port_counters.portXmitPkts);
Packit 857059
	printf("portRcvPkts:                %"PRIu64"\n", port_counters.portRcvPkts);
Packit 857059
	printf("localLinkIntegrityErrors:   %"PRIu64"\n", port_counters.localLinkIntegrityErrors);
Packit 857059
	printf("linkDowned:                 %u\n", port_counters.linkDowned);
Packit 857059
Packit 857059
fail2:
Packit 857059
	omgt_close_port(port);
Packit 857059
fail1:
Packit 857059
	return exitcode;
Packit 857059
}