diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/inet/ipf/fil.c | 3 | ||||
-rw-r--r-- | usr/src/uts/common/inet/ipf/netinet/ip_compat.h | 2 |
2 files changed, 4 insertions, 1 deletions
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) |