Re: [sip-clf] Vendor extensions in draft-ietf-sipclf-format-01.txt

Gonzalo Salgueiro <gsalguei@cisco.com> Tue, 15 March 2011 17:13 UTC

Return-Path: <gsalguei@cisco.com>
X-Original-To: sip-clf@core3.amsl.com
Delivered-To: sip-clf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 757373A6DD2 for <sip-clf@core3.amsl.com>; Tue, 15 Mar 2011 10:13:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.237
X-Spam-Level:
X-Spam-Status: No, score=-9.237 tagged_above=-999 required=5 tests=[AWL=-0.939, BAYES_00=-2.599, HTML_MESSAGE=0.001, MANGLED_PENIS=2.3, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id inZR2YPflY-S for <sip-clf@core3.amsl.com>; Tue, 15 Mar 2011 10:13:01 -0700 (PDT)
Received: from av-tac-rtp.cisco.com (hen.cisco.com [64.102.19.198]) by core3.amsl.com (Postfix) with ESMTP id 4840B3A6BE3 for <sip-clf@ietf.org>; Tue, 15 Mar 2011 10:12:59 -0700 (PDT)
X-TACSUNS: Virus Scanned
Received: from rooster.cisco.com (localhost.cisco.com [127.0.0.1]) by av-tac-rtp.cisco.com (8.13.8+Sun/8.13.8) with ESMTP id p2FHEM7v006265; Tue, 15 Mar 2011 13:14:22 -0400 (EDT)
Received: from rtp-gsalguei-8714.cisco.com (rtp-gsalguei-8714.cisco.com [10.116.61.53]) by rooster.cisco.com (8.13.8+Sun/8.13.8) with ESMTP id p2FHEJCs018999; Tue, 15 Mar 2011 13:14:19 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: multipart/alternative; boundary="Apple-Mail-11--220487783"
From: Gonzalo Salgueiro <gsalguei@cisco.com>
In-Reply-To: <AANLkTi=Cj3urLqDZW9MCzzJGauWMPKgiATGo3_z4sa_z@mail.gmail.com>
Date: Tue, 15 Mar 2011 13:14:19 -0400
Message-Id: <BCF3AE7B-DA85-476C-AC61-3383D8D6D6DF@cisco.com>
References: <AANLkTi=4NSXhgqAg75EUkWt6K0jdg4Kgcy6B37vyTMit@mail.gmail.com> <75DCC5B8-DB67-42AD-A6F2-F972FCFD5AB3@cisco.com> <AANLkTi=4d+uJ5kVXjiT-8eUzO_-5xWw3Lr23vo5cHiLH@mail.gmail.com> <E7D0A5D2-07B2-40DD-A7C8-2DF9FFC35CB4@cisco.com> <AANLkTi=Cj3urLqDZW9MCzzJGauWMPKgiATGo3_z4sa_z@mail.gmail.com>
To: Anders Nygren <anders.nygren@gmail.com>
X-Mailer: Apple Mail (2.1082)
Cc: "sip-clf@ietf.org Mailing" <sip-clf@ietf.org>
Subject: Re: [sip-clf] Vendor extensions in draft-ietf-sipclf-format-01.txt
X-BeenThere: sip-clf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Common Log File format discussion list <sip-clf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip-clf>, <mailto:sip-clf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-clf>
List-Post: <mailto:sip-clf@ietf.org>
List-Help: <mailto:sip-clf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-clf>, <mailto:sip-clf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Mar 2011 17:13:03 -0000

Anders - 

This would make good fodder for discussion by the group on the list as well as in Prague.  It would be my preference not to further overload the current Flags field in <IndexPointers> with additional and additional flag with pre-defined, vendor-specified, and both settings. I think the most elegant solution is:
 
1. The single format you proposed for both Pre-Defined and Vendor-Specific optional fields (where, if allowed, PEN=0 signifies Pre-Defined optional field).
2. Based on group consensus, decide whether (a) we stick with a single pointer is needed in <IndexPointers> to indicate the beginning of the optional fields (i.e. both pre-defined and vendor-specified) or whether (b) there is value in adding an additional pointer added to <IndexPointers>, where one pointer points to the start of the Pre-Defined optional fields and the other points to the start of Vendor-specified fields.

Sound reasonable?

Regards,

Gonzalo
On Mar 15, 2011, at 12:45 PM, Anders Nygren wrote:

> I would like to modify/extend my original proposal with the following
> two alternatives.
> 
> 1, Two TLV pointers.
> Background:
> The current draft-01 contains only one TLV pointer, "TLV Start
> Pointer", that points
> to the optional parameters block. This block contains both the standard optional
> parameters and the vendor extensions.
> 
> Change:
> Add a new pointer "Vendor Extensions Pointer". So "TLV Start Pointer" points to
> the standard optional parameters. And "Vendor Extensions Pointer" points to
> the vendor extensions block.
> The contents of the Standard optional parameters have the format
> proposed in draft-01,
> and the contents of the Vendor extension block have the format I
> proposed earlier.
> 
> byte 1  0x09
> byte 2-5 Tag (Hex)
> byte 6-9 VendorId
> byte 10 0x2C
> byte 11-14 Length (Hex)
> byte 15 0x2C
> byte 16-.. Value (variable length)
> 
> 2, Common format
> Keep one common format for both standard optional parameters and
> vendor extensions
> more in line with diameter, RFC3588, ch 4.1
> 
> 0x09                1 byte
> vendor flag        1 byte     "s" = standard or "v" = vendor
> Tag (Hex)          4 bytes
> 0x2C                1 byte
> Length (Hex)     4 bytes
> [VendorId          4 bytes]  Only present if vendor flag="v"
> 0x2C
> Value (variable length)
> 
> /Anders
> 
> On Tue, Mar 15, 2011 at 8:55 AM, Gonzalo Salgueiro <gsalguei@cisco.com> wrote:
>> Anders -
>> You are absolutely right, I did misunderstand your point the first time
>> around. I thought you were saying '001' was the Vendor-ID, when in fact you
>> were saying that "0001,FFFF,@<PEN>" is the Vendor-ID. Since the name in
>> front of the '@' is only restricted in the following way:
>> - MUST be printable US-ASCII strings
>> - MUST NOT contain an at-sign ('@', ABNF %d64), an equal-sign ('=', ABNF
>> %d61), a closing brace (']', ABNF %d93), a quote-character ('"', ABNF %d34),
>> whitespace, or control characters.
>> it indeed means your example is a valid Vendor-ID and could cause confusion.
>> While this would be very unlikely to happen in practice [I can't imagine an
>> implementer intentionally doing this], it is undesired. I think this fact
>> makes your original proposal that much more elegant than the existing one.
>> Regards,
>> Gonzalo
>> 
>> On Mar 15, 2011, at 10:38 AM, Anders Nygren wrote:
>> 
>> On Tue, Mar 15, 2011 at 12:19 AM, Gonzalo Salgueiro <gsalguei@cisco.com>
>> wrote:
>> 
>> Thanks for raising your concerns Anders.
>> 
>> As you know, this draft was just published today and its principal intent
>> 
>> was to formulate an initial solution for SIP CLF extensibility.
>> 
>> A little history:
>> 
>> The current proposal for Vendor-specific extensions using a Syslog-like
>> 
>> approach (i.e. name@<private enterprise number>) was something proposed over
>> 
>> email and decided at the last SIPCLF Interim meeting in January. So this
>> 
>> really is a first pass at implementing vendor-specificied optional fields.
>> 
>> That said, I'll comment inline to your points
>> 
>> On Mar 14, 2011, at 10:53 PM, Anders Nygren wrote:
>> 
>> Hi
>> 
>> I must say that I really dislike the proposed format for vendor specific
>> 
>> fields.
>> 
>> Having a variable length "tag" before the length field means that it
>> 
>> is necessary
>> 
>> to scan the tag looking for the ',' just to find the length field.
>> 
>> You make a valid point. I'd like others to weigh in here and comment on
>> 
>> whether they think this is a serious performance limitation. I'll propose
>> 
>> this as a discussion point for the upcoming meeting in Prague. The reason
>> 
>> for the variable length tag is that it is based on the SD-ID format from
>> 
>> Syslog, which is variable in length (i.e. the unrestricted name before the
>> 
>> '@').  I think using a Vendor-ID based on a PEN is common sense, so I'd like
>> 
>> to stick with that if possible. We could decide on a fixed length name (or
>> 
>> number to parallel the tag from the Pre-Defined Optional Fields) followed by
>> 
>> four byte PEN.
>> 
>> There is no simple way to tell he difference between a sip-clf
>> 
>> optional field and
>> 
>> a vendor specific optional field. So it will always be necessary to scan the
>> 
>> record looking for the ',' .
>> 
>> Actually looking at RFC 5424 ch 4.3.2 it looks like this would be a legal
>> 
>> ID, "0001,FFFF,@12345" which would be difficult to differentiate from a
>> 
>> standard optional field without a lot of work.
>> 
>> Remember that that this draft restricts the scope of the syntax to the 2nd
>> 
>> format definition of SD-IDs in RFC5424. Thus, the above wouldn't be a legal
>> 
>> vendor-specified optional field since "0001" doesn't contain an '@', which
>> 
>> is mandatory for a Vendor-ID as defined in the draft. So there should be no
>> 
>> confusion there as the Vendor-ID from the vendor-specified optional fields
>> 
>> and the Tag from the pre-defined optional fields can never be the same.
>> 
>> 
>> I think that You did not understand the point I was trying to make.
>> As I understand the specification in the 2nd format definition of SD-IDs in
>> RFC5424, comma "," is allowed in the name part. So
>> "0001,FFFF,@<Vendor-ID>" would be a legal tag, that would be very difficult
>> to
>> differentiate from a standard optional field with tag="0001", length="FFFF"
>> and
>> a value starting with "@<Vendor-ID>"
>> 
>> I think a better way to do this would be similar to diameter RFC3588, ch
>> 
>> 4.1.
>> 
>> Then we could have just one format for standard optional fields and vendor
>> 
>> specific fields
>> 
>> byte 1  0x09
>> 
>> byte 2-5 Tag (Hex)
>> 
>> byte 6-9 VendorId
>> 
>> byte 10 0x2C
>> 
>> byte 11-14 Length (Hex)
>> 
>> byte 15 0x2C
>> 
>> byte 16-.. Value (variable length)
>> 
>> Where VendorId is the IANA assigned "SMI Network Management Private
>> 
>> Enterprise Codes"  [ASSIGNNO] value.
>> 
>> VendorId=0 is used a for the standard optional fields defined in SIP-CLF.
>> 
>> I know that PEN = 0 is a Reserved value and if it is confirmed that it can
>> 
>> be used in this way (as apparently DIAMETER did), then I think this proposal
>> 
>> is very reasonable. This unifies both optional field types into a single
>> 
>> seamless representation. I'll let others, like Chris Lonvick, more
>> 
>> knowledgeable than I weigh in on this as well to confirm my thoughts.
>> 
>> Regards,
>> 
>> Gonzalo
>> 
>> /Anders
>> 
>> _______________________________________________
>> 
>> sip-clf mailing list
>> 
>> sip-clf@ietf.org
>> 
>> https://www.ietf.org/mailman/listinfo/sip-clf
>> 
>> 
>> 
>>