So, is the problem you actually want help with actually getting A and C
to talk to eachother?
If so, we'll need to see the configs you're using on both ends of the
tunnel. I'd also suggest checking your firewalls in this case.
And ospf is simply refusing to use the A<->C but is still working just
fine across A<->B?
If so, that's normal.
If A<->B also stops working due to the "No buffer space available"
error, that is a bug with quagga. (which we can try to (get) fix(ed) in
that situation)
Sorry if it seems obvious, I'm simply trying to get a grasp as to what
the actual problem you want help with is.