svn commit: r314716 - head/sys/netpfil/ipfw

Cy Schubert Cy.Schubert at komquats.com
Mon Mar 6 00:34:35 UTC 2017


In message <201703052348.v25NmOI1032562 at repo.freebsd.org>, "Andrey V. 
Elsukov"
writes:
> Author: ae
> Date: Sun Mar  5 23:48:24 2017
> New Revision: 314716
> URL: https://svnweb.freebsd.org/changeset/base/314716
> 
> Log:
>   Add IPv6 support to O_IP_DST_LOOKUP opcode.
>   
>   o check the size of O_IP_SRC_LOOKUP opcode, it can not exceed the size of
>     ipfw_insn_u32;
>   o rename ipfw_lookup_table_extended() function into ipfw_lookup_table() and
>     remove old ipfw_lookup_table();
>   o use args->f_id.flow_id6 that is in host byte order to get DSCP value;
>   o add SCTP ports support to 'lookup src/dst-port' opcode;
>   o add IPv6 support to 'lookup src/dst-ip' opcode.
>   
>   PR:		217292
>   Reviewed by:	melifaro
>   MFC after:	2 weeks
>   Sponsored by:	Yandex LLC
>   Differential Revision:	https://reviews.freebsd.org/D9873
> 
> Modified:
>   head/sys/netpfil/ipfw/ip_fw2.c
>   head/sys/netpfil/ipfw/ip_fw_private.h
>   head/sys/netpfil/ipfw/ip_fw_sockopt.c
>   head/sys/netpfil/ipfw/ip_fw_table.c

I seem to bad luck this week. This broke the build in a couple of places 
next to each other. Does this look good?

Index: nat64/nat64stl.c
===================================================================
--- nat64/nat64stl.c	(revision 314717)
+++ nat64/nat64stl.c	(working copy)
@@ -184,7 +184,7 @@
 	 * IPv4 mapped address.
 	 */
 	ip6i = mtodo(m, hlen);
-	if (ipfw_lookup_table_extended(chain, cfg->map64,
+	if (ipfw_lookup_table(chain, cfg->map64,
 	    sizeof(struct in6_addr), &ip6i->ip6_dst, &tablearg) == 0) {
 		m_freem(m);
 		return (NAT64RETURN);
@@ -220,10 +220,10 @@
 	switch (args->f_id.addr_type) {
 	case 4:
 		ret = ipfw_lookup_table(chain, cfg->map46,
-		    htonl(args->f_id.dst_ip), &tablearg);
+		    sizeof(dst_ip), htonl(args->f_id.dst_ip), &tablearg);
 		break;
 	case 6:
-		ret = ipfw_lookup_table_extended(chain, cfg->map64,
+		ret = ipfw_lookup_table(chain, cfg->map64,
 		    sizeof(struct in6_addr), &args->f_id.src_ip6, &tablearg);
 		break;
 	default:


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.




More information about the svn-src-all mailing list