ipv4: Create and use route lookup helpers.
The idea here is this minimizes the number of places one has to edit in order to make changes to how flows are defined and used. Signed-off-by: David S. Miller <davem@davemloft.net>
此提交包含在:
@@ -338,23 +338,10 @@ static struct rtable *find_route(struct t3cdev *dev, __be32 local_ip,
|
||||
__be16 peer_port, u8 tos)
|
||||
{
|
||||
struct rtable *rt;
|
||||
struct flowi fl = {
|
||||
.oif = 0,
|
||||
.nl_u = {
|
||||
.ip4_u = {
|
||||
.daddr = peer_ip,
|
||||
.saddr = local_ip,
|
||||
.tos = tos}
|
||||
},
|
||||
.proto = IPPROTO_TCP,
|
||||
.uli_u = {
|
||||
.ports = {
|
||||
.sport = local_port,
|
||||
.dport = peer_port}
|
||||
}
|
||||
};
|
||||
|
||||
rt = ip_route_output_flow(&init_net, &fl, NULL);
|
||||
rt = ip_route_output_ports(&init_net, NULL, peer_ip, local_ip,
|
||||
peer_port, local_port, IPPROTO_TCP,
|
||||
tos, 0);
|
||||
if (IS_ERR(rt))
|
||||
return NULL;
|
||||
return rt;
|
||||
|
新增問題並參考
封鎖使用者