doc: add guide to use virtio-user as exceptional path

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
This commit is contained in:
Jianfeng Tan 2017-02-09 16:06:45 +00:00 committed by Thomas Monjalon
parent 50665deebd
commit 0ba3870e75
3 changed files with 529 additions and 0 deletions

View File

@ -0,0 +1,386 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="713.000000pt" height="461.000000pt" viewBox="0 0 713.000000 461.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.13, written by Peter Selinger 2001-2015
</metadata>
<g transform="translate(0.000000,461.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M2670 4535 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M1790 4333 c-6 -32 -14 -68 -17 -80 -3 -13 -1 -23 5 -23 5 0 15 28
21 63 7 34 14 70 17 80 3 9 1 17 -5 17 -5 0 -15 -26 -21 -57z"/>
<path d="M2670 4325 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M1260 4323 c-6 -32 -14 -66 -16 -75 -3 -10 -1 -18 4 -18 6 0 14 17
19 37 l9 37 23 -37 c31 -50 48 -47 19 4 l-23 41 34 30 c18 16 30 32 27 36 -4
3 -23 -10 -42 -29 l-37 -34 6 33 c4 17 2 32 -3 32 -5 0 -14 -26 -20 -57z"/>
<path d="M2970 4323 c-14 -64 -6 -86 29 -91 39 -6 68 23 80 78 13 62 14 70 2
70 -5 0 -12 -23 -16 -50 -8 -57 -27 -83 -59 -78 -23 3 -27 32 -13 96 3 17 2
32 -3 32 -5 0 -14 -26 -20 -57z"/>
<path d="M1371 4321 c-28 -28 -28 -77 -1 -86 22 -7 60 2 60 14 0 4 -13 6 -30
3 -18 -3 -30 0 -30 7 0 6 11 11 24 11 28 0 49 22 44 47 -5 26 -43 28 -67 4z
m52 -16 c1 -5 -11 -12 -27 -13 -27 -3 -28 -2 -16 13 14 17 40 17 43 0z"/>
<path d="M1476 4320 c-13 -47 -16 -90 -6 -90 5 0 10 10 10 23 0 28 26 67 46
67 8 0 14 4 14 10 0 15 -60 6 -64 -10z"/>
<path d="M1551 4291 c-13 -63 -13 -61 -1 -61 6 0 10 10 10 23 0 29 26 67 47
67 12 0 14 -8 9 -45 -4 -26 -3 -45 2 -45 12 0 26 86 17 100 -8 13 -42 13 -51
-1 -5 -8 -9 -8 -14 1 -5 8 -12 -8 -19 -39z"/>
<path d="M1681 4321 c-28 -28 -28 -77 -1 -86 22 -7 60 2 60 14 0 4 -13 6 -30
3 -18 -3 -30 0 -30 7 0 6 11 11 24 11 28 0 49 22 44 47 -5 26 -43 28 -67 4z
m52 -16 c1 -5 -11 -12 -27 -13 -27 -3 -28 -2 -16 13 14 17 40 17 43 0z"/>
<path d="M1922 4328 c-18 -18 -15 -36 8 -48 31 -17 25 -33 -11 -26 -22 4 -29
2 -26 -7 6 -19 58 -15 71 6 9 16 7 22 -11 34 -28 19 -30 35 -3 31 10 -2 20 2
22 7 4 15 -35 18 -50 3z"/>
<path d="M1997 4273 c-20 -84 -20 -83 -8 -83 5 0 11 10 13 23 2 17 8 21 30 19
31 -4 58 28 58 71 0 32 -24 46 -51 29 -13 -9 -19 -8 -22 1 -2 7 -11 -20 -20
-60z m71 21 c-4 -33 -32 -54 -49 -37 -9 9 -8 18 5 37 22 35 48 34 44 0z"/>
<path d="M2124 4316 c-8 -14 -14 -37 -12 -53 3 -25 7 -28 41 -28 39 -1 41 1
52 65 6 34 5 35 -29 37 -28 2 -39 -2 -52 -21z m61 -6 c9 -15 -22 -60 -40 -60
-18 0 -20 41 -3 58 15 15 35 15 43 2z"/>
<path d="M2250 4320 c-15 -15 -20 -31 -18 -53 3 -28 7 -32 32 -32 16 0 31 5
33 11 2 7 -6 10 -22 7 -21 -5 -25 -2 -25 20 0 31 23 51 51 44 13 -3 19 -1 16
6 -6 21 -45 19 -67 -3z"/>
<path d="M2351 4321 c-28 -28 -28 -77 -1 -86 22 -7 60 2 60 14 0 4 -13 6 -30
3 -18 -3 -30 0 -30 7 0 6 11 11 24 11 28 0 49 22 44 47 -5 26 -43 28 -67 4z
m52 -16 c1 -5 -11 -12 -27 -13 -27 -3 -28 -2 -16 13 14 17 40 17 43 0z"/>
<path d="M3122 4328 c-18 -18 -15 -36 8 -48 31 -17 25 -33 -11 -26 -22 4 -29
2 -26 -7 6 -19 58 -15 71 6 9 16 7 22 -11 34 -28 19 -30 35 -3 31 10 -2 20 2
22 7 4 15 -35 18 -50 3z"/>
<path d="M3211 4321 c-28 -28 -28 -77 -1 -86 22 -7 60 2 60 14 0 4 -13 6 -30
3 -18 -3 -30 0 -30 7 0 6 11 11 24 11 28 0 49 22 44 47 -5 26 -43 28 -67 4z
m52 -16 c1 -5 -11 -12 -27 -13 -27 -3 -28 -2 -16 13 14 17 40 17 43 0z"/>
<path d="M3316 4320 c-13 -47 -16 -90 -6 -90 5 0 10 10 10 23 0 28 26 67 46
67 8 0 14 4 14 10 0 15 -60 6 -64 -10z"/>
<path d="M3472 4328 c-18 -18 -15 -36 8 -48 31 -17 25 -33 -11 -26 -22 4 -29
2 -26 -7 6 -19 58 -15 71 6 9 16 7 22 -11 34 -28 19 -30 35 -3 31 10 -2 20 2
22 7 4 15 -35 18 -50 3z"/>
<path d="M3547 4273 c-20 -84 -20 -83 -8 -83 5 0 11 10 13 23 2 17 8 21 30 19
31 -4 58 28 58 71 0 32 -24 46 -51 29 -13 -9 -19 -8 -22 1 -2 7 -11 -20 -20
-60z m71 21 c-4 -33 -32 -54 -49 -37 -9 9 -8 18 5 37 22 35 48 34 44 0z"/>
<path d="M3674 4316 c-8 -14 -14 -37 -12 -53 3 -25 7 -28 41 -28 39 -1 41 1
52 65 6 34 5 35 -29 37 -28 2 -39 -2 -52 -21z m61 -6 c9 -15 -22 -60 -40 -60
-18 0 -20 41 -3 58 15 15 35 15 43 2z"/>
<path d="M3800 4320 c-15 -15 -20 -31 -18 -53 3 -28 7 -32 32 -32 16 0 31 5
33 11 2 7 -6 10 -22 7 -21 -5 -25 -2 -25 20 0 31 23 51 51 44 13 -3 19 -1 16
6 -6 21 -45 19 -67 -3z"/>
<path d="M3901 4321 c-28 -28 -28 -77 -1 -86 22 -7 60 2 60 14 0 4 -13 6 -30
3 -18 -3 -30 0 -30 7 0 6 11 11 24 11 28 0 49 22 44 47 -5 26 -43 28 -67 4z
m52 -16 c1 -5 -11 -12 -27 -13 -27 -3 -28 -2 -16 13 14 17 40 17 43 0z"/>
<path d="M2670 4115 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 3905 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M3530 3285 l0 -605 -415 0 c-362 0 -415 2 -415 15 0 8 -7 15 -15 15
-8 0 -15 -7 -15 -15 0 -10 -16 -15 -57 -18 l-58 -3 58 -2 57 -2 0 -45 c0 -33
4 -45 15 -45 11 0 15 12 15 45 l0 45 415 0 415 0 0 -785 0 -785 455 0 c297 0
455 3 455 10 0 7 -155 10 -445 10 l-445 0 0 775 0 775 55 0 c39 0 56 -4 63
-16 7 -13 13 -14 30 -5 11 6 23 11 26 11 3 0 6 -47 6 -105 l0 -105 715 0 715
0 0 230 0 230 -715 0 -715 0 0 -115 0 -116 -30 16 c-27 14 -30 14 -30 0 0 -12
-13 -15 -60 -15 l-60 0 0 595 0 595 1740 0 1740 0 0 -1375 0 -1375 -475 0
-474 0 -4 128 -3 127 -2 -127 -2 -128 -805 0 c-530 0 -805 -3 -805 -10 0 -7
275 -10 805 -10 l805 0 0 -175 c0 -148 -2 -175 -15 -175 -13 0 -12 -5 2 -35
21 -43 28 -44 42 -4 14 40 14 39 -4 39 -13 0 -15 26 -15 175 l0 175 485 0 485
0 0 1395 0 1395 -1760 0 -1760 0 0 -605z m1610 -605 l0 -210 -695 0 -695 0 0
210 0 210 695 0 695 0 0 -210z"/>
<path d="M4140 2740 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
-10 -4 -10 -10z"/>
<path d="M4310 2740 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
-10 -4 -10 -10z"/>
<path d="M4501 2678 c1 -35 4 -51 6 -35 3 17 10 27 22 27 22 0 41 19 41 41 0
18 -19 29 -51 29 -17 0 -19 -7 -18 -62z m52 40 c7 -21 -4 -38 -24 -38 -14 0
-19 7 -19 25 0 18 5 25 19 25 11 0 21 -6 24 -12z"/>
<path d="M4602 2678 l1 -63 6 54 6 55 19 -52 c10 -29 22 -52 26 -52 4 0 16 23
26 52 l19 52 6 -55 6 -54 1 63 c2 74 -13 80 -37 14 -8 -23 -18 -42 -21 -42 -3
0 -12 19 -20 42 -24 66 -40 61 -38 -14z"/>
<path d="M4760 2680 c0 -59 0 -60 28 -60 16 0 36 8 45 18 37 41 9 102 -46 102
-26 0 -27 -2 -27 -60z m56 42 c35 -24 20 -92 -21 -92 -23 0 -25 3 -25 50 0 41
3 50 18 50 9 0 22 -4 28 -8z"/>
<path d="M4252 2714 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23
-40 16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
<path d="M4059 2665 c18 -50 27 -56 40 -22 19 50 23 69 13 63 -5 -3 -12 -19
-16 -36 -7 -37 -21 -32 -29 10 -4 16 -11 30 -16 30 -4 0 -1 -20 8 -45z"/>
<path d="M4140 2665 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
-5 0 -10 -20 -10 -45z"/>
<path d="M4192 2660 c1 -40 2 -41 5 -10 2 19 11 40 20 47 13 10 13 12 -6 10
-18 -1 -21 -7 -19 -47z"/>
<path d="M4310 2665 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
-5 0 -10 -20 -10 -45z"/>
<path d="M4360 2696 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
-30 -14z m55 -15 c8 -26 -4 -51 -25 -51 -10 0 -21 7 -24 16 -10 25 3 54 24 54
10 0 21 -8 25 -19z"/>
<path d="M4610 3715 l0 -75 35 0 c43 0 85 37 85 73 0 13 -9 36 -21 51 -16 20
-29 26 -60 26 l-39 0 0 -75z m84 39 c35 -34 9 -94 -40 -94 -22 0 -24 3 -24 55
0 52 2 55 24 55 14 0 32 -7 40 -16z"/>
<path d="M4760 3715 c0 -43 4 -75 10 -75 6 0 10 13 10 29 0 24 5 30 30 34 21
5 31 14 36 32 8 34 -11 55 -52 55 l-34 0 0 -75z m65 30 c0 -13 -8 -21 -22 -23
-19 -3 -23 1 -23 23 0 22 4 26 23 23 14 -2 22 -10 22 -23z"/>
<path d="M4880 3715 l0 -75 35 0 c43 0 85 37 85 73 0 13 -9 36 -21 51 -16 20
-29 26 -60 26 l-39 0 0 -75z m84 39 c35 -34 9 -94 -40 -94 -22 0 -24 3 -24 55
0 52 2 55 24 55 14 0 32 -7 40 -16z"/>
<path d="M5030 3715 c0 -77 16 -105 22 -38 l3 37 25 -37 c14 -20 31 -37 38
-37 8 0 1 16 -18 41 l-33 40 28 29 c16 17 25 33 22 37 -4 4 -21 -9 -37 -28
l-29 -34 -1 33 c0 17 -4 32 -10 32 -6 0 -10 -32 -10 -75z"/>
<path d="M2670 3695 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M5217 3743 c-14 -14 -6 -19 23 -15 39 6 39 -14 0 -22 -60 -12 -46
-68 16 -63 33 2 34 4 34 43 0 22 -5 45 -12 52 -13 13 -50 16 -61 5z m51 -65
c-5 -15 -48 -24 -48 -10 0 14 12 22 33 22 10 0 17 -5 15 -12z"/>
<path d="M5330 3673 c0 -42 4 -73 10 -73 6 0 10 12 10 26 0 15 4 23 11 19 22
-14 57 5 64 34 10 48 -9 71 -55 69 l-40 -1 0 -74z m75 22 c0 -25 -4 -30 -25
-30 -16 0 -26 6 -28 18 -6 30 6 49 30 45 18 -2 23 -9 23 -33z"/>
<path d="M5460 3673 c0 -42 4 -73 10 -73 6 0 10 12 10 26 0 15 4 23 11 19 22
-14 57 5 64 34 10 48 -9 71 -55 69 l-40 -1 0 -74z m75 22 c0 -25 -4 -30 -25
-30 -16 0 -26 6 -28 18 -6 30 6 49 30 45 18 -2 23 -9 23 -33z"/>
<path d="M2670 3485 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M3730 3230 l0 -250 1520 0 1520 0 0 250 0 250 -1520 0 -1520 0 0
-250z m3020 0 l0 -230 -1500 0 -1500 0 0 230 0 230 1500 0 1500 0 0 -230z"/>
<path d="M4960 3230 l0 -60 33 1 c30 2 30 2 5 6 -36 6 -40 49 -5 56 l22 4 -22
2 c-35 2 -31 39 5 44 25 4 25 4 -5 6 l-33 1 0 -60z"/>
<path d="M5047 3283 c19 -4 23 -12 26 -61 l3 -57 2 57 c2 50 5 57 25 61 12 2
0 4 -28 4 -27 0 -40 -2 -28 -4z"/>
<path d="M5143 3230 c0 -36 2 -50 4 -32 4 28 8 32 33 32 25 0 29 -4 33 -32 2
-18 4 -4 4 32 0 36 -2 53 -4 38 -4 -23 -9 -28 -33 -28 -24 0 -29 5 -33 28 -2
15 -4 -2 -4 -38z"/>
<path d="M5260 3230 c0 -59 0 -60 28 -60 16 0 36 8 45 18 37 41 9 102 -46 102
-26 0 -27 -2 -27 -60z m56 42 c35 -24 20 -92 -21 -92 -23 0 -25 3 -25 50 0 41
3 50 18 50 9 0 22 -4 28 -8z"/>
<path d="M5380 3230 l0 -60 33 1 c30 2 30 2 5 6 -36 6 -40 49 -5 56 l22 4 -22
2 c-35 2 -31 39 5 44 25 4 25 4 -5 6 l-33 1 0 -60z"/>
<path d="M5460 3285 c0 -25 35 -115 45 -115 12 0 50 108 42 117 -3 2 -13 -19
-22 -48 l-18 -52 -18 48 c-18 47 -29 66 -29 50z"/>
<path d="M2670 3275 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2212 3267 c-2 -39 -6 -49 -24 -57 -13 -5 -16 -9 -8 -9 32 -1 41 15
37 65 l-3 49 -2 -48z"/>
<path d="M1530 3266 c0 -2 9 -6 20 -9 11 -3 18 -1 14 4 -5 9 -34 13 -34 5z"/>
<path d="M1608 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M1668 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M1777 3252 c-15 -16 -15 -19 6 -31 20 -13 21 -13 8 2 -11 14 -11 20
-1 32 18 21 6 19 -13 -3z"/>
<path d="M1828 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M1965 3260 c-3 -6 1 -7 9 -4 18 7 21 14 7 14 -6 0 -13 -4 -16 -10z"/>
<path d="M2028 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M2108 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M2178 3263 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
<path d="M1482 3225 c0 -16 2 -22 5 -12 2 9 2 23 0 30 -3 6 -5 -1 -5 -18z"/>
<path d="M1511 3234 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z"/>
<path d="M1922 3225 c0 -16 2 -22 5 -12 2 9 2 23 0 30 -3 6 -5 -1 -5 -18z"/>
<path d="M1610 3236 c0 -2 7 -7 16 -10 8 -3 12 -2 9 4 -6 10 -25 14 -25 6z"/>
<path d="M2013 3233 c9 -2 25 -2 35 0 9 3 1 5 -18 5 -19 0 -27 -2 -17 -5z"/>
<path d="M2085 3230 c-9 -15 4 -30 23 -29 15 1 15 2 0 6 -25 6 -22 21 5 26 22
4 22 4 0 6 -12 0 -25 -3 -28 -9z"/>
<path d="M1598 3203 c6 -2 18 -2 25 0 6 3 1 5 -13 5 -14 0 -19 -2 -12 -5z"/>
<path d="M2028 3203 c6 -2 18 -2 25 0 6 3 1 5 -13 5 -14 0 -19 -2 -12 -5z"/>
<path d="M2670 3065 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M1730 3024 c0 -8 -13 -20 -30 -25 -24 -9 -30 -17 -30 -39 0 -25 4
-29 29 -28 26 1 30 6 36 37 3 20 8 44 11 54 3 9 1 17 -5 17 -6 0 -11 -7 -11
-16z m-10 -54 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0 14 -5 14 -10z"/>
<path d="M2233 2985 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
<path d="M1839 3018 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
-41 32z"/>
<path d="M2179 3018 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
-41 32z"/>
<path d="M1763 2993 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
-20 12 -8 23 11 12 23 8 23 -8z"/>
<path d="M1903 2993 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
-20 12 -8 23 11 12 23 8 23 -8z"/>
<path d="M2015 2990 c-10 -18 -15 -90 -6 -90 6 0 11 7 11 15 0 8 9 15 20 15
21 0 41 35 33 57 -5 12 -51 14 -58 3z m45 -19 c0 -12 -20 -25 -27 -18 -7 7 6
27 18 27 5 0 9 -4 9 -9z"/>
<path d="M2103 2993 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
-20 12 -8 23 11 12 23 8 23 -8z"/>
<path d="M70 2680 l0 -250 650 0 650 0 0 250 0 250 -650 0 -650 0 0 -250z
m1280 0 l0 -230 -630 0 -630 0 0 230 0 230 630 0 630 0 0 -230z"/>
<path d="M612 2714 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23
-40 16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
<path d="M676 2701 c-3 -4 6 -6 19 -3 18 3 25 0 25 -11 0 -9 -10 -17 -22 -19
-15 -2 -23 -10 -23 -23 0 -16 7 -20 33 -22 30 -1 32 1 32 31 0 18 -5 37 -12
44 -14 14 -44 16 -52 3z m44 -50 c0 -14 -18 -23 -30 -16 -6 4 -8 11 -5 16 8
12 35 12 35 0z"/>
<path d="M771 2645 c1 -33 4 -50 6 -38 3 14 9 20 19 16 20 -7 44 15 44 42 0
28 -19 45 -48 42 -20 -1 -22 -6 -21 -62z m54 36 c8 -26 -5 -53 -24 -49 -29 6
-27 68 3 68 8 0 17 -8 21 -19z"/>
<path d="M2670 2855 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M5340 2675 l0 -235 355 0 c195 0 355 -3 355 -7 -1 -5 -7 -19 -15 -33
-18 -32 -18 -40 0 -40 11 0 15 -18 18 -82 l3 -83 2 83 c2 65 5 82 17 82 18 0
18 8 0 40 -8 14 -14 28 -15 33 0 4 160 7 355 7 l355 0 0 235 0 235 -715 0
-715 0 0 -235z m1410 0 l0 -215 -695 0 -695 0 0 215 0 215 695 0 695 0 0 -215z"/>
<path d="M5783 2685 c0 -53 1 -61 6 -30 4 27 12 41 24 43 14 3 17 -4 17 -37 0
-23 5 -41 10 -41 15 0 12 53 -4 75 -8 11 -20 16 -29 12 -12 -4 -17 1 -20 21
-2 15 -4 -4 -4 -43z"/>
<path d="M6081 2678 c1 -35 4 -51 6 -35 3 17 10 27 22 27 22 0 41 19 41 41 0
18 -19 29 -51 29 -17 0 -19 -7 -18 -62z m52 40 c7 -21 -4 -38 -24 -38 -14 0
-19 7 -19 25 0 18 5 25 19 25 11 0 21 -6 24 -12z"/>
<path d="M6182 2678 l1 -63 6 54 6 55 19 -52 c10 -29 22 -52 26 -52 4 0 16 23
26 52 l19 52 6 -55 6 -54 1 63 c2 74 -13 80 -37 14 -8 -23 -18 -42 -21 -42 -3
0 -12 19 -20 42 -24 66 -40 61 -38 -14z"/>
<path d="M6340 2680 c0 -59 0 -60 28 -60 16 0 36 8 45 18 37 41 9 102 -46 102
-26 0 -27 -2 -27 -60z m56 42 c35 -24 20 -92 -21 -92 -23 0 -25 3 -25 50 0 41
3 50 18 50 9 0 22 -4 28 -8z"/>
<path d="M5712 2714 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23
-40 16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
<path d="M5620 2696 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
-30 -14z m55 -15 c8 -26 -4 -51 -25 -51 -10 0 -21 7 -24 16 -10 25 3 54 24 54
10 0 21 -8 25 -19z"/>
<path d="M5882 2698 c-27 -27 -7 -78 29 -78 10 0 20 4 23 8 2 4 -7 8 -21 7
-14 0 -28 6 -30 13 -3 8 6 12 26 12 31 0 36 6 25 34 -7 19 -35 21 -52 4z m46
-15 c2 -8 -6 -13 -22 -13 -19 0 -24 4 -19 15 6 18 34 16 41 -2z"/>
<path d="M5972 2660 c1 -40 2 -41 5 -10 2 19 11 40 20 47 13 10 13 12 -6 10
-18 -1 -21 -7 -19 -47z"/>
<path d="M6457 2703 c-15 -14 -6 -34 19 -43 29 -12 22 -34 -9 -26 -14 3 -17 2
-10 -5 16 -16 47 -7 51 14 2 11 -6 20 -23 27 -29 11 -24 35 6 27 11 -3 17 -1
13 4 -6 10 -38 12 -47 2z"/>
<path d="M1403 2688 c-13 -6 -23 -14 -23 -17 0 -7 54 -41 64 -41 8 0 8 34 0
54 -7 18 -11 19 -41 4z"/>
<path d="M2670 2435 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 2225 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M6064 1785 c0 -176 2 -247 3 -157 2 90 2 234 0 320 -1 86 -3 13 -3
-163z"/>
<path d="M2670 2015 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 1805 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 1595 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M4102 1540 c0 -41 2 -47 7 -25 3 17 13 30 21 30 8 0 18 -13 22 -30 6
-29 6 -29 5 5 -2 28 -6 35 -22 35 -11 0 -23 9 -27 20 -3 11 -6 -4 -6 -35z"/>
<path d="M4510 1572 c0 -13 -7 -18 -22 -18 -19 1 -23 -4 -23 -29 0 -26 4 -30
28 -31 26 -1 27 1 27 47 0 27 -2 49 -5 49 -3 0 -5 -8 -5 -18z m-5 -47 c0 -11
-8 -21 -17 -23 -14 -3 -18 3 -18 23 0 20 4 26 18 23 9 -2 17 -12 17 -23z"/>
<path d="M4322 1564 c-7 -8 -8 -14 -2 -14 5 0 10 -13 10 -30 0 -16 3 -30 8
-30 7 0 8 78 0 85 -1 1 -9 -3 -16 -11z"/>
<path d="M4692 1564 c-7 -8 -8 -14 -2 -14 5 0 10 -13 10 -30 0 -16 3 -30 8
-30 7 0 8 78 0 85 -1 1 -9 -3 -16 -11z"/>
<path d="M4032 1530 c14 -41 26 -46 38 -15 15 39 11 55 -4 20 l-13 -30 -8 28
c-4 15 -11 27 -16 27 -4 0 -3 -14 3 -30z"/>
<path d="M4184 1546 c-11 -29 0 -51 26 -51 21 0 25 5 25 30 0 24 -5 31 -23 33
-13 2 -24 -3 -28 -12z m46 -21 c0 -25 -23 -35 -35 -15 -10 16 2 40 20 40 9 0
15 -9 15 -25z"/>
<path d="M4264 1548 c-4 -6 0 -16 9 -23 22 -16 21 -22 0 -28 -14 -4 -12 -5 5
-6 25 -1 31 26 7 35 -20 8 -19 21 3 27 15 4 15 5 0 6 -9 0 -20 -4 -24 -11z"/>
<path d="M4396 1551 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
<path d="M4546 1551 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
<path d="M4611 1506 c1 -31 4 -43 7 -31 4 11 16 20 27 20 16 0 20 7 20 30 0
26 -4 30 -27 31 -27 1 -28 -1 -27 -50z m49 19 c0 -25 -23 -35 -35 -15 -10 16
2 40 20 40 9 0 15 -9 15 -25z"/>
<path d="M4744 1546 c-11 -30 0 -51 29 -52 25 -1 25 -1 2 3 -33 6 -32 23 1 23
19 0 25 5 22 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0 -17 5
-14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
<path d="M4821 1520 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
-17 -1 -21 -7 -20 -37z"/>
<path d="M2670 1385 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 1175 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 965 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M70 660 l0 -250 650 0 650 0 0 250 0 250 -650 0 -650 0 0 -250z
m1280 0 l0 -230 -630 0 -630 0 0 230 0 230 630 0 630 0 0 -230z"/>
<path d="M463 665 c0 -53 1 -61 6 -30 4 27 12 41 24 43 14 3 17 -4 17 -37 0
-23 5 -41 10 -41 15 0 12 53 -4 75 -8 11 -20 16 -29 12 -12 -4 -17 1 -20 21
-2 15 -4 -4 -4 -43z"/>
<path d="M732 694 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23 -40
16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3 -17
9 -20 13 -3 4 -11 2 -18 -6z"/>
<path d="M1042 694 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23
-40 16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
<path d="M369 645 c18 -50 27 -56 40 -22 19 50 23 69 13 63 -5 -3 -12 -19 -16
-36 -7 -37 -21 -32 -29 10 -4 16 -11 30 -16 30 -4 0 -1 -20 8 -45z"/>
<path d="M560 676 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
-30 -14z m55 -15 c8 -26 -4 -51 -25 -51 -10 0 -21 7 -24 16 -10 25 3 54 24 54
10 0 21 -8 25 -19z"/>
<path d="M657 683 c-15 -14 -6 -34 19 -43 29 -12 22 -34 -9 -26 -14 3 -17 2
-10 -5 16 -16 47 -7 51 14 2 11 -6 20 -23 27 -29 11 -24 35 6 27 11 -3 17 -1
13 4 -6 10 -38 12 -47 2z"/>
<path d="M861 640 l2 -45 6 40 c4 27 12 41 24 43 14 3 17 -4 17 -37 0 -23 5
-41 10 -41 13 0 13 46 0 71 -7 12 -20 18 -35 17 -23 -2 -25 -6 -24 -48z"/>
<path d="M962 678 c-15 -15 -15 -51 0 -66 14 -14 44 -16 52 -4 2 4 -7 8 -21 7
-14 0 -28 6 -30 13 -3 8 6 12 26 12 31 0 36 6 25 34 -7 19 -35 21 -52 4z m46
-15 c2 -8 -6 -13 -22 -13 -19 0 -24 4 -19 15 6 18 34 16 41 -2z"/>
<path d="M798 643 c6 -2 18 -2 25 0 6 3 1 5 -13 5 -14 0 -19 -2 -12 -5z"/>
<path d="M3533 835 c-5 -30 -6 -55 -2 -55 9 0 15 19 25 73 3 21 2 37 -3 37 -5
0 -14 -25 -20 -55z"/>
<path d="M3833 835 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
<path d="M3339 868 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
-41 32z"/>
<path d="M3779 868 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
-41 32z"/>
<path d="M3112 838 c-6 -6 -12 -23 -12 -36 0 -18 5 -23 22 -20 12 2 23 9 26
16 2 7 -2 10 -12 6 -11 -4 -16 -1 -16 10 0 9 6 16 14 14 8 -2 15 2 16 7 2 15
-24 17 -38 3z"/>
<path d="M3182 838 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
14 -5 14 -10z"/>
<path d="M3260 846 c0 -1 -4 -16 -9 -34 -11 -38 1 -43 17 -7 6 14 16 25 22 25
6 0 8 -10 4 -25 -4 -15 -2 -25 5 -25 6 0 12 9 13 20 0 11 1 26 2 33 1 6 -11
12 -26 13 -16 1 -28 1 -28 0z"/>
<path d="M3395 835 c-17 -57 -8 -76 13 -30 6 14 16 25 22 25 5 0 10 4 10 9 0
13 -42 9 -45 -4z"/>
<path d="M3462 838 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
14 -5 14 -10z"/>
<path d="M3615 840 c-10 -18 -15 -90 -6 -90 6 0 11 7 11 15 0 8 9 15 20 15 21
0 41 35 33 57 -5 12 -51 14 -58 3z m45 -19 c0 -12 -20 -25 -27 -18 -7 7 6 27
18 27 5 0 9 -4 9 -9z"/>
<path d="M3703 843 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
-20 12 -8 23 11 12 23 8 23 -8z"/>
<path d="M2670 755 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M2670 545 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M6440 525 c0 -31 3 -35 25 -35 22 0 25 4 25 35 0 31 -3 35 -25 35
-22 0 -25 -4 -25 -35z"/>
<path d="M5780 520 c0 -5 25 -10 55 -10 30 0 55 5 55 10 0 6 -25 10 -55 10
-30 0 -55 -4 -55 -10z"/>
<path d="M5900 495 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M6020 495 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M6200 400 l0 -130 85 0 85 0 0 130 0 130 -85 0 -85 0 0 -130z"/>
<path d="M6440 445 c0 -31 3 -35 25 -35 22 0 25 4 25 35 0 31 -3 35 -25 35
-22 0 -25 -4 -25 -35z"/>
<path d="M5780 430 c0 -5 25 -10 55 -10 30 0 55 5 55 10 0 6 -25 10 -55 10
-30 0 -55 -4 -55 -10z"/>
<path d="M5900 405 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M6020 405 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M2670 335 c0 -51 3 -65 15 -65 12 0 15 14 15 65 0 51 -3 65 -15 65
-12 0 -15 -14 -15 -65z"/>
<path d="M6440 360 c0 -25 4 -30 25 -30 21 0 25 5 25 30 0 25 -4 30 -25 30
-21 0 -25 -5 -25 -30z"/>
<path d="M5780 340 c0 -5 25 -10 55 -10 30 0 55 5 55 10 0 6 -25 10 -55 10
-30 0 -55 -4 -55 -10z"/>
<path d="M5900 315 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M6020 315 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
<path d="M6440 280 c0 -25 4 -30 25 -30 21 0 25 5 25 30 0 25 -4 30 -25 30
-21 0 -25 -5 -25 -30z"/>
<path d="M2670 160 c0 -20 5 -30 15 -30 10 0 15 10 15 30 0 20 -5 30 -15 30
-10 0 -15 -10 -15 -30z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -40,3 +40,4 @@ HowTo Guides
flow_bifurcation
pvp_reference_benchmark
virtio_user_for_container_networking
virtio_user_as_exceptional_path

View File

@ -0,0 +1,142 @@
.. BSD LICENSE
Copyright(c) 2016 Intel Corporation. All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Intel Corporation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.. _virtio_user_as_excpetional_path:
Virtio_user as Exceptional Path
===============================
The virtual device, virtio-user, was originally introduced with vhost-user
backend, as a high performance solution for IPC (Inter-Process Communication)
and user space container networking.
Virtio_user with vhost-kernel backend is a solution for exceptional path,
such as KNI which exchanges packets with kernel networking stack. This
solution is very promising in:
* Maintenance
All kernel modules needed by this solution, vhost and vhost-net (kernel),
are upstreamed and extensively used kernel module.
* Features
vhost-net is born to be a networking solution, which has lots of networking
related featuers, like multi queue, tso, multi-seg mbuf, etc.
* Performance
similar to KNI, this solution would use one or more kthreads to
send/receive packets from user space DPDK applications, which has little
impact on user space polling thread (except that it might enter into kernel
space to wake up those kthreads if necessary).
The overview of an application using virtio-user as exceptional path is shown
in :numref:`figure_virtio_user_as_exceptional_path`.
.. _figure_virtio_user_as_exceptional_path:
.. figure:: img/virtio_user_as_exceptional_path.*
Overview of a DPDK app using virtio-user as excpetional path
Sample Usage
------------
As a prerequisite, the vhost/vhost-net kernel CONFIG should be chosen before
compiling the kernel and those kernel modules should be inserted.
#. Compile DPDK and bind a physical NIC to igb_uio/uio_pci_generic/vfio-pci.
This physical NIC is for communicating with outside.
#. Run testpmd.
.. code-block:: console
$(testpmd) -c 0xc -n 4 \
--vdev=virtio_user0,path=/dev/vhost-net,queue_size=1024 \
-- -i --txqflags=0x0 --disable-hw-vlan --enable-lro --crc-strip
--enable-rx-cksum --rxd=1024 --txd=1024
This command runs testpmd with two ports, one physical NIC to communicate
with outside, and one virtio-user to communicate with kernel.
* ``--enable-lro``
This is used to negotiate VIRTIO_NET_F_GUEST_TSO4 and
VIRTIO_NET_F_GUEST_TSO6 feature so that large packets from kernel can be
transmitted DPDK application and further TSOed by physical NIC.
* ``--enable-rx-cksum``
This is used to negotiate VIRTIO_NET_F_GUEST_CSUM so that packets from
kernel can be deemed as valid Rx checksumed.
* ``queue_size``
256 by default. To avoid shortage of descriptors, we can increase it to 1024.
* ``queues``
Number of multi-queues. Each qeueue will be served by a kthread. For example:
.. code-block:: console
$(testpmd) -c 0xc -n 4 \
--vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
-- -i --txqflags=0x0 --disable-hw-vlan --enable-lro \
--crc-strip --enable-rx-cksum --txq=2 --rxq=2 --rxd=1024 \
--txd=1024
#. Start testpmd:
.. code-block:: console
(testpmd) start
#. Configure IP address and start tap:
.. code-block:: console
ifconfig tap0 1.1.1.1/24 up
.. note::
The tap device will be named tap0, tap1, etc, by kernel.
Then, all traffic from physical NIC can be forwarded into kernel stack, and all
traffic on the tap0 can be sent out from physical NIC.
Limitations
-----------
This solution is only available on Linux systems.