ignore lldp packet to avoid wrong links

Signed-off-by: Takeshi <a86487817@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Takeshi 2015-07-09 00:47:00 +08:00 committed by FUJITA Tomonori
parent 607eeb0c7e
commit 4175f99a34
4 changed files with 30 additions and 0 deletions

View File

@ -29,6 +29,7 @@ from ryu.ofproto import ofproto_v1_0
from ryu.lib.mac import haddr_to_bin
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
from ryu.topology.switches import LLDPPacket
class SimpleSwitch(app_manager.RyuApp):
@ -54,6 +55,13 @@ class SimpleSwitch(app_manager.RyuApp):
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
def _packet_in_handler(self, ev):
msg = ev.msg
try:
# ignore lldp packet
LLDPPacket.lldp_parse(msg.data)
return
except LLDPPacket.LLDPUnknownFormat:
pass
datapath = msg.datapath
ofproto = datapath.ofproto

View File

@ -23,6 +23,7 @@ from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_2
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
from ryu.topology.switches import LLDPPacket
class SimpleSwitch12(app_manager.RyuApp):
@ -52,6 +53,12 @@ class SimpleSwitch12(app_manager.RyuApp):
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
def _packet_in_handler(self, ev):
msg = ev.msg
try:
# ignore lldp packet
LLDPPacket.lldp_parse(msg.data)
return
except LLDPPacket.LLDPUnknownFormat:
pass
datapath = msg.datapath
ofproto = datapath.ofproto
in_port = msg.match['in_port']

View File

@ -20,6 +20,7 @@ from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_3
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
from ryu.topology.switches import LLDPPacket
class SimpleSwitch13(app_manager.RyuApp):
@ -70,6 +71,13 @@ class SimpleSwitch13(app_manager.RyuApp):
self.logger.debug("packet truncated: only %s of %s bytes",
ev.msg.msg_len, ev.msg.total_len)
msg = ev.msg
try:
# ignore lldp packet
LLDPPacket.lldp_parse(msg.data)
return
except LLDPPacket.LLDPUnknownFormat:
pass
datapath = msg.datapath
ofproto = datapath.ofproto
parser = datapath.ofproto_parser

View File

@ -20,6 +20,7 @@ from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_4
from ryu.lib.packet import packet
from ryu.lib.packet import ethernet
from ryu.topology.switches import LLDPPacket
class SimpleSwitch14(app_manager.RyuApp):
@ -61,6 +62,12 @@ class SimpleSwitch14(app_manager.RyuApp):
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
def _packet_in_handler(self, ev):
msg = ev.msg
try:
# ignore lldp packet
LLDPPacket.lldp_parse(msg.data)
return
except LLDPPacket.LLDPUnknownFormat:
pass
datapath = msg.datapath
ofproto = datapath.ofproto
parser = datapath.ofproto_parser