Load balancing between two intwrfaces

Hello,
I am trying to balance load between two networks/interfaces.
eg. Suppose I am connected to a wifi network and an ethernet network simultaneously. And I want my client to utilize both networks evenly for sending requests to servers.

Is there a way to achieve this using Windows Filtering Platform (WFP) or any other method?

leaving the definition of 'evenly' aside for the moment, what kind of client and traffic are you trying to control?

NIC teaming using MAC spoofing or one of the LCAP protocols has been available in server SKUs for many years, but it won't work with wifi. Usually, some kind of hash of the source and destination IP and port is used to decide witch of the links to use. But since there is no way to know in advance what connections will be made in the future, and how much data will be transferred on each, it is very hard to achieve anything like an even distribution

Typically, a wireless network and a wired network have radically different bandwidths. In that case, load balancing "evenly" is very much the wrong thing to do.

I am trying to control all traffic from computer.
Even if it's not distributed equally in connected networks, it could be like 60%-40%.
It shouldn't be too distinct like 90% internet usage on one network and 10% on other. Is it possible

The short answer is yes

The long answer is much longer, and the first part is to think about what you are trying to achieve. It sounds like you are thinking about web browsing traffic. HTTPS over TCP 443. QUIC complicates this to some degree, but that kind of traffic has to be grouped so that all of the packets for any given connection are routed out one interface. And for this to work, both of your interfaces need separate Internet routable (probably behind NAT) addresses. and so what you are asking is if you can control connection source selection.

Connection source selection is normally determined by the routing table. For most Windows machines, most of the time, this is determined by the default route (route to 0.0.0.0). When there are multiple interfaces, and they have both (all) learned default routes, the interface metric controls which one is used.

so if you know something about the destinations that you want to route out one network, you can manipulate the routing table by adding dynamic routes. That's probably your best bet. You can do this all in UM and run your monitoring code in a service. You can look at GetIpForwardTable.

If you don't know anything about the destinations that you want to route in advance, then you can monitor the traffic to determine when you want to monitor the routing table for a given destination. You can start with GetTcpTable