mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	2e783b227766 ebt_ip: add support for matching IGMP type b5fbb8d786c9 ebt_ip: add support for matching ICMP type and code c5e5b784fd1a Move ICMP type handling functions from ebt_ip6 to useful_functions.c 11da52177196 include: sync linux/netfilter_bridge/ebt_ip.h with kernel Note: the new features require at least kernel 4.17 or backported patches. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
		
			
				
	
	
		
			250 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/extensions/Makefile
 | |
| +++ b/extensions/Makefile
 | |
| @@ -11,13 +11,13 @@ EXT_LIBSI+=$(foreach T,$(EXT_FUNC), -leb
 | |
|  EXT_LIBSI+=$(foreach T,$(EXT_TABLES), -lebtable_$(T))
 | |
|  
 | |
|  extensions/ebt_%.so: extensions/ebt_%.o
 | |
| -	$(CC) $(LDFLAGS) -shared -o $@ -lc $< -nostartfiles
 | |
| +	$(CC) $(LDFLAGS) -shared -o $@ -lc $<
 | |
|  
 | |
|  extensions/libebt_%.so: extensions/ebt_%.so
 | |
|  	mv $< $@
 | |
|  
 | |
|  extensions/ebtable_%.so: extensions/ebtable_%.o
 | |
| -	$(CC) $(LDFLAGS) -shared -o $@ -lc $< -nostartfiles
 | |
| +	$(CC) $(LDFLAGS) -shared -o $@ -lc $<
 | |
|  
 | |
|  extensions/libebtable_%.so: extensions/ebtable_%.so
 | |
|  	mv $< $@
 | |
| --- a/extensions/ebt_802_3.c
 | |
| +++ b/extensions/ebt_802_3.c
 | |
| @@ -141,7 +141,7 @@ static struct ebt_u_match _802_3_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&_802_3_match);
 | |
|  }
 | |
| --- a/extensions/ebt_among.c
 | |
| +++ b/extensions/ebt_among.c
 | |
| @@ -491,7 +491,7 @@ static struct ebt_u_match among_match =
 | |
|  	.extra_ops 	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&among_match);
 | |
|  }
 | |
| --- a/extensions/ebt_arp.c
 | |
| +++ b/extensions/ebt_arp.c
 | |
| @@ -362,7 +362,7 @@ static struct ebt_u_match arp_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&arp_match);
 | |
|  }
 | |
| --- a/extensions/ebt_arpreply.c
 | |
| +++ b/extensions/ebt_arpreply.c
 | |
| @@ -133,7 +133,7 @@ static struct ebt_u_target arpreply_targ
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_target(&arpreply_target);
 | |
|  }
 | |
| --- a/extensions/ebt_ip.c
 | |
| +++ b/extensions/ebt_ip.c
 | |
| @@ -472,7 +472,7 @@ static struct ebt_u_match ip_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&ip_match);
 | |
|  }
 | |
| --- a/extensions/ebt_ip6.c
 | |
| +++ b/extensions/ebt_ip6.c
 | |
| @@ -413,7 +413,7 @@ static struct ebt_u_match ip6_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&ip6_match);
 | |
|  }
 | |
| --- a/extensions/ebt_limit.c
 | |
| +++ b/extensions/ebt_limit.c
 | |
| @@ -212,7 +212,7 @@ static struct ebt_u_match limit_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&limit_match);
 | |
|  }
 | |
| --- a/extensions/ebt_log.c
 | |
| +++ b/extensions/ebt_log.c
 | |
| @@ -217,7 +217,7 @@ static struct ebt_u_watcher log_watcher
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_watcher(&log_watcher);
 | |
|  }
 | |
| --- a/extensions/ebt_mark.c
 | |
| +++ b/extensions/ebt_mark.c
 | |
| @@ -172,7 +172,7 @@ static struct ebt_u_target mark_target =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_target(&mark_target);
 | |
|  }
 | |
| --- a/extensions/ebt_mark_m.c
 | |
| +++ b/extensions/ebt_mark_m.c
 | |
| @@ -121,7 +121,7 @@ static struct ebt_u_match mark_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&mark_match);
 | |
|  }
 | |
| --- a/extensions/ebt_nat.c
 | |
| +++ b/extensions/ebt_nat.c
 | |
| @@ -231,7 +231,7 @@ static struct ebt_u_target dnat_target =
 | |
|  	.extra_ops	= opts_d,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_target(&snat_target);
 | |
|  	ebt_register_target(&dnat_target);
 | |
| --- a/extensions/ebt_nflog.c
 | |
| +++ b/extensions/ebt_nflog.c
 | |
| @@ -166,7 +166,7 @@ static struct ebt_u_watcher nflog_watche
 | |
|  	.extra_ops = nflog_opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_watcher(&nflog_watcher);
 | |
|  }
 | |
| --- a/extensions/ebt_pkttype.c
 | |
| +++ b/extensions/ebt_pkttype.c
 | |
| @@ -125,7 +125,7 @@ static struct ebt_u_match pkttype_match
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&pkttype_match);
 | |
|  }
 | |
| --- a/extensions/ebt_redirect.c
 | |
| +++ b/extensions/ebt_redirect.c
 | |
| @@ -108,7 +108,7 @@ static struct ebt_u_target redirect_targ
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_target(&redirect_target);
 | |
|  }
 | |
| --- a/extensions/ebt_standard.c
 | |
| +++ b/extensions/ebt_standard.c
 | |
| @@ -84,7 +84,7 @@ static struct ebt_u_target standard =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_target(&standard);
 | |
|  }
 | |
| --- a/extensions/ebt_stp.c
 | |
| +++ b/extensions/ebt_stp.c
 | |
| @@ -337,7 +337,7 @@ static struct ebt_u_match stp_match =
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&stp_match);
 | |
|  }
 | |
| --- a/extensions/ebt_ulog.c
 | |
| +++ b/extensions/ebt_ulog.c
 | |
| @@ -180,7 +180,7 @@ static struct ebt_u_watcher ulog_watcher
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_watcher(&ulog_watcher);
 | |
|  }
 | |
| --- a/extensions/ebt_vlan.c
 | |
| +++ b/extensions/ebt_vlan.c
 | |
| @@ -181,7 +181,7 @@ static struct ebt_u_match vlan_match = {
 | |
|  	.extra_ops	= opts,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_match(&vlan_match);
 | |
|  }
 | |
| --- a/extensions/ebtable_broute.c
 | |
| +++ b/extensions/ebtable_broute.c
 | |
| @@ -23,7 +23,7 @@ ebt_u_table table =
 | |
|  	.help		= print_help,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_table(&table);
 | |
|  }
 | |
| --- a/extensions/ebtable_filter.c
 | |
| +++ b/extensions/ebtable_filter.c
 | |
| @@ -29,7 +29,7 @@ static struct ebt_u_table table =
 | |
|  	.help		= print_help,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_table(&table);
 | |
|  }
 | |
| --- a/extensions/ebtable_nat.c
 | |
| +++ b/extensions/ebtable_nat.c
 | |
| @@ -30,7 +30,7 @@ ebt_u_table table =
 | |
|  	.help		= print_help,
 | |
|  };
 | |
|  
 | |
| -void _init(void)
 | |
| +__attribute__((constructor)) static void extension_init(void)
 | |
|  {
 | |
|  	ebt_register_table(&table);
 | |
|  }
 |