/ / Comment ajouter des flux dans mininet avec un contrôleur OpenDayLight utilisant Python - python, mininet, openflow, sdn, opendaylight

Comment ajouter des flux dans mininet avec un contrôleur OpenDayLight utilisant Python - python, mininet, openflow, sdn, opendaylight

Je "travaille avec une topologie simple mininet, essayant d'apprendre à manipuler des flux avec un contrôleur ODL. La topologie est la suivante:

Host1 - OFSwitch1 - OFSwitch2 - Hôte 2 - OFSwitch3 - OFSwitch4 - Hôte 3

J'essaie de ne réaliser aucune connectivité de Host1 à Host3 par défaut. Cependant, une fois qu'un script python est exécuté, un flux est ajouté qui autorise Host1 à exécuter un ping sur Host3.

Je viens juste de commencer à apprendre l’ODL et je ne parviens pas à faire fonctionner ce projet de base.

Réponses:

2 pour la réponse № 1

Les flux peuvent être créés par l'API REST du contrôleur Opendaylight qui, à leur tour, sont reflétés dans le commutateur OVS où la simulation du réseau est effectuée à l'aide de mininet.

Veuillez vous reporter aux étapes ci-dessous pour créer un flux dans ODL et vérifier la même chose dans ODL & OVS:

1) Création d'un flux ODL

curl -u admin:admin -H "Content-Type: application/yang.data+xml" -X PUT -d @flow_data.xml http://192.168.1.196:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/10

contenu du fichier flow_date.xml:

<flow xmlns="urn:opendaylight:flow:inventory"> <priority>14865</priority> <flow-name>jpsampleFlow</flow-name> <idle-timeout>12000</idle-timeout> <match> <ethernet-match> <ethernet-type> <type>2048</type> </ethernet-type> </ethernet-match> <ipv4-source>10.0.0.1/32</ipv4-source><ipv4-destination>10.0.0.2/32</ipv4-destination><ip-match><ip-dscp>28</ip-dscp> </ip-match></match> <id>9</id> <table_id>0</table_id> <instructions> <instruction> <order>6555</order> </instruction> <instruction> <order>0</order> <apply-actions> <action> <order>0</order><drop-action/> <output-action> <output-node-connector>1</output-node-connector> </output-action> </action> </apply-actions> </instruction> </instructions> </flow>

2) Vérifiez le flux créé dans ODL:

curl -u admin:admin -X GET http://192.168.1.196:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/10

3) Vérifiez la même chose dans OVS:

sudo ovs-ofctl dump-flows <switch_id>

Référer cette page wiki en savoir plus sur la création de flux dans ODL