Separate control and data network

Using Calico with self-managed K8 is it possible to have a separate control and data networks. For my use case every K8 node in the cluster has two networks. I want to dedicate one network interface for control plane traffic i.e. kubelet <==> kube-apiserver, BGP <==> BGP communication etc and the other for pod-to-pod data traffic (kind of like management and data networks on a real switch).

Is this achievable with Calico (My guess is I need IPIP tunl0 interface configuration to pick the right gateway)? If yes, any pointers to an example & sample configuration will be appreciated.

Hope this is clear - thank you!