[NETFILTER]: ebtables: mark matches, targets and watchers __read_mostly
Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f776c4cda4
Коммит
30083c9500
|
@ -50,8 +50,7 @@ static int ebt_802_3_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_802_3 =
|
static struct ebt_match filter_802_3 __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_802_3_MATCH,
|
.name = EBT_802_3_MATCH,
|
||||||
.match = ebt_filter_802_3,
|
.match = ebt_filter_802_3,
|
||||||
.check = ebt_802_3_check,
|
.check = ebt_802_3_check,
|
||||||
|
|
|
@ -212,7 +212,7 @@ static int ebt_among_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_among = {
|
static struct ebt_match filter_among __read_mostly = {
|
||||||
.name = EBT_AMONG_MATCH,
|
.name = EBT_AMONG_MATCH,
|
||||||
.match = ebt_filter_among,
|
.match = ebt_filter_among,
|
||||||
.check = ebt_among_check,
|
.check = ebt_among_check,
|
||||||
|
|
|
@ -116,8 +116,7 @@ static int ebt_arp_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_arp =
|
static struct ebt_match filter_arp __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_ARP_MATCH,
|
.name = EBT_ARP_MATCH,
|
||||||
.match = ebt_filter_arp,
|
.match = ebt_filter_arp,
|
||||||
.check = ebt_arp_check,
|
.check = ebt_arp_check,
|
||||||
|
|
|
@ -76,8 +76,7 @@ static int ebt_target_reply_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_target reply_target =
|
static struct ebt_target reply_target __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_ARPREPLY_TARGET,
|
.name = EBT_ARPREPLY_TARGET,
|
||||||
.target = ebt_target_reply,
|
.target = ebt_target_reply,
|
||||||
.check = ebt_target_reply_check,
|
.check = ebt_target_reply_check,
|
||||||
|
|
|
@ -46,8 +46,7 @@ static int ebt_target_dnat_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_target dnat =
|
static struct ebt_target dnat __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_DNAT_TARGET,
|
.name = EBT_DNAT_TARGET,
|
||||||
.target = ebt_target_dnat,
|
.target = ebt_target_dnat,
|
||||||
.check = ebt_target_dnat_check,
|
.check = ebt_target_dnat_check,
|
||||||
|
|
|
@ -107,8 +107,7 @@ static int ebt_ip_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_ip =
|
static struct ebt_match filter_ip __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_IP_MATCH,
|
.name = EBT_IP_MATCH,
|
||||||
.match = ebt_filter_ip,
|
.match = ebt_filter_ip,
|
||||||
.check = ebt_ip_check,
|
.check = ebt_ip_check,
|
||||||
|
|
|
@ -90,8 +90,7 @@ static int ebt_limit_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match ebt_limit_reg =
|
static struct ebt_match ebt_limit_reg __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_LIMIT_MATCH,
|
.name = EBT_LIMIT_MATCH,
|
||||||
.match = ebt_limit_match,
|
.match = ebt_limit_match,
|
||||||
.check = ebt_limit_check,
|
.check = ebt_limit_check,
|
||||||
|
|
|
@ -57,8 +57,7 @@ static int ebt_target_mark_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_target mark_target =
|
static struct ebt_target mark_target __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_MARK_TARGET,
|
.name = EBT_MARK_TARGET,
|
||||||
.target = ebt_target_mark,
|
.target = ebt_target_mark,
|
||||||
.check = ebt_target_mark_check,
|
.check = ebt_target_mark_check,
|
||||||
|
|
|
@ -39,8 +39,7 @@ static int ebt_mark_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_mark =
|
static struct ebt_match filter_mark __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_MARK_MATCH,
|
.name = EBT_MARK_MATCH,
|
||||||
.match = ebt_filter_mark,
|
.match = ebt_filter_mark,
|
||||||
.check = ebt_mark_check,
|
.check = ebt_mark_check,
|
||||||
|
|
|
@ -36,8 +36,7 @@ static int ebt_pkttype_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_pkttype =
|
static struct ebt_match filter_pkttype __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_PKTTYPE_MATCH,
|
.name = EBT_PKTTYPE_MATCH,
|
||||||
.match = ebt_filter_pkttype,
|
.match = ebt_filter_pkttype,
|
||||||
.check = ebt_pkttype_check,
|
.check = ebt_pkttype_check,
|
||||||
|
|
|
@ -51,8 +51,7 @@ static int ebt_target_redirect_check(const char *tablename, unsigned int hookmas
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_target redirect_target =
|
static struct ebt_target redirect_target __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_REDIRECT_TARGET,
|
.name = EBT_REDIRECT_TARGET,
|
||||||
.target = ebt_target_redirect,
|
.target = ebt_target_redirect,
|
||||||
.check = ebt_target_redirect_check,
|
.check = ebt_target_redirect_check,
|
||||||
|
|
|
@ -68,8 +68,7 @@ static int ebt_target_snat_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_target snat =
|
static struct ebt_target snat __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_SNAT_TARGET,
|
.name = EBT_SNAT_TARGET,
|
||||||
.target = ebt_target_snat,
|
.target = ebt_target_snat,
|
||||||
.check = ebt_target_snat_check,
|
.check = ebt_target_snat_check,
|
||||||
|
|
|
@ -174,8 +174,7 @@ static int ebt_stp_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_stp =
|
static struct ebt_match filter_stp __read_mostly = {
|
||||||
{
|
|
||||||
.name = EBT_STP_MATCH,
|
.name = EBT_STP_MATCH,
|
||||||
.match = ebt_filter_stp,
|
.match = ebt_filter_stp,
|
||||||
.check = ebt_stp_check,
|
.check = ebt_stp_check,
|
||||||
|
|
|
@ -272,7 +272,7 @@ static int ebt_ulog_check(const char *tablename, unsigned int hookmask,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_watcher ulog = {
|
static struct ebt_watcher ulog __read_mostly = {
|
||||||
.name = EBT_ULOG_WATCHER,
|
.name = EBT_ULOG_WATCHER,
|
||||||
.watcher = ebt_ulog,
|
.watcher = ebt_ulog,
|
||||||
.check = ebt_ulog_check,
|
.check = ebt_ulog_check,
|
||||||
|
|
|
@ -169,7 +169,7 @@ ebt_check_vlan(const char *tablename,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ebt_match filter_vlan = {
|
static struct ebt_match filter_vlan __read_mostly = {
|
||||||
.name = EBT_VLAN_MATCH,
|
.name = EBT_VLAN_MATCH,
|
||||||
.match = ebt_filter_vlan,
|
.match = ebt_filter_vlan,
|
||||||
.check = ebt_check_vlan,
|
.check = ebt_check_vlan,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче