原创 linux用戶態驅動--VIFIO、IOMMU、UIO(二)

1、UIO的出現,允許將驅動程序用到用戶態空間裏實現,但UIO有它的不足之處,如不支持DMA、中斷等; 2、隨着虛擬化的出現,IOMMU也隨之出現,IOMMU爲每個直通的設備分配獨立的頁表,因此不同的直通設備,彼此之間相互隔離;

原创 DPDK virtio的不同路徑(二十八)

什麼是Vhost/Virtio Vhost/Virtio是一種半虛擬化的設備抽象接口規範, 在Qemu和KVM中的得到了廣泛的應用,在客戶機操作系統中實現的前端驅動程序一般直接叫Virtio, 在宿主機實現的後端驅動程序稱爲Vho

原创 OVS DPDK vhost-user詳解(十三)

vhost user協議的控制和數據通道 所有的控制信息通過UNIX套接口(控制通道)交互。包括爲進行直接內存訪問而交換的內存映射信息,以及當數據填入virtio隊列後需要出發的kick事件和中斷信息。在Neutron中此UNIX

原创 OpenStack Neutron淺析(四)

傳統網絡到虛擬化網絡的演進 傳統網絡: 虛擬網絡: 布式虛擬網絡: 單一平面網絡到混合平面網絡的演進 單一平面租戶共享網絡:所有租戶共享一個網絡(IP 地址池),只能存在單一網絡類型(VLAN 或 Flat)。 沒有私有網

原创 linux虛擬網絡設備--內核網橋的實現分析(六)

一、Linux內核網橋的實現分析 Linux 內核分別在2.2 和 2.4內核中實現了網橋。但是2.2 內核和 2.4內核的實現有很大的區別,2.4中的實現幾乎是全部重寫了所有的實現代碼。本文以2.4.0內核版本爲例進行分析。 在

原创 OpenStack Neutron淺析(二)

計算、存儲和網絡,奠定了當今雲計算格局的三足鼎立之勢。 計算通過虛擬化CPU、disk、Memory等硬件來獲得高效的應用;存儲通過分佈式的文件系統,提供了衆多特性的功能。而相對於,計算和存儲兩方面的成熟與穩定,網絡一直以其在穩定

原创 DPDK vhost-user之mergeable 特性(七)

vhost_user在收包時(將數據包發往vm內部)會調用rte_vhost_enqueue_burst函數,這個函數的實現如下: rte_vhost_enqueue_burst uint16_t rte_vhost_enqueu

原创 snort inline模式和passive模式區別

passive mode provides a reactive protection. It can be configured to reset the attacker’s connection, IP blocking,

原创 DPDK vhost庫(二十四)

Vhost庫實現了一個用戶空間virtio網絡服務器,允許用戶直接操作virtio。 換句話說,它允許用戶通過VM virtio網絡設備獲取/發送數據包。 爲了達到這個功能,一個vhost庫需要實現: 訪問guest內存: 對於

原创 KVM中ioeventfd創建與觸發的大致流程(十四)

在使用virtio-blk的情況時,virtio notify使用的ioeventfd機制,原因是爲了提高性能,能夠較快速的回到guest中運行。具體是如何建立這個ioeventfd的呢?流程理出來了,細節沒看: 1、在guest

原创 DPDK vhost-user研究(二十六)

本文會重點討論下vhost pmd和lib庫中的api如何使用。 在前面的章節中描述過virtio-net設備的生命週期包括設備創建、配置、服務啓動和設備銷燬幾個階段。 我們先回憶下整個生命週期: 設備創建 vhost-user

原创 OVS DPDK--virtqueue(十七)

虛擬隊列(Virtqueue)是連接guest操作系統中virtio前端驅動和宿主機vhostuser後端驅動的實際數據鏈路。網絡設備有 2 個 virtqueue,一個用於發送數據包,一個用於接收數據包。 每個虛擬隊列主要由三部

原创 VT-x,VT-d簡介

虛擬化分軟件虛擬化和硬件虛擬化,沒有VT-x也能虛擬化,很老的機器都可以跑VMWare,因爲使用了軟件虛擬化的方式,不過運行效率肯定沒有硬件虛擬化的高; 硬件虛擬化分兩種:CPU層和IO層/芯片層,在Intel平臺上,CPU層的

原创 DPDK vhost-user研究(二十五)

Virtio/Vhost是什麼 Vhost/Virtio是一種半虛擬化的設備抽象接口規範, 在Qemu和KVM中的得到了廣泛的應用,在客戶機操作系統中實現的前端驅動程序一般直接叫Virtio, 在宿主機實現的後端驅動程序稱爲Vho

原创 OpenStack Neutron淺析(三)

1. 基礎知識 1.1 防火牆(firewall) 防火牆是依照特定的規則來控制進出它的網絡流量的網絡安全系統。一個典型的場景是在一個受信任的內網和不受信任的外網比如 Internet 之間建立一個屏障。防火牆可以是電腦上運行的軟