act_nat.c (14f0290ba44de6ed435fea24bba26e7868421c66) | act_nat.c (cc7ec456f82da7f89a5b376e613b3ac4311b3e9a) |
---|---|
1/* 2 * Stateless NAT actions 3 * 4 * Copyright (c) 2007 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) --- 55 unchanged lines hidden (view full) --- 64 return -EINVAL; 65 parm = nla_data(tb[TCA_NAT_PARMS]); 66 67 pc = tcf_hash_check(parm->index, a, bind, &nat_hash_info); 68 if (!pc) { 69 pc = tcf_hash_create(parm->index, est, a, sizeof(*p), bind, 70 &nat_idx_gen, &nat_hash_info); 71 if (IS_ERR(pc)) | 1/* 2 * Stateless NAT actions 3 * 4 * Copyright (c) 2007 Herbert Xu <herbert@gondor.apana.org.au> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) --- 55 unchanged lines hidden (view full) --- 64 return -EINVAL; 65 parm = nla_data(tb[TCA_NAT_PARMS]); 66 67 pc = tcf_hash_check(parm->index, a, bind, &nat_hash_info); 68 if (!pc) { 69 pc = tcf_hash_create(parm->index, est, a, sizeof(*p), bind, 70 &nat_idx_gen, &nat_hash_info); 71 if (IS_ERR(pc)) |
72 return PTR_ERR(pc); | 72 return PTR_ERR(pc); |
73 p = to_tcf_nat(pc); 74 ret = ACT_P_CREATED; 75 } else { 76 p = to_tcf_nat(pc); 77 if (!ovr) { 78 tcf_hash_release(pc, bind, &nat_hash_info); 79 return -EEXIST; 80 } --- 248 unchanged lines hidden --- | 73 p = to_tcf_nat(pc); 74 ret = ACT_P_CREATED; 75 } else { 76 p = to_tcf_nat(pc); 77 if (!ovr) { 78 tcf_hash_release(pc, bind, &nat_hash_info); 79 return -EEXIST; 80 } --- 248 unchanged lines hidden --- |