Control BGPfrom your ApplicationsWhatever a speaker is missing in depth he will compensate for in lengthMontesquieuLINX 74...
Dynamically Change RoutingDDOS filteringIWF interceptionTraffic engineeringSuspend customersIP announcement ..AnyCastContro...
Permanent configuration generation1 - Regenerating BIRD/Quagga/OpenBGPD configuration on change2 - Getting the daemon to rel...
1 - take your favourite language : perl, python, lua, C, shell, french ! ...2 - create a forever loop3 - print what you wa...
Integrationneighbor 192.168.127.128 {description "will flap a route until told otherwise";router-id 198.111.227.39;local-ad...
Want simpler !!neighbor 192.168.127.128 {router-id 198.111.227.39;local-address 192.168.127.1;local-as 65533;peer-as 65533...
Want Simpler ?#!/bin/shtrap  SIGINTwhile `true`;dostate=`check-if-all-ok`if [ “$state” = “up” ]; thenecho "announce watchd...
O"er usa#s ...http://www.ukuug.org/events/spring2011/timetable/bgp.pdfhttp://code.google.com/p/exabpg/Get it ...Judge a ma...
Upcoming SlideShare
Loading in …5
×

Control BGP from your applications

2,667 views
2,554 views

Published on

Find out how ExaBGP can be used to control BGP from any commodity server

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,667
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Control BGP from your applications

  1. 1. Control BGPfrom your ApplicationsWhatever a speaker is missing in depth he will compensate for in lengthMontesquieuLINX 74 - August 2011Thomas ManginExa Networks1Friday, 22 July 11
  2. 2. Dynamically Change RoutingDDOS filteringIWF interceptionTraffic engineeringSuspend customersIP announcement ..AnyCastControl “cloud” IPs from a central locationActive / Passive servers solution with service monitoringWhy ?2Friday, 22 July 11
  3. 3. Permanent configuration generation1 - Regenerating BIRD/Quagga/OpenBGPD configuration on change2 - Getting the daemon to reload its configuration3 - Go back to 1There must be a better way ...OpenBGPD bgpctlBIRD birdcQuagga / Zebra telnet ..There must be a better way ......How ?Logic will get you from A to B. Imagination will take you everywhereAlbert Einstein3Friday, 22 July 11
  4. 4. 1 - take your favourite language : perl, python, lua, C, shell, french ! ...2 - create a forever loop3 - print what you want to do ...4 - ... profit ?Demon!ration !#!/bin/sh# ignore Control Ctrap SIGINTwhile `true`;doecho "announce route 192.0.2.1 next-hop 10.0.0.1"sleep 10echo "withdraw route 192.0.2.1 next-hop 10.0.0.1"sleep 10doneflap.sh4Friday, 22 July 11
  5. 5. Integrationneighbor 192.168.127.128 {description "will flap a route until told otherwise";router-id 198.111.227.39;local-address 192.168.127.1;local-as 65533;peer-as 65533;# add and remove routes when flap.sh printsprocess loving-flaps {run etc/processes/flap.sh;}}BGP configurationIt is that simpleSuccess is a result, not a goalFlaubert5Friday, 22 July 11
  6. 6. Want simpler !!neighbor 192.168.127.128 {router-id 198.111.227.39;local-address 192.168.127.1;local-as 65533;peer-as 65533;process default-name-for-watchdog {run etc/processes/monitor.sh;}static {route 172.10.0.0/16 next-hop 192.0.2.1 watchdog service-one;}}BGP configuration6Friday, 22 July 11
  7. 7. Want Simpler ?#!/bin/shtrap SIGINTwhile `true`;dostate=`check-if-all-ok`if [ “$state” = “up” ]; thenecho "announce watchdog service-one"fiif [ “$state” = “down” ]; thenecho "withdraw watchdog service-one”fi# pick its name from the process section nameecho “announce watchdog”sleep 5doneThe watchdog ...7Friday, 22 July 11
  8. 8. O"er usa#s ...http://www.ukuug.org/events/spring2011/timetable/bgp.pdfhttp://code.google.com/p/exabpg/Get it ...Judge a man by his questions rather than by his answersVoltaireQuestions ?Answer : yes, It works with flow routes too8Friday, 22 July 11

×