From 201a9dc86311d2f37869851fa1f76578d8ccb71b Mon Sep 17 00:00:00 2001 From: Alexandr Nedvedicky Date: Thu, 22 Oct 2009 10:04:06 +0200 Subject: 6859479 IPF dup-to prevents packets to be forwarded to destination --- usr/src/uts/common/inet/ipf/fil.c | 3 +++ usr/src/uts/common/inet/ipf/netinet/ip_compat.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/inet/ipf/fil.c b/usr/src/uts/common/inet/ipf/fil.c index 9cb19345b6..a426a43591 100644 --- a/usr/src/uts/common/inet/ipf/fil.c +++ b/usr/src/uts/common/inet/ipf/fil.c @@ -2616,6 +2616,9 @@ ipf_stack_t *ifs; */ if ((fr != NULL) && (pass & FR_DUP)) { mc = M_DUPLICATE(fin->fin_m); +#ifdef _KERNEL + mc->b_rptr += fin->fin_ipoff; +#endif } if (pass & (FR_RETRST|FR_RETICMP)) { diff --git a/usr/src/uts/common/inet/ipf/netinet/ip_compat.h b/usr/src/uts/common/inet/ipf/netinet/ip_compat.h index c14065166b..18c4fad4e9 100644 --- a/usr/src/uts/common/inet/ipf/netinet/ip_compat.h +++ b/usr/src/uts/common/inet/ipf/netinet/ip_compat.h @@ -301,7 +301,7 @@ typedef unsigned int u_32_t; # define GETKTIME(x) uniqtime((struct timeval *)x) # define MSGDSIZE(x) msgdsize(x) # define M_LEN(x) ((x)->b_wptr - (x)->b_rptr) -# define M_DUPLICATE(x) dupmsg((x)) +# define M_DUPLICATE(x) copymsg((x)) # define MTOD(m,t) ((t)((m)->b_rptr)) # define MTYPE(m) ((m)->b_datap->db_type) # define FREE_MB_T(m) freemsg(m) -- cgit v1.2.3