Ejemplo n.º 1
0
/*
 * see section 3.8.1 of TCG TNC IF-IMV Specification 1.3
 */
TNC_Result TNC_IMV_Initialize(TNC_IMVID imv_id,
                              TNC_Version min_version,
                              TNC_Version max_version,
                              TNC_Version *actual_version)
{
    if (imv_scanner)
    {
        DBG1(DBG_IMV, "IMV \"%s\" has already been initialized", imv_name);
        return TNC_RESULT_ALREADY_INITIALIZED;
    }
    imv_scanner = imv_agent_create(imv_name, msg_types, 1, imv_id, actual_version);
    if (!imv_scanner)
    {
        return TNC_RESULT_FATAL;
    }
    if (min_version > TNC_IFIMV_VERSION_1 || max_version < TNC_IFIMV_VERSION_1)
    {
        DBG1(DBG_IMV, "no common IF-IMV version");
        return TNC_RESULT_NO_COMMON_VERSION;
    }

    /* set the default port policy to closed (TRUE) or open (FALSE) */
    closed_port_policy = lib->settings->get_bool(lib->settings,
                         "libimcv.plugins.imv-scanner.closed_port_policy", TRUE);
    DBG2(DBG_IMV, "default port policy is %s ports",
         closed_port_policy ? "closed" : "open");

    /* get the list of open|closed ports */
    tcp_ports = get_port_list("tcp");
    udp_ports = get_port_list("udp");

    return TNC_RESULT_SUCCESS;
}
Ejemplo n.º 2
0
int
main(int argc, char * const argv[])
{
	int c;
	boolean_t fork = B_TRUE;

	progname = basename(strdup(argv[0]));

	if ((fmri = (const char *)getenv("SMF_FMRI")) == NULL)
		fmri = DEFAULT_FMRI;

	(void) setlocale(LC_ALL, "");
#if !defined(TEXT_DOMAIN)
#define	TEXT_DOMAIN "SYS_TEST"
#endif
	(void) textdomain(TEXT_DOMAIN);

	while ((c = getopt(argc, argv, "djn")) != EOF) {
		switch (c) {
		case 'd':
			dlevel = 0xffff;
			break;
		case 'j':
			json = B_TRUE;
			break;
		case 'n':
			fork = B_FALSE;
			break;
		default:
			(void) fprintf(stderr, gettext("Unknown option "
			    "\'%c\'.\n"), c);
			usage(progname);
		}
	}

	pid = getpid();

	if ((main_port = port_create()) == -1)
		err(EXIT_FAILURE, "port_create() failed");

	list_create(&links, sizeof (link_t), offsetof(link_t, node));

	VERIFY(get_sysinfo());
	lldp_read_config();
	signal_init();
	get_port_list();
	lldp_init(4);
	cdp_init(4);
	main_loop();

	return (0);
}
Ejemplo n.º 3
0
void switchlink_api_init() {
  sai_status_t status = SAI_STATUS_SUCCESS;

  sai_initialize();

  status = sai_api_query(SAI_API_SWITCH, (void **)&switch_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_VIRTUAL_ROUTER, (void **)&vrf_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_VLAN, (void **)&vlan_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_STP, (void **)&stp_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_FDB, (void **)&fdb_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_ROUTER_INTERFACE, (void **)&rintf_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_NEIGHBOR, (void **)&neigh_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_NEXT_HOP, (void **)&nhop_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_NEXT_HOP_GROUP, (void **)&nhop_group_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_ROUTE, (void **)&route_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_IPMC, (void **)&ipmc_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_L2MC, (void **)&l2mc_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_HOST_INTERFACE, (void **)&host_intf_api);
  assert(status == SAI_STATUS_SUCCESS);
  status = sai_api_query(SAI_API_ACL, (void **)&acl_api);
  assert(status == SAI_STATUS_SUCCESS);

  register_sai_notifications();
  register_sai_traps();

  get_port_list();
}