BGP Module
BGP (Border Gateway Protocol) is a routing protocol which allows
inter-AS (Autonomous System) route advertisements.
The BGP module is bound to the "urn:loria:madynes:ensuite:yencap:module:BGP:1.0"
namespace.
The BGP extension module for YencaP is available for download.
Documents concerning a technical overview and user manual of the Toolkit
are also widely available.
You can start from the following configuration file /etc/quagga/bgpd.conf.
The password must be the same as in /etc/ensuite/yencap/modules.xml
in the BGP module section.
! ! Zebra configuration saved from vty ! 2006/04/18 18:25:48 ! hostname localhost.localdomain password zebra log stdout ! router bgp 7675 bgp router-id 10.0.0.1 network 10.0.0.0/8 network 10.0.0.0/10 ! line vty ! |
Here is a sample of /etc/ensuite/yencap/modules.xml :
<module> <name>BGP</name> <xpath>/ycp:netconf/ycp:routing/bgp:bgp</xpath> <namespace>urn:loria:madynes:ensuite:yencap:module:BGP:1.0</namespace> <cache-lifetime>1000000</cache-lifetime> <parameters> <host>127.0.0.1</host> <port>2605</port> <password>zebra</password> <allowxpath>true</allowxpath> <enable_pass></enable_pass> </parameters> </module> |
Before starting YencaP, zebra and bgpd must be started:
/etc/init.d/zebra start /etc/init.d/bgpd start |
Here is an example of a BGP configuration:
<bgp xmlns="urn:loria:madynes:ensuite:yencap:module:BGP:1.0"> <bgprouter> <as-number>3</as-number> <neighbors> <neighbor> <ip-address>172.32.20.2</ip-address> <remote-as>1</remote-as> </neighbor> <neighbor> <ip-address>192.68.80.1</ip-address> <remote-as>2</remote-as> </neighbor> </neighbors> <address-families> <ipv4-address-family> <type>unicast</type> <neighbors> <neighbor> <ip-address>172.32.20.2</ip-address> <bind-filters> <route-map> <name>ROUTEMAP3</name> <direct>out</direct> </route-map> </bind-filters> </neighbor> <neighbor> <ip-address>192.68.80.1</ip-address> <bind-filters> <route-map> <name>ROUTEMAP3</name> <direct>out</direct> </route-map> </bind-filters> </neighbor> </neighbors> </ipv4-address-family> </address-families> </bgprouter> <filters> <as-path> <name>ALLOWED_AS</name> <state>permit</state> <regexp>^3_$</regexp> </as-path> <route-map> <map-tag>ROUTEMAP1</map-tag> <sequences> <seq-number>10</seq-number> <state>permit</state> <set> <weight>50</weight> </set> </sequences> </route-map> <route-map> <map-tag>ROUTEMAP2</map-tag> <sequences> <seq-number>10</seq-number> <state>permit</state> <set> <weight>100</weight> </set> </sequences> </route-map> <route-map> <map-tag>ROUTEMAP3</map-tag> <sequences> <seq-number>10</seq-number> <state>permit</state> <match> <as-path> <as-path-name>ALLOWED_AS</as-path-name> </as-path> </match> </sequences> </route-map> </filters> </bgp> |