Re: [pcp] How can I make a ~stateless forwarding PCP proxy again?

Markus Stenberg <markus.stenberg@iki.fi> Mon, 05 May 2014 22:03 UTC

Return-Path: <markus.stenberg@iki.fi>
X-Original-To: pcp@ietfa.amsl.com
Delivered-To: pcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 40A2A1A03D5 for <pcp@ietfa.amsl.com>; Mon, 5 May 2014 15:03:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Te74kmP1D5zk for <pcp@ietfa.amsl.com>; Mon, 5 May 2014 15:03:44 -0700 (PDT)
Received: from jenni1.inet.fi (mta-out1.inet.fi [62.71.2.198]) by ietfa.amsl.com (Postfix) with ESMTP id E35EB1A037A for <pcp@ietf.org>; Mon, 5 May 2014 15:03:43 -0700 (PDT)
Received: from [192.168.43.129] (80.220.67.193) by jenni1.inet.fi (8.5.140.03) (authenticated as stenma-47) id 534D29300184F881; Tue, 6 May 2014 01:03:33 +0300
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Markus Stenberg <markus.stenberg@iki.fi>
In-Reply-To: <45A697A8FFD7CF48BCF2BE7E106F06040B8C95CC@xmb-rcd-x04.cisco.com>
Date: Tue, 06 May 2014 00:03:26 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <DD197DE0-9FDF-4489-B80F-659DE6585F3C@iki.fi>
References: <FDB45976-B7A3-4C59-B2D1-C01982D0205F@iki.fi> <45A697A8FFD7CF48BCF2BE7E106F06040B8C957D@xmb-rcd-x04.cisco.com>, <2B975F36-4E46-4D93-891B-DB4E480FF190@iki.fi> <45A697A8FFD7CF48BCF2BE7E106F06040B8C95CC@xmb-rcd-x04.cisco.com>
To: "Reinaldo Penno (repenno)" <repenno@cisco.com>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/pcp/gRFKTm3DFbCl72YOpX0z7c_7-Ho
Cc: "pcp@ietf.org" <pcp@ietf.org>
Subject: Re: [pcp] How can I make a ~stateless forwarding PCP proxy again?
X-BeenThere: pcp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: PCP wg discussion list <pcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pcp>, <mailto:pcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pcp/>
List-Post: <mailto:pcp@ietf.org>
List-Help: <mailto:pcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pcp>, <mailto:pcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 May 2014 22:03:46 -0000

On 5.5.2014, at 23.38, Reinaldo Penno (repenno) <repenno@cisco.com> wrote:
> "Getting back to my previous question, now that I think of it, actually, the IP address of the client is in the THIRD_PARTY option. Only thing that isn’t explicitly stored somewhere is the address client contacts the proxy on (it probably has 1-N addresses per M interfaces)."
> 
> Yes, but I believe in the current back-to-back proxy proposal (newest draft) the third party option would/should be completely removed by the proxy before forwarding a message.


Well, it actually behaves the same way what I said - it _does_ (in firewall case) insert THIRD_PARTY options on way to server and back. Only difference is that in my case, I don’t even want to think of being a NAT that proxies requests onward (I’m sure you need lots of state at that point and the content of the current draft seems focused mostly on that).

I wonder if someone’s implemented the back-to-back draft yet? It looks like a lot of work. The minimal state design I sketched is about 500 LoC of C[1] (with quite short line lengths too, debug messages, etc that I wrote today). Perhaps it would be a bit more if I actually bother to send ANNOUNCEs some day, but not much.

And that’s all you really need, given

a) you don’t want to cascade that proxy (you can’t have multiple THIRD_PARTY options)

b) you can live with ‘someone else’ having the control of server selection and PCP-forwarder being just dumb element following orders.

Perhaps I’ll write a draft on my thoughts on homenet + PCP angle for the next IETF (sigh, too full calendar, but one day of hacking this was amusing enough).

Cheers,

-Markus

[1] https://github.com/fingon/minimalist-pcproxy