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