added logging reason for updating peer flows

master
Ken 2024-01-18 23:11:12 +00:00
parent 21ba044c48
commit 41d650d520
1 changed files with 12 additions and 5 deletions

View File

@ -1244,6 +1244,7 @@ class BoundedFlood(app_manager.RyuApp):
self._update_flow_rules_to_peer( self._update_flow_rules_to_peer(
self.dpset.dps[op.dpid], self.dpset.dps[op.dpid],
port.peer, port.peer,
reason="Port categorized",
) )
elif port.dataplane_type == DATAPLANE_TYPES.Geneve: elif port.dataplane_type == DATAPLANE_TYPES.Geneve:
self.do_link_check( self.do_link_check(
@ -1565,7 +1566,7 @@ class BoundedFlood(app_manager.RyuApp):
) )
datapath.send_msg(mod) datapath.send_msg(mod)
def _update_flow_rules_to_peer(self, datapath, peer: PeerData): def _update_flow_rules_to_peer(self, datapath, peer: PeerData, reason=None):
"""Used when a new port is connected to the switch and we know the pendant MACs that """Used when a new port is connected to the switch and we know the pendant MACs that
anchored to the now adjacent peer switch. Flow rules involving those pendant MACs are anchored to the now adjacent peer switch. Flow rules involving those pendant MACs are
updated or created to use the new port. updated or created to use the new port.
@ -1581,7 +1582,7 @@ class BoundedFlood(app_manager.RyuApp):
datapath=datapath, datapath=datapath,
dst_mac=mac, dst_mac=mac,
new_egress=peer.port_no, new_egress=peer.port_no,
reason="New port connected", reason=reason,
) )
self._create_inbound_flow_rules( self._create_inbound_flow_rules(
datapath=datapath, eth_src=mac, ingress=peer.port_no datapath=datapath, eth_src=mac, ingress=peer.port_no
@ -1924,7 +1925,9 @@ class BoundedFlood(app_manager.RyuApp):
self._do_link_ack(datapath, port) self._do_link_ack(datapath, port)
if not port.is_activated: if not port.is_activated:
port.is_activated = True port.is_activated = True
self._update_flow_rules_to_peer(datapath, port.peer) self._update_flow_rules_to_peer(
datapath, port.peer, reason="GNV link chk"
)
return return
if rcvd_frb.frb_type == FloodRouteBound.FRB_LNK_ACK: if rcvd_frb.frb_type == FloodRouteBound.FRB_LNK_ACK:
if self.logger.isEnabledFor(logging.DEBUG): if self.logger.isEnabledFor(logging.DEBUG):
@ -1933,7 +1936,9 @@ class BoundedFlood(app_manager.RyuApp):
) )
if not port.is_activated: if not port.is_activated:
port.is_activated = True port.is_activated = True
self._update_flow_rules_to_peer(datapath, port.peer) self._update_flow_rules_to_peer(
datapath, port.peer, reason="GNV link ack"
)
return return
if rcvd_frb.frb_type == FloodRouteBound.FRB_LEAF_TX: if rcvd_frb.frb_type == FloodRouteBound.FRB_LEAF_TX:
if self.logger.isEnabledFor(logging.DEBUG): if self.logger.isEnabledFor(logging.DEBUG):
@ -1947,7 +1952,9 @@ class BoundedFlood(app_manager.RyuApp):
) )
# learn a mac address # learn a mac address
sw.set_ingress_port(eth.src, (in_port, rcvd_frb.root_nid)) sw.set_ingress_port(eth.src, (in_port, rcvd_frb.root_nid))
self._update_flow_rules_to_peer(datapath, port.peer) self._update_flow_rules_to_peer(
datapath, port.peer, reason="Received pendant update"
)
return return
# case (rcvd_frb.frb_type == FloodRouteBound.FRB_BRDCST) # case (rcvd_frb.frb_type == FloodRouteBound.FRB_BRDCST)
inner_pkt = packet.Packet(payload) inner_pkt = packet.Packet(payload)