User Tools

Site Tools


reseau:odl-l2switch-plugin

ODL: Plugin L2switch

Introduction

Le projet de commutateur L2 fournit les fonctionnalités de commutateur Layer2 suivantes:

  • Packet Handler (Gestionnaire de paquets): Décode les paquets arrivant au contrôleur et les distribue de manière appropriée
  • Loop Remover: Supprime les boucles du réseau
  • Arp Handler: Traite les paquets ARP décodés
  • Address Tracker: Apprend les adresses (MAC et IP) des entités du réseau
  • Host Tracker: Suit les emplacements des hôtes du réseau
  • L2 Switch Main (Commutateur L2 principal): Installe les flux sur chaque commutateur en fonction du trafic réseau

Les exemples de flux sur cette page sont testés pour fonctionner avec OVS

Exécution du commutateur L2

Pour exécuter le commutateur L2 dans la distribution OpenDaylight, installer simplement la feature odl-l2switch-switch-ui;

feature:install odl-l2switch-switch-ui

Modification de la configuration dans le commutateur L2

Paramètres configurables

Le tableau ci-dessous fournit des détails sur les paramètres de configuration des composants pouvant être configurés.

Module attibut Description valeur par défaut
loop-remover-config is-install-lldp-flow Utilisé dans LoopRemoverModule. “True” signifie qu'un flux qui envoie tous les paquets LLDP au contrôleur sera installé sur chaque commutateur. «False» signifie que ce flux ne sera pas installé true
lldp-flow-table-id Le flux LLDP sera installé sur la table de flux spécifiée de chaque commutateur.Ce champ n'est pertinent que lorsque «is-install-lldp-flow» est défini sur «true». 0
lldp-flow-priority Le flux LLDP sera installé avec la priorité spécifiée. Ce champ n'est pertinent que lorsque «is-install-lldp-flow» est défini sur «true». 0
lldp-flow-idle-timeout Le flux LLDP expirera (il sera supprimé du commutateur) s'il ne transmet pas de paquet pendant x secondes. Ce champ n'est pertinent que lorsque «is-install-lldp-flow» est défini sur «true». 0
lldp-flow-hard-timeout Le flux LLDP expirera (retiré du commutateur) au bout de x secondes, quel que soit le nombre de paquets qu'il achemineCe champ n'est pertinent que lorsque «is-install-lldp-flow» est défini sur «true». 0
graph-refresh-delay Utilisé dans TopologyLinkDataChangeHandler. Une valeur plus élevée présente l’avantage de faire moins de mises à jour de graphique, au coût potentiel de perte de certains paquets car le graphique ne se met pas à jour immédiatement. Une valeur inférieure présente l’avantage de gérer plus rapidement les modifications de la topologie du réseau, au prix de calculs supplémentaires. 1000
arp-handler-config is-proactive-flood-mode «True» signifie que des flux d'inondation seront installés sur chaque commutateur. “False” signifie que les flux d'inondation mentionnés précédemment ne seront pas installés. Au lieu de cela, un flux ARP sera installé sur chaque commutateur qui envoie tous les paquets ARP au contrôleur. true
flood-flow-table-id Le flux d’inondation sera installé sur la table de flux spécifiée de chaque commutateur. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “true”. 0
flood-flow-priority Le flux d'inondation sera installé avec la priorité spécifiée. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “true”. 2
flood-flow-idle-timeout Le flux d’inondation expire (il est supprimé du commutateur) s'il ne transmet pas de paquet pendant x secondes. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “true”. 0
flood-flow-hard-timeout Le flux d’inondation expire (retiré du commutateur) au bout de x secondes, quel que soit le nombre de paquets qu’il transmet. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “true”. 0
arp-flow-table-id Le flux ARP sera installé sur la table de flux spécifiée de chaque commutateur. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “false”. 0
arp-flow-priority Le flux ARP sera installé avec la priorité spécifiéeCe champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “false”. 1
arp-flow-idle-timeout Le flux ARP expirera (retiré du commutateur) s'il ne transfère pas de paquet pendant x secondes. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “false”. 0
arp-flow-hard-timeout Le flux ARP expire (il est supprimé du commutateur) après le délai d'arp-flow-hard-dur-out, quel que soit le nombre de paquets qu'il transfère. Ce champ n'est pertinent que lorsque “is-proactive-flood-mode” est défini sur “false”. 0
address-tracker-config timestamp-update-interval Un horodatage en dernier lieu est associé à chaque adresse. Cet horodatage en dernier lieu ne sera mis à jour qu'après des millisecondes timestamp-update-interval. Une valeur plus élevée présente l'avantage de réduire le nombre d'écritures dans la base de données. Une valeur inférieure a l'avantage de savoir à quel point une adresse est fraîche. 600000
observe-addresses-from Les adresses IP et MAC peuvent être observées/apprises à partir des paquets ARP, IPv4 et IPv6. Définit les paquets à partir desquels effectuer ces observations. arp
l2switch-config is-install-dropall-flow «True» signifie qu'un flux “drop-all” sera installé sur chaque commutateur. L'action par défaut consiste donc à supprimer un paquet au lieu de l'envoyer au contrôleur. «False» signifie que ce flux ne sera pas installé true
dropall-flow-table-id Le flux dropall sera installé sur la table de flux spécifiée de chaque commutateur. Ce champ n'est pertinent que lorsque «is-install-dropall-flow» est défini sur «true». 0
dropall-flow-priority Le flux dropall sera installé avec la priorité spécifiée. Ce champ n'est pertinent que lorsque «is-install-dropall-flow» est défini sur «true». 0
dropall-flow-idle-timeout Le flux dropall expirera (sera retiré du commutateur) si le flux ne transfère pas un paquet pendant x secondes Ce champ n'est pertinent que lorsque «is-install-dropall-flow» est défini sur «true». 0
dropall-flow-hard-timeout Le flux dropall expirera (sera retiré du commutateur) au bout de x secondes, quel que soit le nombre de paquets transférés. Ce champ n'est pertinent que lorsque «is-install-dropall-flow» est défini sur «true». 0
is-learning-only-mode «True» signifie que le commutateur L2 n’apprendra que les adresses. Aucun flux supplémentaire pour optimiser le trafic réseau ne sera installé. «False» signifie que le commutateur L2 réagira au trafic réseau et installera des flux sur les commutateurs pour optimiser le trafic. Actuellement, les flux MAC à MAC sont installés. false
reactive-flow-table-id Le flux réactif sera installé sur la table de flux spécifiée de chaque commutateur. Ce champ n'est pertinent que lorsque “is-learning-only-mode” est défini sur “false” 0
reactive-flow-priority Le flux réactif sera installé avec la priorité spécifiée. Ce champ n'est pertinent que lorsque “is-learning-only-mode” est défini sur “false”. 10
reactive-flow-idle-timeout Le flux réactif expirera (sera retiré du commutateur) si le flux ne transfère pas un paquet pendant x secondes. Ce champ n'est pertinent que lorsque “is-learning-only-mode” est défini sur “false”. 600
reactive-flow-hard-timeout Le flux réactif expirera (sera retiré du commutateur) au bout de x secondes, quel que soit le nombre de paquets qu'il achemine. Ce champ n'est pertinent que lorsque “is-learning-only-mode” est défini sur “false”. 300

Exemple de configuration de arp-handler

Par défaut Arp Handler est configuré en mode proactif inondation. L'exemple de modification des configurations des composants du commutateur L2 suivant montre comment changer le mode inondation proactif en mode réactif.

Effectuer l'appel REST à l'URL : http://x.x.x.x:8181/restconf/config/arp-handler-config:arp-handler-config/

<?xml version="1.0" encoding="UTF-8"?>
  <arp-handler-config xmlns="urn:opendaylight:packet:arp-handler-config">
  <is-proactive-flood-mode>false</is-proactive-flood-mode>
</arp-handler-config>

APIs RESTCONF

Les APIs netconf/restconf sont accessibles aux urls :

Liste des APIs

URI métode Libellé Description/arguments
/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:2 statut STP ajoutés par LoopRemover Les informations d'état STP sont ajoutées à l'arborescence de données d'inventaire. Un statut de «transfert» signifie que le lien est actif et que des paquets y circulent, Un statut de «rejet» signifie que le lien est inactif et que les paquets ne sont pas envoyés par dessus.
/restconf/operational/l2-address-tracker:l2-addresses/ mappages appris par AddressTracker
/restconf/config/opendaylight-inventory:nodes/node/openflow:<switchId>/table/<tableId> Flux configurés par FlowWriterService switchId: DPID valide d'un commutateur (hexadécimal ou numérique), tableId: Id de table
restconf/operational/opendaylight-inventory:nodes/node/openflow:<switchId>/table/<tableId> Flux opérationnels switchId: DPID valide d'un commutateur (hexadécimal ou numérique), tableId: Id de table

Exemple d'utilisation

Pour créer une nouvelle règle dans la table openflow d'un commutateur, utiliser POSTMAN avec les paramètres suivants:

PUT http://x.x.x.x:8181/restconf/config/opendaylight-inventory:nodes/node/<Node-id>/table/<Table-#>/flow/<Flow-#>

- Accept: application/xml
- Content-Type: application/xml

Le numéro de table et le numéro de flux dans l'URL et dans le XML doivent correspondre.

Le format du XML de programmation de flux est déterminé par le flux de regroupement dans le modèle yang de opendaylight-flow-types: MISSING LINK.

reseau/odl-l2switch-plugin.txt · Last modified: 2022/03/30 13:51 by 127.0.0.1