netfilter: fix NAT packaging with kernels 5.2+

This commit is contained in:
LEAN-ESX 2019-10-28 19:23:17 -07:00
parent 8531c3882d
commit 4e99359819
2 changed files with 25 additions and 1 deletions

View File

@ -202,7 +202,8 @@ $(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, $(P_V6)i
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT))) $(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT)))
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, ip6t_DNPT ip6t_SNPT))) $(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, ip6t_DNPT ip6t_SNPT)))
$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)ipt_MASQUERADE)) $(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)ipt_MASQUERADE, lt 5.2))
$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_XT)xt_MASQUERADE, ge 5.2))
$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_XT)xt_REDIRECT)) $(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_XT)xt_REDIRECT))

View File

@ -1001,55 +1001,75 @@ static struct genl_ops swconfig_ops[] = {
{ {
.cmd = SWITCH_CMD_LIST_GLOBAL, .cmd = SWITCH_CMD_LIST_GLOBAL,
.doit = swconfig_list_attrs, .doit = swconfig_list_attrs,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_LIST_VLAN, .cmd = SWITCH_CMD_LIST_VLAN,
.doit = swconfig_list_attrs, .doit = swconfig_list_attrs,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_LIST_PORT, .cmd = SWITCH_CMD_LIST_PORT,
.doit = swconfig_list_attrs, .doit = swconfig_list_attrs,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_GET_GLOBAL, .cmd = SWITCH_CMD_GET_GLOBAL,
.doit = swconfig_get_attr, .doit = swconfig_get_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_GET_VLAN, .cmd = SWITCH_CMD_GET_VLAN,
.doit = swconfig_get_attr, .doit = swconfig_get_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_GET_PORT, .cmd = SWITCH_CMD_GET_PORT,
.doit = swconfig_get_attr, .doit = swconfig_get_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_SET_GLOBAL, .cmd = SWITCH_CMD_SET_GLOBAL,
.flags = GENL_ADMIN_PERM, .flags = GENL_ADMIN_PERM,
.doit = swconfig_set_attr, .doit = swconfig_set_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_SET_VLAN, .cmd = SWITCH_CMD_SET_VLAN,
.flags = GENL_ADMIN_PERM, .flags = GENL_ADMIN_PERM,
.doit = swconfig_set_attr, .doit = swconfig_set_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_SET_PORT, .cmd = SWITCH_CMD_SET_PORT,
.flags = GENL_ADMIN_PERM, .flags = GENL_ADMIN_PERM,
.doit = swconfig_set_attr, .doit = swconfig_set_attr,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
}, },
{ {
.cmd = SWITCH_CMD_GET_SWITCH, .cmd = SWITCH_CMD_GET_SWITCH,
.dumpit = swconfig_dump_switches, .dumpit = swconfig_dump_switches,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0)
.policy = switch_policy, .policy = switch_policy,
#endif
.done = swconfig_done, .done = swconfig_done,
} }
}; };
@ -1062,6 +1082,9 @@ static struct genl_family switch_fam = {
.hdrsize = 0, .hdrsize = 0,
.version = 1, .version = 1,
.maxattr = SWITCH_ATTR_MAX, .maxattr = SWITCH_ATTR_MAX,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0)
.policy = switch_policy,
#endif
.module = THIS_MODULE, .module = THIS_MODULE,
.ops = swconfig_ops, .ops = swconfig_ops,
.n_ops = ARRAY_SIZE(swconfig_ops), .n_ops = ARRAY_SIZE(swconfig_ops),