How can a switch figure out if the destination successfully received a frame so it can update its table?

I think you're thinking of two separate things. A broadcast frame (dst 255.255.255.255) is sent to all interfaces in the broadcast domain (the lan or vlan). The switch send a broadcast to everyone in the vlan and is not expecting a response from a single source.

The other thing you're talking about is a switch that does not know the physical switch port to send a package out on. The answer is a switch always keeps a running list of Mac addresses to physical interface of things. On cisco this is called the Mac address table.

If a switch sees a mac address sending from a specific physical interface, it will add an entry to the Mac address table for that Mac address and switch port combo. These entries normally expire after 30 seconds to two minutes. In the event that a switch gets a packet for a physical port that it does not know the destination of, it sends out an arp request packet. This does two things: first and by design, the destination IP address replies with his Mac address so the switch as an entry for that IP address and Mac address to it's our table. The art table is something else but very important to know I'm not going to discuss it here. The other thing it does is gets the destination to send a packet which allows the switch to know the destination Mac address and interface it came from so I can add an entry to its Mac address table. Once it has an entry in the Mac address table the switch knows what interface or switch port to send the frame down now.

Cisco - show Mac address-table Hp - show Mac-address-table Extreme - show fdb (forwarding database)

Cisco - show ip arp Hp - show arp Extreme - show iparp

Please excuse the typos, dictated all on my phone.

/r/networking Thread