network: add AF_TO_ADDRESS_FAMILY() helper
Make some code a bit shorter.
This commit is contained in:
committed by
Yu Watanabe
parent
7a3ee9217e
commit
59577d2416
@@ -644,12 +644,7 @@ static int address_set_masquerade(Address *address, bool add) {
|
||||
if (!address->link->network)
|
||||
return 0;
|
||||
|
||||
if (address->family == AF_INET &&
|
||||
!FLAGS_SET(address->link->network->ip_masquerade, ADDRESS_FAMILY_IPV4))
|
||||
return 0;
|
||||
|
||||
if (address->family == AF_INET6 &&
|
||||
!FLAGS_SET(address->link->network->ip_masquerade, ADDRESS_FAMILY_IPV6))
|
||||
if (!FLAGS_SET(address->link->network->ip_masquerade, AF_TO_ADDRESS_FAMILY(address->family)))
|
||||
return 0;
|
||||
|
||||
if (address->scope >= RT_SCOPE_LINK)
|
||||
|
||||
@@ -71,7 +71,7 @@ bool link_dhcp_enabled(Link *link, int family) {
|
||||
if (!link->network)
|
||||
return false;
|
||||
|
||||
return link->network->dhcp & (family == AF_INET ? ADDRESS_FAMILY_IPV4 : ADDRESS_FAMILY_IPV6);
|
||||
return link->network->dhcp & AF_TO_ADDRESS_FAMILY(family);
|
||||
}
|
||||
|
||||
void network_adjust_dhcp(Network *network) {
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "hashmap.h"
|
||||
#include "ip-protocol-list.h"
|
||||
#include "netlink-util.h"
|
||||
#include "network-util.h"
|
||||
#include "networkd-manager.h"
|
||||
#include "networkd-queue.h"
|
||||
#include "networkd-route-util.h"
|
||||
|
||||
@@ -303,9 +303,7 @@ int link_get_ip_forwarding(Link *link, int family) {
|
||||
return t;
|
||||
|
||||
/* If IPMasquerade= is enabled, also enable IP forwarding. */
|
||||
if (family == AF_INET && FLAGS_SET(link->network->ip_masquerade, ADDRESS_FAMILY_IPV4))
|
||||
return true;
|
||||
if (family == AF_INET6 && FLAGS_SET(link->network->ip_masquerade, ADDRESS_FAMILY_IPV6))
|
||||
if (FLAGS_SET(link->network->ip_masquerade, AF_TO_ADDRESS_FAMILY(family)))
|
||||
return true;
|
||||
|
||||
/* If IPv6SendRA= is enabled, also enable IPv6 forwarding. */
|
||||
@@ -377,7 +375,7 @@ static int link_set_ip_forwarding(Link *link, int family) {
|
||||
|
||||
/* When IPMasquerade= is enabled and the global setting is unset, enable _global_ IP forwarding, and
|
||||
* re-apply per-link setting for all links. */
|
||||
if (FLAGS_SET(link->network->ip_masquerade, family == AF_INET ? ADDRESS_FAMILY_IPV4 : ADDRESS_FAMILY_IPV6) &&
|
||||
if (FLAGS_SET(link->network->ip_masquerade, AF_TO_ADDRESS_FAMILY(family)) &&
|
||||
link->manager->ip_forwarding[family == AF_INET6] < 0) {
|
||||
|
||||
link->manager->ip_forwarding[family == AF_INET6] = true;
|
||||
|
||||
Reference in New Issue
Block a user