Print this page
*** NO COMMENTS ***

@@ -24,10 +24,14 @@
 
 /*      Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T     */
 /*        All Rights Reserved   */
 
 /*
+ * Copyright 2012 Nexenta Systems, Inc.  All rights reserved.
+ */
+
+/*
  * Portions of this source code were derived from Berkeley 4.3 BSD
  * under license from the Regents of the University of California.
  */
 
 /*

@@ -106,10 +110,11 @@
  * Kept in xprt->xp_p2buf.
  */
 struct udp_data {
         mblk_t  *ud_resp;                       /* buffer for response */
         mblk_t  *ud_inmp;                       /* mblk chain of request */
+        sin6_t  ud_local;                       /* local address */
 };
 
 #define UD_MAXSIZE      8800
 #define UD_INITSIZE     2048
 

@@ -319,10 +324,12 @@
          */
         clone_xprt->xp_rtaddr.buf = (char *)mp->b_rptr +
             pptr->unitdata_ind.SRC_offset;
         clone_xprt->xp_rtaddr.len = pptr->unitdata_ind.SRC_length;
 
+        clone_xprt->xp_lcladdr.buf = (char *)&ud->ud_local;
+
         /*
          * Copy the local transport address in the service_transport
          * handle at the address in the request. We will have only
          * the local IP address in options.
          */