Parcourir la source

Adding translation to /etc/local/bird directory

Philippe Le Brouster il y a 10 ans
Parent
commit
62afcf683d

+ 3 - 3
README.en.md

@@ -20,9 +20,9 @@ For any question / comment / discussion, you can reach us through:
 
 ## Some principles
 
-* Routes imported from a bgp session are tagged with a community according to its origin.
-* Routes exported to a bgp session are filtered using communities based on their orgin. FIXME: origin/destination ?
-  * Examples:
+* Routes imported from a bgp session are tagged with a community according to the bgp peer.
+* Routes exported to a bgp session are filtered using communities based on the bgp peer.
+  * Examples
     * Routes exported to a transit operater session only contain properly tagged ones (members/clients/internal).
     * Routes exported to a member session are all Internet routes (full-view).
 

+ 14 - 7
etc/local/bird/bird.conf

@@ -4,23 +4,30 @@
 
 log syslog all;
 
-# Parametres specifiques au routeur
+# en: specific router parameters
+# fr: Parametres specifiques au routeur
 include "/etc/local/bird/common/local.conf";
 
-# Filtres/Fonctions communs a tous les protocoles
+# en: filters/functions common to all protocols
+# fr: filtres/fonctions communs a tous les protocoles
 include "/etc/local/bird/bird/filters.conf";
 
-# Gestion des protocoles lies au noyau
+# en: kernel protocol management
+# fr: Gestion des protocoles lies au noyau
 include "/etc/local/bird/common/kernel.conf";
 
-# Routes statiques
+# en: static routes
+# fr: routes statiques
 include "/etc/local/bird/bird/static.conf";
 
-# OSPF (Backbone)
+# en: OSPF (Backbone)
+# fr: OSPF (Backbone)
 include "/etc/local/bird/common/ospf.conf";
 
-# Filtres/Fonctions pour BGP
+# en: filters/functions for BGP
+# fr: filtres/fonctions pour BGP
 include "/etc/local/bird/common/bgp-filters.conf";
 
-# BGP (Livraisons, Transit, Peering)
+# en: BGP (Livraisons, Transit, Peering)
+# fr: BGP (Deliveries, Transit, Peering)
 include "/etc/local/bird/bird/bgp.conf";

+ 2 - 2
etc/local/bird/bird/filters.conf

@@ -8,8 +8,8 @@
 # en: NB: the '+' sign is necessary for backhole management
 # fr: NB : le '+' est necessaire pour le systeme de blackhole
 #
-# TODO: en: Content of this function could be filled semi-automatically using RIPE Database
-#       fr: Le contenu de cette function pourrait etre alimente semi-automatiquement via la DB du RIPE
+# TODO: en: Content of this function could be filled semi-automatically using the IRR
+#       fr: Le contenu de cette function pourrait etre alimente semi-automatiquement via les IRR
 function is_net_from_member(int AS)
 prefix set as_prefixes;
 {

+ 14 - 7
etc/local/bird/bird6.conf

@@ -4,23 +4,30 @@
 
 log syslog all;
 
-# Parametres specifiques au routeur
+# en: specific router parameters
+# fr: parametres specifiques au routeur
 include "/etc/local/bird/common/local.conf";
 
-# Filtres/Fonctions communs a tous les protocoles
+# en: filters/functions common to all protocols
+# fr: filtres/fonctions communs a tous les protocoles
 include "/etc/local/bird/bird6/filters.conf";
 
-# Gestion des protocoles lies au noyau
+# en: kernel protocol management
+# fr: gestion des protocoles lies au noyau
 include "/etc/local/bird/common/kernel.conf";
 
-# Routes statiques
+# en: static routes
+# fr: routes statiques
 include "/etc/local/bird/bird6/static.conf";
 
-# OSPF (Backbone)
+# en: OSPF (Backbone)
+# fr: OSPF (Backbone)
 include "/etc/local/bird/common/ospf.conf";
 
-# Filtres/Fonctions pour BGP
+# en: filters/functions for BGP
+# fr: filtres/fonctions pour BGP
 include "/etc/local/bird/common/bgp-filters.conf";
 
-# BGP (Livraisons, Transit, Peering)
+# en: BGP (Livraisons, Transit, Peering)
+# fr: BGP (Deliveries, Transit, Peering)
 include "/etc/local/bird/bird6/bgp.conf";

+ 78 - 29
etc/local/bird/common/bgp-filters.conf

@@ -2,14 +2,34 @@
 #
 # vim: set ts=4:sw=4
 
-# fonction d'import BGP
-# AS: numero d'AS du partenaire
-# import_type: transit|peering|member|core
-#    transit: transitaire
-#    peering: session de peering sur un IX (incluant les RS)
-#    member:  membre de Gitoyen beneficiant du completement du reseau
-#    core:    session iBGP du backbone
-# community: numero de communaute a utiliser pour tagguer, si =0 alors pas de tag.
+# en: bgp import function
+# en: this function import routes according to the import_type and the AS number. It also add tag the route with
+# en: the  given community
+# en:
+# en: Parameters
+# en:    AS           / AS number of the peer
+# en:    import_type  / the import type. Could be
+# en:                       transit:  this is a transit session
+# en:                       peering:  this is a peering session on an Internet Exchange Point (including route
+# en:                                 servers)
+# en:                       member:   this is a member of Gitoyen.
+# en:                       core:     this is a core session. It's the backbone iBGP sessions.
+# en:    community    / community number to associate to the route. If equal 0, there is no association.
+#
+# fr: fonction d'import bgp
+# fr: cette fonction importe les routes selon import_type et selon le numero d'AS. Elle associe aussi un numero
+# fr: de communaute aux routes importees.
+# fr:
+# fr: Parametres
+# fr:    AS           / Numero d'AS du pair
+# fr:    import_type  / Le type d'import. Peut-etre:
+# fr:                       transit:  c'est une session de transit
+# fr:                       peering:  c'est une session de pair sur une point d'echange Internet (incluant les
+# fr:                                 serveurs de routes)
+# fr:                       member:   c'est une session avec un membre de Gitoyen.
+# fr:                       core:     c'est une session de coeur de reseau. Ce sont les sessions iBGP.
+# fr:    community    / le numero de communaute a associer aux routes. Si egal a 0, il n'y a pas d'association.
+#
 function bgp_import( int AS; string import_type; int community)
 {
     if ! (import_type = "transit" || import_type="peering" || import_type="member" || import_type="core") then {
@@ -22,44 +42,65 @@ function bgp_import( int AS; string import_type; int community)
         return false;
     }
 
-    # On n'accepte pas les routes bizarres
+    # en: weird routes are not accepted
+    # fr: les routes bizarres ne sont pas acceptees
     if is_default() || is_martians() || is_rfc1918() then return false;
 
-    # On n'accepte pas les routes de Gitoyen
+    # en: gitoyen's routes are not accepted
+    # fr: les routes de gitoyen ne sont pas acceptes
     if is_gitoyen() then return false;
 
-    # On n'accepte pas les routes dans le reseau de Gitoyen provenant des upstreams
+    # en: in case of peering or transit, the routes within the gitoyen's network are not accepted.
+    # fr: dans le cas du peering & transit, les routes incluses dans le reseau de Gitoyen ne sont pas acceptees.
     if import_type = "peering" && import_type = "transit" then {
         if is_within_gitoyen() then return false;
     }
 
-    # On n'accepte pas les routes autres que celles definies pour les membres
+    # en: in case of member, only the routes defined for the member AS are accepted.
+    # fr: dans le cas d'un membre, seulement les routes definies pour l'AS du membre sont acceptees.
     if import_type = "member" && ! is_net_from_member(AS) then return false;
 
-    # Gestion des local pref par defaut
+    # en: bgp local preference by default
+    # fr: preference locales de bgp par defaut
     if import_type = "transit"         then bgp_local_pref=100;
     if import_type = "peering"         then bgp_local_pref=1000;
     if import_type = "member"          then bgp_local_pref=1500;
 
-
-    # Nettoyage des communautes (On ne garde que les communautes que Gitoyen va traiter)
+    # en: communities cleaning (only communities handled by Gitoyen are kept)
+    # fr: nettoyage des communautes (seulement les communautes gerees par Gitoyen sont gardees)
     if import_type = "transit" then  bgp_community.delete( [(20766,*)] );
     if import_type = "peering" then  bgp_community.delete( [(20766,*)] );
     if import_type = "membre"  then  bgp_community.filter( [(20766,9999)] );
 
-    # Ajout d'une communaute pour identifier la source de la route
+    # en: adding the community to identify the source of the route
+    # fr: ajout de la communaute pour identifier la source de la route
     if import_type != "core" && community > 0 then bgp_community.add((20766,community));
 
     return true;
 }
 
-# fonction d'export BGP
-# AS: numero d'AS du partenaire
-# export_type: full|default|core|member)
-#    full:    envoi la full-view
-#    default: envoi uniquement la route par default
-#    members:  envoi les routes des membres uniquements
-#    core:    envoi tout ce qui est connu en bgp
+# en: bgp export function
+# en: this function export routes according to the export_type and the AS number.
+# en:
+# en: Parameters
+# en:    AS           / AS number of the peer
+# en:    export_type  / the export type. Could be
+# en:                       full:     The full-view are exported
+# en:                       default:  The default route are exported
+# en:                       members:  The routes of the members are exported
+# en:                       core:     All the routes learned by bgp are exported
+#
+# fr: fonction d'export bgp
+# fr: this function export routes according to the export_type and the AS number.
+# fr:
+# fr: Parametres
+# fr:    AS           / AS numero d'AS du pair
+# fr:    export_type  / Type d'export. Cela peut etre :
+# fr:                       full:     La vue complete d'internet est exportee.
+# fr:                       default:  La route par defaut est exportee.
+# fr:                       members:  Les routes des membres sont exportees.
+# fr:                       core:     Toutes les routes apprises par bgp sont exportees.
+#
 function bgp_export(int AS; string export_type)
 pair set members_export_communities;
 pair set full_export_communities;
@@ -70,13 +111,16 @@ pair set full_export_communities;
         return false;
     }
 
-    # On n'exporte pas les routes bizarres
+    # en: weird routes are not accepted
+    # fr: les routes bizarres ne sont pas acceptees
     if is_martians() || is_rfc1918() then return false;
 
-    # On n'exporte pas la route par default sauf si demandee
+    # en: the default route are not exported except if asked.
+    # fr: la route par defaut n'est pas exportee sauf si demandee.
     if is_default() && ! (export_type="default") then return false;
 
-    # Filtrage des exports des routes des membres
+    # en: for the routes of the members, only the routes having one of these communities are exported 
+    # fr: pour les routes des membres, seulement les routes ayant au moins une de ces communautes sont exportees
     members_export_communities = [
             (20766,1),
             (20766,9999),
@@ -87,6 +131,8 @@ pair set full_export_communities;
         && filter(bgp_community, members_export_communities).len = 0 then return false;
 
     # Filtrage des exports de la full view
+    # en: for the full-view, only the routes having one of these communities are exported 
+    # fr: pour la vue complete, seulement les routes ayant au moins une de ces communautes sont exportees
     full_export_communities = [
             (20766,1),
             (20766,9999),
@@ -99,15 +145,18 @@ pair set full_export_communities;
     if export_type = "full"
         && filter(bgp_community, full_export_communities).len = 0 then return false;
 
-    # Filtrage pour la route par defaut
+    # en: for the default, only the default route are exported.
+    # fr: pour default, seul la route par defaut est exportee.
     if export_type = "default"
         && ! is_default() then return false;
 
-    # Filtrage des exports pour le backbone
+    # en: for the core export type, only the routes learned by BGP are exported
+    # fr: pour l'export de type core, seulement les routes apprises par BGP sont exportees
     if export_type = "core"
         && source != RTS_BGP then return false;
 
-    # Gestion du blackhole
+    # en: blackhole management
+    # fr: gestion du blackhole
     case AS {
         # Absolight
         29608:  if filter(bgp_community, [ (20766,9999) ]).len > 0 then bgp_community.add ((29608,65001));

+ 4 - 3
etc/local/bird/common/kernel.conf

@@ -2,7 +2,6 @@
 #
 # vim: set ts=4:sw=4
 
-# Recupere les routes "connectees"
 protocol direct {
         interface "lagg0.*";
 }
@@ -11,7 +10,8 @@ protocol device {
         scan time 5;
 }
 
-# Filtres pour le protocole kernel permettant la gestion du blackhole
+# en: Filters for the kernerl procotol allowing to handle the blackhole
+# fr: Filtres pour le protocole kernel permettant la gestion du blackhole
 filter import_kernel {
 
         if dest = RTD_BLACKHOLE && is_within_gitoyen() then {
@@ -36,7 +36,8 @@ filter export_kernel {
         accept;
 }
 
-# Import/export des routes depuis/vers le noyau
+# en: Import/export of the routes from/to the kernel
+# fr: Import/export des routes depuis/vers le noyau
 protocol kernel {
         learn;
         scan time 60;

+ 6 - 3
etc/local/bird/common/local.conf

@@ -2,12 +2,15 @@
 #
 # vim: set ts=4:sw=4
 
-# Preferred source for OSPF/BGP
+# en: Preferred source for OSPF/BGP (not usable on *BSD)
+# fr: source preferee pour OSPF/BGP (pas utilisable en *BSD)
 define my_krt_prefsrc = 80.67.168.5;
 
-# Identifiant du routeur
+# en: router id
+# fr: Identifiant du routeur
 router id 80.67.168.5;
 
-# Numero d'AS
+# en: AS number
+# fr: numero d'AS
 define my_as = 20766;
 

+ 6 - 3
etc/local/bird/common/ospf.conf

@@ -2,7 +2,8 @@
 #
 # vim: set ts=4:sw=4
 
-# Seul les routes, non BGP et dans le reseau de Gitoyen sont exportees
+# en: OSPF export only the routes not from BGP and wihtin the gitoyen network 
+# fr: seul les routes, non BGP et dans le reseau de Gitoyen sont exportees
 filter export_OSPF {
 
         if source = RTS_BGP then reject;
@@ -18,7 +19,8 @@ filter export_OSPF {
 	reject;
 }
 
-# Seul les routes dans le reseau de Gitoyen sont acceptees
+# en: en OSPF import only the routes within the gitoyen network
+# fr: seul les routes dans le reseau de Gitoyen sont acceptees
 filter import_OSPF {
         if is_rfc1918()  then reject;
         if is_martians() then reject;
@@ -32,7 +34,8 @@ filter import_OSPF {
 }
 
 
-# OSPF pour le backbone de Gitoyen
+# en: OSPF for the gitoyen backbone
+# fr: OSPF pour le backbone de Gitoyen
 protocol ospf {
         import filter import_OSPF;
         export filter export_OSPF;