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>
|
