Context("when executing in namespace fails", func() {
			BeforeEach(func() {
				ns.ExecuteReturns(errors.New("peppers"))
			})

			It("returns the error", func() {
				inserter.HandleResolvedNeighbors(ready, ns, "some-vxlan-name", resolved)
				Eventually(ready).Should(Receive(MatchError("namespace execute failed: peppers")))
			})
		})

		Context("when setting a neighbor entry fails", func() {
			BeforeEach(func() {
				netlinker.SetNeighStub = func(n *netlink.Neigh) error {
					if netlinker.SetNeighCallCount() == 1 {
						return errors.New("go huskies")
					}
					return nil
				}

				resolved <- watcher.Neighbor{}
			})

			It("logs the error and continues in the loop", func() {
				inserter.HandleResolvedNeighbors(ready, ns, "some-vxlan-name", resolved)
				Eventually(ready).Should(BeClosed())

				Eventually(logger).Should(gbytes.Say("add-neighbor-failed.*set L3.*huskies"))
				Expect(netlinker.SetNeighCallCount()).To(Equal(3))
			})
		})