def dpdk_cpu_info():
	global core_map
	global cores
	global core_map

	fd=open("/proc/cpuinfo")
	lines = fd.readlines()
	fd.close()

	core_details = []
	core_lines = {}
	for line in lines:
		if len(line.strip()) != 0:
			name, value = line.split(":", 1)
			core_lines[name.strip()] = value.strip()
		else:
			core_details.append(core_lines)
			core_lines = {}

	for core in core_details:
		for field in ["processor", "core id", "physical id"]:
			if field not in core:
				print "Error getting '%s' value from /proc/cpuinfo" % field
				sys.exit(1)
			core[field] = int(core[field])

		if core["core id"] not in cores:
			cores.append(core["core id"])
		if core["physical id"] not in sockets:
			sockets.append(core["physical id"])
		key = (core["physical id"], core["core id"])
		if key not in core_map:
			core_map[key] = []
		core_map[key].append(core["processor"])
dataset/ETHPy150Open sdnfv/openNetVM/scripts/corehelper.py/dpdk_cpu_info/original