diff options
author | Alexandr Nedvedicky <Alexandr.Nedvedicky@Sun.COM> | 2009-10-22 10:04:06 +0200 |
---|---|---|
committer | Alexandr Nedvedicky <Alexandr.Nedvedicky@Sun.COM> | 2009-10-22 10:04:06 +0200 |
commit | 201a9dc86311d2f37869851fa1f76578d8ccb71b (patch) | |
tree | ace2616fa2bbdd20ee3b8a50ec320b1b22c5293f /usr/src | |
parent | 2b55f462b750ad10f073cfce2b410dfcc021f38b (diff) | |
download | illumos-gate-201a9dc86311d2f37869851fa1f76578d8ccb71b.tar.gz |
6859479 IPF dup-to prevents packets to be forwarded to destination
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) |