Hi Bhanu,

Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com> writes:

> This commit introduces the initial keepalive support by adding
> 'keepalive' module and also helper and initialization functions
> that will be invoked by later commits.
>
> This commit adds new ovsdb column "keepalive". It shows the overall
> datapath status and the health of the cores running datapath threads.
>
> For eg:
>   To enable keepalive feature.
>   'ovs-vsctl --no-wait set Open_vSwitch . other_config:enable-keepalive=true'
>
>   To set timer interval of 5000ms for monitoring packet processing cores;
>   'ovs-vsctl --no-wait set Open_vSwitch . \
>      other_config:keepalive-interval="5000"
>
>   To set shared memory block name where the events shall be updated
>   'ovs-vsctl --no-wait set Open_vSwitch .
>      other_config:keepalive-shm-name="/ovs_keepalive_shm_name"'
>
> Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodire...@intel.com>
> ---

Please drop the shm from this in a future spin.  I could break the
internal state quite easily (like the very first torturous thing I
did) by dumping /dev/urandom to the shared memory file.  I could very
easily craft something that will keep this shared memory in a bad state.

In fact, I haven't even tried to do things like overwrite existing
shared memory objects (should be possible, and will break other
projects, ecryptfs is the first that comes to mind).  It would be better
to just drop it.

ovs-appctl keepalive/pmd-health-show
                Keepalive status
keepalive status  : Enabled
keepalive interval: 1000 ms

CORE    STATE   LAST SEEN TIMESTAMP
 7      ALIVE   43344787807209

Datapath Status   : HEALTHY

cat /dev/urandom > /dev/shm/dpdk_keepalive_shm_name
ovs-appctl keepalive/pmd-health-show            Keepalive status
keepalive status  : Enabled
keepalive interval: 1000 ms

CORE    STATE   LAST SEEN TIMESTAMP
 0      (null)  10660124645881463916
 1      (null)  5419620669063293457
 2      (null)  3997290327519151462
 3      (null)  741012298071192240
 4      (null)  17121191240143348475
 5      (null)  196826143357288180
 6      (null)  16991287540667354606
 7      ALIVE   43433690238297
 8      (null)  12605537197433233625
 9      (null)  16165932034124372170
10      (null)  7043153906566983888
11      (null)  3313365658311486089
12      (null)  9472051631753636385
13      (null)  2729591716011495190
14      (null)  8116719657874052902
15      (null)  6170218932000590981
16      (null)  11940062704289009242
17      (null)  16054426603346992693
18      (null)  11733783812145211587
19      (null)  17422311991122429793
20      (null)  12157602060703720484
21      (null)  4702539880649374601
22      (null)  3308829437461656258
23      (null)  10686327068067950801
24      (null)  1062353524616742042
25      (null)  3411196120056755362
26      (null)  14380258066374538906
27      (null)  1994426035553696437
28      (null)  14629305673046216947
29      (null)  6815178381412532977
30      (null)  3837867130711225730
31      (null)  14372514319083311235
32      (null)  16904818025985329362
33      (null)  7874035779643796944
34      (null)  14137956378807162773
35      (null)  2135100817994545762
36      (null)  938767493018956293
37      (null)  549204087805245919
38      (null)  10719355933507854137
39      (null)  263240089144185313
40      (null)  6073326489453212261
41      (null)  8116030765185514690
42      (null)  1248609037227101558
43      (null)  6678443548270239496
44      (null)  5847797356619529282
45      (null)  14391879962356278324
46      (null)  1716234857307350191
47      (null)  7574042054802707876
48      (null)  16860876577697127818
49      (null)  7895935822970790600
50      (null)  5153886903119256630
51      (null)  6363876866636362709
52      (null)  17623253782684394967
53      (null)  13094434757667773855
54      (null)  1342198222097391716
55      (null)  5961615020761719880
56      (null)  175752874781730961
57      (null)  16164123257846350774
58      (null)  3640530682414592532
59      (null)  14841131474158653980
60      (null)  17010280974634724206
61      (null)  5804918975148153365
62      (null)  1467237527024283686
63      (null)  796105455950228646
64      (null)  3888015814214546233
65      (null)  13081487125645211001
66      (null)  3487953759259578515
67      (null)  1219525686458220333
68      (null)  13050098724568496629
69      (null)  5616895831600742933
70      (null)  4515459817496319851
71      (null)  4300342810383125296
72      (null)  2089763498196056699
73      (null)  4558921459658476837
74      (null)  9589791739912051982
75      (null)  7272211504898147193
76      (null)  153518444253159437
77      (null)  11821286970977580690
78      (null)  6027047558190586472
79      (null)  4444531704085926681
80      (null)  2759824267120885517
81      (null)  16600346914700514203
82      (null)  14476746472648794914
83      (null)  6836491613483326907
84      (null)  3891839138365995246
85      (null)  16117423162606961380
86      (null)  18263784802693730952
87      (null)  9904243893554832371
88      (null)  4143808308929447327
89      (null)  16809817010561028285
90      (null)  11469071700772754979
91      (null)  3962294215679521615
92      (null)  204372726457692892
93      (null)  15106779410389116135
94      (null)  11449324126036287827
95      (null)  8941138084047006708
96      (null)  4723903076832588171
97      (null)  4401931717370190036
98      (null)  4908359066639256207
99      (null)  8440636070681774753
100     (null)  13761214205257801060
101     (null)  17872778920723388899
102     (null)  12113388264038981360
103     (null)  17875097124559172525
104     (null)  834690981501251676
105     (null)  13643461999341349109
106     (null)  2362283555242969385
107     (null)  445267096604159221
108     (null)  16382407908611601109
109     (null)  5439783483802505466
110     (null)  14232074262186003839
111     (null)  13625303887042450726
112     (null)  3937990477933492467
113     (null)  10730991513718300068
114     (null)  8438291360705909413
115     (null)  10487084900559550739
116     (null)  11133741592439444843
117     (null)  7016453285148043103
118     (null)  3551521114318926201
119     (null)  5173646250762172263
120     (null)  3620228314653289305
121     (null)  6407373942480887984
122     (null)  15939516032859279633
123     (null)  14285513721828072858
124     (null)  13743510024269650309
125     (null)  4770228809351045051
126     (null)  4282030962150088172
127     (null)  1674150412751264599

Datapath Status   : HEALTHY
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to