As you know BGP uses TCP to establish connection between two neighbours. That’s why TCP source IP is an IP of outgoing interface.
To establish IBGP peering between loopback interfaces, you have to define source IP. On Huawei device, you can define source IP, as loopback interface, by the following command:
peer 18.104.22.168 connect-interface LoopBack 0
This command is applicable in a case when multiple links exist between BGP neighbours. Even if physical interface fails, the device still sends BGP packets.
What about EBGP connection with loopback interfaces?
A directly connected physical link must be available between EBGP peers. You have additional hops when using loopback interfaces. In case of indirect peer relationship please remember to use the following command:
peer 22.214.171.124 ebgp-max-hop 3
Anyway, there is recommended to establish EBGP connection through directly connected physical links.