return iptablesForwardAllowIn(fw, netaddr, prefix, iface, physdev, REMOVE);
}
+static void
+iptablesForwardAllowCross(virFirewallPtr fw,
+ virFirewallLayer layer,
+ const char *iface,
+ int action)
+{
+ virFirewallAddRule(fw, layer,
+ "--table", "filter",
+ action == ADD ? "--insert" : "--delete", "FORWARD",
+ "--in-interface", iface,
+ "--out-interface", iface,
+ "--jump", "ACCEPT",
+ NULL);
+}
+
/**
* iptablesAddForwardAllowCross:
* @ctx: pointer to the IP table context
virFirewallLayer layer,
const char *iface)
{
- virFirewallAddRule(fw, layer,
- "--table", "filter",
- "--insert", "FORWARD",
- "--in-interface", iface,
- "--out-interface", iface,
- "--jump", "ACCEPT",
- NULL);
+ iptablesForwardAllowCross(fw, layer, iface, ADD);
}
/**
iptablesRemoveForwardAllowCross(virFirewallPtr fw,
virFirewallLayer layer,
const char *iface)
+{
+ iptablesForwardAllowCross(fw, layer, iface, REMOVE);
+}
+
+static void
+iptablesForwardRejectOut(virFirewallPtr fw,
+ virFirewallLayer layer,
+ const char *iface,
+ int action)
{
virFirewallAddRule(fw, layer,
"--table", "filter",
- "--delete", "FORWARD",
+ action == ADD ? "--insert" : "delete", "FORWARD",
"--in-interface", iface,
- "--out-interface", iface,
- "--jump", "ACCEPT",
+ "--jump", "REJECT",
NULL);
}
virFirewallLayer layer,
const char *iface)
{
- virFirewallAddRule(fw, layer,
- "--table", "filter",
- "--insert", "FORWARD",
- "--in-interface", iface,
- "--jump", "REJECT",
- NULL);
+ iptablesForwardRejectOut(fw, layer, iface, ADD);
}
/**
iptablesRemoveForwardRejectOut(virFirewallPtr fw,
virFirewallLayer layer,
const char *iface)
+{
+ iptablesForwardRejectOut(fw, layer, iface, REMOVE);
+}
+
+
+static void
+iptablesForwardRejectIn(virFirewallPtr fw,
+ virFirewallLayer layer,
+ const char *iface,
+ int action)
{
virFirewallAddRule(fw, layer,
"--table", "filter",
- "--delete", "FORWARD",
- "--in-interface", iface,
+ action == ADD ? "--insert" : "--delete", "FORWARD",
+ "--out-interface", iface,
"--jump", "REJECT",
NULL);
}
-
/**
* iptablesAddForwardRejectIn:
* @ctx: pointer to the IP table context
virFirewallLayer layer,
const char *iface)
{
- virFirewallAddRule(fw, layer,
- "--table", "filter",
- "--insert", "FORWARD",
- "--out-interface", iface,
- "--jump", "REJECT",
- NULL);
+ iptablesForwardRejectIn(fw, layer, iface, ADD);
}
/**
virFirewallLayer layer,
const char *iface)
{
- virFirewallAddRule(fw, layer,
- "--table", "filter",
- "--delete", "FORWARD",
- "--out-interface", iface,
- "--jump", "REJECT",
- NULL);
+ iptablesForwardRejectIn(fw, layer, iface, REMOVE);
}