> Sent: Thursday, April 12, 2018 at 11:24 AM > From: "Ayaka Koshibe" <akosh...@gmail.com> > To: misc@openbsd.org > Subject: Re: Cannot access internet with virtual switch > > On Wed, Apr 11, 2018 at 6:25 AM, Aham Brahmasmi <aham.brahma...@gmx.com> > wrote: > >> Sent: Wednesday, April 11, 2018 at 10:18 AM > >> From: "Ayaka Koshibe" <akosh...@gmail.com> > >> To: misc@openbsd.org > >> Subject: Re: Cannot access internet with virtual switch > >> > >> > This informs us that for a PACKET_OUT with action OUTPUT, it cannot > >> > have its port as ANY. Now, I do not know why for a PACKET_OUT message, > >> > an action OUTPUT cannot have port as ANY. More importantly, I do not > >> > know why the controller seems to be sending the PACKET_OUT with action > >> > OUTPUT and port ANY. > >> > >> A PACKET_OUT is usually a response to some message e.g. a PACKET_IN, > >> so it would probably help to see which message (if any) the switch > >> sent to the controller to receive that PACKET_OUT. > > > > Thank you Koshibe-san for your reply. > > > > From what I understand, the PACKET_IN for that PACKET_OUT seems to be > > the following: > > > > ofrelay_input_done: connection 1.1: 179 bytes from switch 1 > > /dev/switch0 > any: version 1_3 type PACKET_IN length 179 xid 81972 > > buffer NO_BUFFER length 129 reason REASON_NO_MATCH table <0> cookie > > 0x0000000000000000 > > match type OXM length 24 (padded to 26) > > ox match class OPENFLOW_BASIC type IN_PORT hasmask no length 4 > > 1 > > ox match class OPENFLOW_BASIC type META hasmask no length 8 > > 0 > > switch_learn: updated mac ac:1f:6b:2e:22:ce on switch 1 port 1 > > packet_input: ac:1f:6b:2e:22:ce -> 00:c8:8b:e2:d6:87, port 1 -> 1 > > This seems to be the right message. It looks like switchd will set the > output port to ANY if it sees a loop (which port 1 -> 1 suggests), > intended for dropping the packet. Do you have loops?
Thank you Koshibe-san for your reply. I looked up switch loops in order to understand your insight. Based on the configuration of hostname.switch0, I do not think there is a loop in the virtual switch. However, I may be wrong since I am not good at networks. $ cat /etc/hostname.switch0 add em0 up Here, em0 is the egress interface connected to the dedicated/bare-metal machine provider's network. This provider's network is beyond my control. As such, there might be a loop in the provider's network. Is there a way that I can verify if there is a loop in the network? If it helps in any way, a bridge works on the same network. $ cat /etc/hostname.bridge0 add em0 Regards, ab ---------|---------|---------|---------|---------|---------|---------|--