Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador
A proposta deste estudo é servir como guia básico para iniciantes com redes SDN. O propósito não é esgotar o assunto, e sim traçar um passo a passo na arte de redes de computadores e de sensores utilizando controladores. Para desenvolvimento deste estudo foi considerado que o leitor tem conhecimento básico em protocolos de rede e sistemas operacionais.
[ Hits: 3.313 ]
Por: cristofe coelho lopes da rocha em 01/01/2024
#importando as bibliotecas
import pox.openflow.libopenflow_01 as of
from pox.core import core
from pox.lib.revent import *
#chamando o modulo para log
log = core.getLogger()
class mycontroller(EventMixin):
switches = {}
def __init__(self):
self.listenTo(core.openflow)
def _handle_ConnectionUp(self, event):
log.debug("Connection UP from %s", event.dpid)
mycontroller.switches[event.dpid] = event.connection
def _handle_PacketIn(self, event):
# Implemente a lógica para lidar com pacotes aqui
pass
def launch():
core.openflow.miss_send_len = 1024
core.registerNew(mycontroller)
import pox.openflow.libopenflow_01 as of
from pox.core import core
from pox.lib.revent import *
from pox.lib.addresses import EthAddr, IPAddr
from pox.lib.util import dpidToStr
log = core.getLogger()
class mycontroller(EventMixin):
switches = {}
def __init__(self):
self.listenTo(core.openflow)
def _handle_ConnectionUp(self, event):
log.debug("Connection UP from %s", event.dpid)
mycontroller.switches[event.dpid] = event.connection
def _handle_PacketIn(self, event):
packet = event.parsed
#Drop packetpass
msg = of.ofp_flow_mod()
msg.match.in_port = event.port
msg.match.dl_src = packet.src
msg.match.dl_dst = packet.dst
event.connection.send(msg)
log.debug(" Drop packet sw=%s in_port=%s src=%s dst=%s" % (event.dpid, event.port, packet.src, packet.dst))
def launch():
core.openflow.miss_send_len = 1024
core.registerNew(mycontroller)
Melhorando o nível de segurança com chflags
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Alimentando Desktopcouch com Zeitgeist
Threads - Importância dentro de um software
Como criar um keylogger em Python
PEP 8 - Guia de estilo para código Python
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Acessando o terminal do seu PC pelo celular fora de casa
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Midia de instalação LM-21.3 não inicializa (0)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)









