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.370 ]
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)
Monitorando produtos no ML com Python 3 via BeautifulSoup
Scikit Learn: Projetando o futuro de suas APIs e aplicativos usando machine learning
Trabalhando com permutações em ordem lexicográfica crescente
Reconhecimento de placas de veículos com OpenALPR
Arduino com Bluetooth e pySerial
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
KDE Plasma 6.5: Como manter o Projetor fixo enquanto você alterna Áreas de Trabalho no PC
Aplicações mudam entre monitores após tela de bloquio (4)









