File tree Expand file tree Collapse file tree 2 files changed +12
-21
lines changed
Expand file tree Collapse file tree 2 files changed +12
-21
lines changed Original file line number Diff line number Diff line change @@ -162,25 +162,11 @@ static bool link_radv_enabled(Link *link) {
162162 return link -> network -> router_prefix_delegation != RADV_PREFIX_DELEGATION_NONE ;
163163}
164164
165- static bool link_ipv4_forward_enabled (Link * link ) {
165+ bool link_ip_forward_enabled (Link * link , int family ) {
166166 assert (link );
167+ assert (IN_SET (family , AF_INET , AF_INET6 ));
167168
168- if (link -> flags & IFF_LOOPBACK )
169- return false;
170-
171- if (!link -> network )
172- return false;
173-
174- if (link -> network -> ip_forward == _ADDRESS_FAMILY_INVALID )
175- return false;
176-
177- return link -> network -> ip_forward & ADDRESS_FAMILY_IPV4 ;
178- }
179-
180- static bool link_ipv6_forward_enabled (Link * link ) {
181- assert (link );
182-
183- if (!socket_ipv6_is_supported ())
169+ if (family == AF_INET6 && !socket_ipv6_is_supported ())
184170 return false;
185171
186172 if (link -> flags & IFF_LOOPBACK )
@@ -189,10 +175,7 @@ static bool link_ipv6_forward_enabled(Link *link) {
189175 if (!link -> network )
190176 return false;
191177
192- if (link -> network -> ip_forward == _ADDRESS_FAMILY_INVALID )
193- return false;
194-
195- return link -> network -> ip_forward & ADDRESS_FAMILY_IPV6 ;
178+ return link -> network -> ip_forward & (family == AF_INET ? ADDRESS_FAMILY_IPV4 : ADDRESS_FAMILY_IPV6 );
196179}
197180
198181static bool link_proxy_arp_enabled (Link * link ) {
Original file line number Diff line number Diff line change @@ -227,6 +227,14 @@ bool link_has_carrier(Link *link);
227227bool link_ipv6ll_enabled (Link * link );
228228int link_ipv6ll_gained (Link * link , const struct in6_addr * address );
229229
230+ bool link_ip_forward_enabled (Link * link , int family );
231+ static inline bool link_ipv4_forward_enabled (Link * link ) {
232+ return link_ip_forward_enabled (link , AF_INET );
233+ }
234+ static inline bool link_ipv6_forward_enabled (Link * link ) {
235+ return link_ip_forward_enabled (link , AF_INET6 );
236+ }
237+
230238int link_set_mtu (Link * link , uint32_t mtu );
231239
232240bool link_ipv4ll_enabled (Link * link , AddressFamily mask );
You can’t perform that action at this time.
0 commit comments