本篇文章给大家分享的是有关如何通过unix socker访问Open vSwitch database server,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
与openvswitch交互,可以通过命令方式ovsdb-client list-dbs,或通过api操作ovsdb。
ovsdb协议参考 https://tools.ietf.org/html/rfc7047 (The Open vSwitch Database Management Protocol)
下面是通过unix sockert,json-rpc协议,与ovsdb交互的一个例子
import socket
import sys
import json
def is_json(myjson):
try:
json.loads(myjson)
except ValueError:
return False
return True
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
server_address = '/var/run/openvswitch/db.sock'
try:
sock.connect(server_address)
except socket.error, msg:
print(msg)
sys.exit(1)
try:
message = {
"method": "list_dbs",
"params": [],
"id": 0,
}
sock.sendall(json.dumps(message))
josn_result = ""
while True:
data = sock.recv(1024)
if len(data) > 0:
josn_result += data
if is_json(josn_result):
break
print(josn_result)
finally:
sock.close()
以上就是如何通过unix socker访问Open vSwitch database server,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。