如何通过unixsocker访问OpenvSwitchdatabaseserver

本篇文章给大家分享的是有关如何通过unix socker访问Open vSwitch database server,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联建站是一家专业提供寿阳企业网站建设,专注与网站制作、网站设计html5、小程序制作等业务。10年已为寿阳众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

与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,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网页标题:如何通过unixsocker访问OpenvSwitchdatabaseserver
转载源于:http://ybzwz.com/article/iieogh.html