I have block hashes mined from bitcoind. I want to submit it to a pool. How do I do that?
If you are mining with bitcoind then you are your own pool. If you find a valid block then you have to submit it to bitcoind. You got the block template with bitcoind's "getblocktemplate" and now you submit the complete block with bitcoind's "submitblock".
If you want to mine in someone else's pool then you use the stratum protocol to get the work and then you submit the work results back with the stratum protocol. You don't need bitcoind when you are mining in someone else's pool.
You can't mix the two. You can't work in your own pool and send the block to some other pools to get paid there. They will not pay you for working on your own blocks in your own pool.