faucetsdn / faucet

FAUCET is an OpenFlow controller for multi table OpenFlow 1.3 switches, that implements layer 2 switching, VLANs, ACLs, and layer 3 IPv4 and IPv6 routing.
http://faucet.nz
Apache License 2.0
554 stars 190 forks source link

Change of Controller Hardware wont allow Cisco Switches to reconnect #4391

Open Thornton-networking opened 11 months ago

Thornton-networking commented 11 months ago

I am currently running Faucet SDN on a Linux server and it is connected to a Cisco Catalyst 9300 Switch.

The switch is currently connected over port 6653 (like specified in the vendor specific documentation).

I have built a new SDN Controller using faucet and when I swap out the old controller to the new controller the cisco switch will connect for a split second then say connection reset by the peer (Faucet). Although if I try to connect the switch to the new Faucet Controller on port 6654 it connects no issues.

Do you have any suggestions if there is some sort of Mac Security in Faucet?

gizmoguy commented 11 months ago

Have you matched the datapath ID in both the faucet configuration file and on the cisco switch? That is how faucet identifies what switch it is speaking to.

Also make sure the switch is configured to use OpenFlow version 1.3.

Thornton-networking commented 11 months ago

The switch config is fine as its the same switch that works on the old controller. The data path ID is correct on thr new faucet confeoller as the switch will connect in a new port number to Faucef juat not the old port number that was used by the old controller I'm trying to migrate the conteoller without having to change port.

What I have is that for switch will:

  1. Connect to old controller on 6653
  2. Connect to new controller on 6654
  3. Won't Connect to new controller on 6653

So I wondered why?

gizmoguy commented 11 months ago

When you say "old controller" and "new controller" are these different physical servers or VMs?

Or do you mean two different faucet instances on the same server?

Sounds more like you've got a stale TCP connection in linux and the kernel might be sending a RST to the switch when it tries to reconnect on the same port.

Are you able to provide a PCAP or network diagram? That might help work out what the issue is.