diff options
Diffstat (limited to 'networking/libiproute/iproute.c')
-rw-r--r-- | networking/libiproute/iproute.c | 19 |
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 |