[BACK]Return to npf_nat.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / net / npf

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/net/npf/npf_nat.c between version 1.14 and 1.15

version 1.14, 2012/07/01 23:21:06 version 1.15, 2012/07/15 00:23:00
Line 120  struct npf_natpolicy {
Line 120  struct npf_natpolicy {
         kmutex_t                n_lock;          kmutex_t                n_lock;
         kcondvar_t              n_cv;          kcondvar_t              n_cv;
         npf_portmap_t *         n_portmap;          npf_portmap_t *         n_portmap;
           /* NPF_NP_CMP_START */
         int                     n_type;          int                     n_type;
         u_int                   n_flags;          u_int                   n_flags;
         size_t                  n_addr_sz;          size_t                  n_addr_sz;
Line 268  npf_nat_freepolicy(npf_natpolicy_t *np)
Line 269  npf_nat_freepolicy(npf_natpolicy_t *np)
 }  }
   
 void  void
 npf_nat_freealg(npf_alg_t *alg)  npf_nat_freealg(npf_natpolicy_t *np, npf_alg_t *alg)
 {  {
         (void)alg; /* TODO */          npf_nat_t *nt;
   
           mutex_enter(&np->n_lock);
           LIST_FOREACH(nt, &np->n_nat_list, nt_entry) {
                   if (nt->nt_alg != alg) {
                           continue;
                   }
                   nt->nt_alg = NULL;
           }
           mutex_exit(&np->n_lock);
 }  }
   
 /*  /*
Line 453  npf_nat_create(npf_cache_t *npc, npf_nat
Line 463  npf_nat_create(npf_cache_t *npc, npf_nat
         /* Save the original address which may be rewritten. */          /* Save the original address which may be rewritten. */
         if (np->n_type == NPF_NATOUT) {          if (np->n_type == NPF_NATOUT) {
                 /* Source (local) for Outbound NAT. */                  /* Source (local) for Outbound NAT. */
                 memcpy(&nt->nt_oaddr, npc->npc_srcip, npc->npc_ipsz);                  memcpy(&nt->nt_oaddr, npc->npc_srcip, npc->npc_alen);
         } else {          } else {
                 /* Destination (external) for Inbound NAT. */                  /* Destination (external) for Inbound NAT. */
                 KASSERT(np->n_type == NPF_NATIN);                  KASSERT(np->n_type == NPF_NATIN);
                 memcpy(&nt->nt_oaddr, npc->npc_dstip, npc->npc_ipsz);                  memcpy(&nt->nt_oaddr, npc->npc_dstip, npc->npc_alen);
         }          }
   
         /*          /*

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

CVSweb <webmaster@jp.NetBSD.org>