aboutsummaryrefslogtreecommitdiff
path: root/networking/libiproute/iproute.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/libiproute/iproute.c')
-rw-r--r--networking/libiproute/iproute.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
index c4b3450dd..520cc820a 100644
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -163,20 +163,27 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM,
163 memset(tb, 0, sizeof(tb)); 163 memset(tb, 0, sizeof(tb));
164 parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len); 164 parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
165 165
166 if (G_filter.rdst.family && inet_addr_match(&dst, &G_filter.rdst, G_filter.rdst.bitlen)) 166 if (G_filter.rdst.family
167 && inet_addr_match(&dst, &G_filter.rdst, G_filter.rdst.bitlen)
168 ) {
167 return 0; 169 return 0;
168 if (G_filter.mdst.family && G_filter.mdst.bitlen >= 0 && 170 }
169 inet_addr_match(&dst, &G_filter.mdst, r->rtm_dst_len)) 171 if (G_filter.mdst.family
172 && G_filter.mdst.bitlen >= 0
173 && inet_addr_match(&dst, &G_filter.mdst, r->rtm_dst_len)
174 ) {
170 return 0; 175 return 0;
171 176 }
172 if (G_filter.rsrc.family && inet_addr_match(&src, &G_filter.rsrc, G_filter.rsrc.bitlen)) 177 if (G_filter.rsrc.family
178 && inet_addr_match(&src, &G_filter.rsrc, G_filter.rsrc.bitlen)
179 ) {
173 return 0; 180 return 0;
181 }
174 if (G_filter.msrc.family && G_filter.msrc.bitlen >= 0 182 if (G_filter.msrc.family && G_filter.msrc.bitlen >= 0
175 && inet_addr_match(&src, &G_filter.msrc, r->rtm_src_len) 183 && inet_addr_match(&src, &G_filter.msrc, r->rtm_src_len)
176 ) { 184 ) {
177 return 0; 185 return 0;
178 } 186 }
179
180 if (G_filter.flushb 187 if (G_filter.flushb
181 && r->rtm_family == AF_INET6 188 && r->rtm_family == AF_INET6
182 && r->rtm_dst_len == 0 189 && r->rtm_dst_len == 0