溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何通過unix socker訪問Open vSwitch database server

發(fā)布時(shí)間:2021-12-23 17:54:16 來(lái)源:億速云 閱讀:135 作者:柒染 欄目:云計(jì)算

本篇文章給大家分享的是有關(guān)如何通過unix socker訪問Open vSwitch database server,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

與openvswitch交互,可以通過命令方式ovsdb-client list-dbs,或通過api操作ovsdb。

ovsdb協(xié)議參考 https://tools.ietf.org/html/rfc7047 (The Open vSwitch Database Management Protocol)

下面是通過unix sockert,json-rpc協(xié)議,與ovsdb交互的一個(gè)例子

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,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI