h1. POX h2. Overview Controlador derivado do NOX. http://www.noxrepo.org/pox/about-pox/ * irmão mais novo do NOX * plataforma para desenvolvimento rápido e prototipagem de controladores OpenFlow (framework) usando python. * tem como alvo principal é a pesquisa * interface pythonica para OpenFlow * melhor desempenho que o NOX para aplicações escritas em python, porém mais lento que NOX/C++ * especial suporte para Open vSwitch * SDN debugging * network virtualization * projeto de controladores * modelagem de programação * desenvolvimento de um moderno controlador SDN h2. Sobre o código h3. Linguagem Python 2.7 h3. Licença GPLv3 h3. Suporte a versões do OpenFLOW * suporte para OpenFlow 1.0 h3. Requisitos * pacotes a serem instalados * espaço de armazenamento exigido * outros recursos necessários ao funcionamento do controlador. h3. Independência de linguagem de programação Somente python h3. Modularidade * componentes reutilizáveis (modularidade) (recursos prontos) h3. Repositório https://github.com/noxrepo/pox h3. Recursos básicos do controlador ??? h3. Aplicações * py: interface python (debug) * forwarding.hub: $10 hub * forwarding.l2_learning: L2 learning switch * forwarding.l2_pairs: L2 learning switch based on MAC addresses * forwarding.l3_learning: "L3-lerning-switchy-thing" * forwarding.l2_multi: * forwarding.l2_nx * forwarding.topo_proactive * openflow.spanning_tree * web.webcore * messenger * openflow.of_01 * openflow.discovery * openflow.debug * openflow.keepalive * proto.pong * proto.arp_responder * info.packet_dump * proto.dns_spy * proto.dpcp_client * proto.dhcpd * misc.of_tutorial * misc.full_payload * misc.mac_blocker * misc.nat * misc.ip_loadbalancer * misc.gephi_topo * log ** Disabling the Console Log ** Log Formatting ** Log Output * log.color * log.level * samples.pretty_log * tk * host_tracker h3. Testes https://github.com/noxrepo/pox/tree/betta/tests * controllers (controle distribuído) * topology * unit h3. Disponibilidade nas distribuições GNU/Linux Precisa ser clonado com git. h3. último release / commit Branch 'carp' com atividades recentes. h2. Documentação * POX wiki: instalação, componentes, APIs, openflow e FAQ (bem completo) https://openflow.stanford.edu/display/ONL/POX+Wiki * mininet + POX http://mininet.org/blog/2013/06/03/automating-controller-startup/ * Configuring an OpenFlow POX SDN Controller and HP Switches http://networkstatic.net/configuring-an-openflow-pox-sdn-controller-and-hp-switches/ * openflow tutorial with pox http://blog.pythonicneteng.com/2013/02/openflow-tutorial-with-pox.html h2. Suporte junto ao OpenStack Nenhum, aparentemente h2. Quem usa Voltado para pesquisadores. h2. Quem está por trás Nicira h2. Outras características * suporta mesmas ferramentas de visualização do NOX h3. Funcionamento pox.py recebe uma lista de módulos na linha de comando e chama a função 'launch()' deles caso ela exista e depois muda para estado 'up'. Os módulos podem estar nos diretórios 'pox' e 'ext', além dos diretórios normalmente vigiados pela instalação do python. Opções (--) podem ser acrescidas após o nome do módulo e serão passadas como parâmetro para o chamado da função 'launch()'.