So if I understand this correctly you had a network loop on the D-Link switch which was injecting all the broadcasts back into the rest of the network?
To combat this we use STP and BPDU-filtering on all our accessports. The idea is that when someone makes a loop on such an accessport the STP will produce a packet at a fixed interval which then also will start looping and come right back in the originating accessport, this is where the BPDU-filtering finally kicks in and shuts down the port.
I must admit however that we have seen mixed results using this method on our Nortel ERS 2500's. In a lab/test environment this works 10 times out of 10 but when we tested this on a production stack it sometimes produced strange results. We saw things like BPDU-received messages followed by port shutdown messages in the log but physically the port stayed up and was still taking in all the broadcasts continuing to spread the love

, sometimes the countdowntimer wouldn't start running which meant that accessports stayed down indefinitely instead of the 5 minutes we configured. We have been working on this with Nortel over the past months and have already replaced some switches to see if that resolves the issue, no definitive answer on this yet.
Our higher ERS models like the ERS 4500's, ERS 5500's, ... however seem to behave more reliable regarding this in the field, maybe because they have more powerful hardware which doesn't looses it's cool in such situations

.