Skip to content

Commit da0600f

Browse files
committed
WIP: Foundational pieces for VRF-aware Monitoring Protocol (VAMP)
Signed-off-by: Maximilian Wilhelm <[email protected]>
1 parent c9e7c0f commit da0600f

11 files changed

+967
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# VRF-Aware Monitoring Protocol (VAMP)
2+
3+
This protocol is designed to allow leveraging Bio-Routing to observe routing information present inside the network, across multiple VRFs and protocols.
4+
5+
Now you may wonder, that this sound similar to the BGP Monitoring Protocol (BMP), and it is, but it's also different in some aspects:
6+
7+
* BMP has support to expose routing information from different VRFs, which are identified by their respective Route Distinguisher (RD). To be able to leverage this feature there needs to be a unique RD per VRF, which introduces the requirement to managed RDs per VRF or device. When dealing with VRF-lite setups managing RDs would otherwise not be required and therefore it may not be desireable to add this additional requirement into the overall architecture.
8+
* BMP only exposes routes learned via BGP - which is was designed to do - in some circumstances however it might be desireable to also expose routing information from other protocols like IS-IS, OSPF, or even static routes, which may have been added manually or programatically.
9+
10+
To be most flexible the VRF-Aware Monitoring Protocol allows exporting routes for multiple VRFs over one gRPC connection.
11+
12+
Bio-Routing, at least for now, only implements a VRF-Aware Monitoring Protocol client componenent, meaning that the user has to run a VAMP server by themselves. An example can be found in the examples/vamp/ folder inside this repository.
13+
14+
The following diagram shows the architectural overview:
15+
16+
![VRF-Aware Monitoring Protocol architecural overview](VAMP Architecture.drawio.svg)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="Electron" modified="2023-01-29T18:59:27.718Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36" etag="-DjqRiY2ni0ywaGow-iP" version="16.5.1" type="device"><diagram id="qTsozOltfgc4AzKQSObR" name="Page-1">7V1bd5tIEv41PmfnwRyguT7aVuxkEl/G9swm+6KDoCWxQbQWkCzn1283NPebECAhBymxoRr6Ul9VddFVtC/AzWp352jr5T0yoHXBs8buAkwueJ6TOQX/IpR3SmGBGFAWjmlQWkx4MX/B8EJK3ZgGdFMXeghZnrlOE3Vk21D3UjTNcdBb+rI5stKtrrUFzBFedM3KU/9tGt6SUjlJjQs+Q3OxpE0rvBwUrLTwYjoSd6kZ6C1BAp8uwI2DkBccrXY30CLcC/kS3HdbUhp1zIG2t88N1uvdD2X1X+HXL+Hr1/uH2c8/N8tLXgqq2WrWho74n6v7J0x5gtChHffeQ244aGMbkFTIXYDrt6XpwZe1ppPSNywAmLb0VhYttrQZtK41/efCv+0GWcjxqwG3/gdfMke2d6utTIuIx2dobaFn6hotoMLAcfQ8UUHwCdt4Qq7pmcjGZTpmBu43uN5Ch1Rlfctc4CHSS80yF4WXX9GCGfI8tAo7Qhngd8S0rERH5iL5YrrrOegnTJRI/geX5HGi0JE24S5BorjdQbSCnvOOL6GlQKAyRLVIAgwvqolPUPoWCyjPUzVbJmSTEyRGFqhuUL1YRI3FooMPqPQ0kaQyQXqBzrZAlDR3Hejr3NwRibpeQ8fEXSFwTHB7WMHhU0xKClYOvUi1WHxiaO7SF1Fy4mLpNO3FK0F9QgTGXPkKH/6emKsFHq5lzvBPTffMLZwapoN7hghPbhfQxn3Qp64/CMbdLnIy0R5ejlXS+HIix0ggD6rCsKmPkMdYZHvCN28ocpBiGNbkcG7B3RWxvZhX0Dbo4US3NNc1dV9ZNMcLyTayYRrf2MqwVfrjoo2jw4ouU0uMG1tAr150oZGaCvJwJaDgWLZAv0KiAy2NiFJ6NipAhLbxhEw8tkgeJJAWB1HKgBqMnN6VNPmZiuRMRUK2ooA1uYp8AYkG3sImyPVCQyaH9f5KFM302iysgS1Gi94lsGkeqALD5u0lx2LTqIgyJ/D+TwDy8Coco3DJb0+axuWYRi3pjWVCCtTBk3KN7aqGsd6iJViqKkzMT/Izz1GZZ2Q++e2Jo2B/2xXODwmWlbkSkY+QdR4CH8Ov6Sqc5djcnKPjKQ6bQXx0BzVnyvHKDv9n1vaie1gie8CofELKhbR1EBlBTHyFnJYAnlFSmBZMQEBigJT89oRpkWmRLI84AOY2ha30vw3xsa/1wDm7IgZ6MfsXz5H7L3jcPJs5/oOckJmHJepyOace6pV/jaSt1n4hAAJpzUG4n7g9zXaJ249slLsmqjtXQi53fWUtvSdxSbJTru8dky5xwnoXlVmmDS9DPPxSlZSGPMBHC/q7kleDHPc4tt9nbGkSrs8uHO8sery8zKq3KMYqnT7+o7zt0oYytStSVCEnxsf4Eau48oBX9swlv1bQdclMQNvE5i9oNryabdobWYl7wHJxz2SpoDfEmbiv7YF8XVoYkQuAGjp2WFpFSdUNqR4l8kRgb1bdoITbFaCuzth8uxSL1/d1KR4fFwwMhT6He4GRJf3zfDv98nD7WAEQabcpTDNRh5qS7xFb1g4YwcmD8/z49+unY8LDjfA0gOfTw2T6eDt9/lLOnG7h4T8GPDm+ypNz6n5P0+QeM1hjQSoTbuo7Tb3qxkbTcizwN6btgVL17gz3rTOfkueW0VqdHHHseH2x5+g4kFc31CXoYAS9AvRntPHgUWB3SEvHBF74GMCnETvQMemeWrLObiOPLLPXRCti9jxuPLKMROmG5vx8JKFdj6xdswxLQvBhWNiC87jpVoFZKYymhivkbD4mqxYEAvkw7tZ9lF1pHYal8dZUDDYOzfYQhg3TdurCsPLAwrAySEew0tESbMAYUWIVoEiiKHDyYRFajuOx9AqswqqKqrKCAlKNcIrEqKwsSJIqs4DLRVN6jt+GuVqnjN9mUiPkwswITiySg960MKy4IPg0Cy3fE8l5wU27SDc1DxqB4+QmzOSs1EgOIs3KgHNt4/e19ySrPQOekTg2ikNHYpCSDa432ciH74eOb/fsjxKb0tYsP30eG5x8ltrQwTlD5aOlfBp9/vToCzn0vyHdXwQtcaH0d+x0GtABe7iqgdh8m9X5ri6FXDyK+ByS79McapFnxBTYYRUJsKWCjFSlN6j3SFcsTE0s9X9LoEpzugVQ6QTiLD3MPecv/GzXQDgDRwo5WW+eevgYZOf9Oz6/xC4mK4SUH2RAjCiG55MdHWFw9p48SyTgtnwICHWvPhmTItfkMaDI+xO7eQjgVJ6RuFyqdTijSSSjCoiSIHEykMXwdYemjwEgp0CcKjCiAqIP35vnD38YP/jPS9f6/vof66/Nn/zqRS/IQUytbozZVV6bLJ0xIWZICTH+0mZF2x83+6LB+m+WNDMRY0OPeXLg3Nz1vii8nle1MUb7TiUGDlzDYHWjIwEo68sTeZ2udynDjbgVrYwxxr2jDjMn25s8pe34fpPptYGGdjqRVuQs1mjjOGMWmMqjJJPW5OCcFzB1HC0gMQwz2BHSZ4jMPf57ZJGvmvCiJeVArtSGfgstcTuTO8gnuQ82D7R+zCoQlu5y9nxZTnaJHERjL+pe1yl8zbWpF1+/kbSAmEmpwwpRaZ+i0UTQB6nYPSvFi6d5pl7p4/Q7RQyL6XkOsofyZVgDK5mQGxkx15eV6XoUlnJhSVnyDykyjWad8mTp31pQaufc0W09S7e13VPz9d3TUZb+Zot1tREfk81PJwSfTcOA9jPUXGT3LglLv7GpU9dal+LwQVLQjyQOR3rlyDNXcGpBzbEr4xtdyoHYsRy0fCo85wX2wbwA0YR6zi9LZPP9hIJ0T1CU8AfCG9tkgRVmseyR7dksCSyfjHV4RlTB7nRf/569flG3D6y6edDu2Lfp+v45TMUZSD6UmNmKMtperWnKk6imKwLZnQu7y3CqYmuDDKdBPiyMe0GNY/sNx9Yo27Cxp3qW0Z0T7ypV+1J4m9jz0SWg4wgD9htMsq/jSdb9MvfEK9qJo8JhHLxm22pF3dZW5UIckIlliwc2SdYBDIF8i4eTXYgO6tm/7n1yBpvWWdrflGIU1XrQeiib+PcRrSC+cIaQ1Z0VbCa8mm1jhsGVv0/vWckw36LOw2X4DKaCoW3RsK/g7vUGRtc6vneS59lj2cda57HSN2s3czlCnmDXRt9EjL9zDFP9Osegdeg0DpdzzgzbJ7fgkOmwjSkREg9OgpoYRJGbXZqDVj1xDhOQWrM/+qwl5uvkPqs+Oq2j09qb0zqGyqr2FYvCYrUbi2WjLYeEygrDIUcIlcGd6X0P2MoCeh5sRiCLHD2PNyMgJ++Jk4O2IqiK/CQDb1XvwA8k8Kaw6Q0CeEli+OTfgBMPi8Nl6wVyV3E4fBr/dcPg8viPRIJP/wc=</diagram></mxfile>
Loading

Documentation/user/protocols/VAMP/VAMP Architecture.drawio.svg

+4
Loading

0 commit comments

Comments
 (0)