mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
ipv4: Optimize flow initialization in fib_validate_source().
Like in commit 44713b67db
("ipv4: Optimize flow initialization in output route lookup."
we can optimize the on-stack flow setup to only initialize
the members which are actually used.
Otherwise we bzero the entire structure, then initialize
explicitly the first half of it.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
67e28ffd86
commit
cc7e17ea04
@ -193,19 +193,21 @@ int fib_validate_source(__be32 src, __be32 dst, u8 tos, int oif,
|
||||
u32 *itag, u32 mark)
|
||||
{
|
||||
struct in_device *in_dev;
|
||||
struct flowi fl = {
|
||||
.fl4_dst = src,
|
||||
.fl4_src = dst,
|
||||
.fl4_tos = tos,
|
||||
.mark = mark,
|
||||
.iif = oif
|
||||
};
|
||||
struct flowi fl;
|
||||
struct fib_result res;
|
||||
int no_addr, rpf, accept_local;
|
||||
bool dev_match;
|
||||
int ret;
|
||||
struct net *net;
|
||||
|
||||
fl.oif = 0;
|
||||
fl.iif = oif;
|
||||
fl.mark = mark;
|
||||
fl.fl4_dst = src;
|
||||
fl.fl4_src = dst;
|
||||
fl.fl4_tos = tos;
|
||||
fl.fl4_scope = RT_SCOPE_UNIVERSE;
|
||||
|
||||
no_addr = rpf = accept_local = 0;
|
||||
in_dev = __in_dev_get_rcu(dev);
|
||||
if (in_dev) {
|
||||
|
Loading…
Reference in New Issue
Block a user