Subject: Re: [Idr] I-D Action: draft-ietf-idr-flowspec-l2vpn-09.txt

From: Donald Eastlake <[email-masked]>
Date: Tue, 1 Oct 2019 11:37:08 -0400

Hi Robert,

On Mon, Sep 30, 2019 at 5:16 AM Robert Raszuk <[email-masked]> wrote:
>
> Hi Donald,
>
> > You have expressed your opinion very clearly but I don't see
> > why it is so bad to replace "VPNv4" with "VPN" rather than "L3VPN"
> > given that the IANA registry has to change anyway.
>
> The difference is (well at least to me) fundamental. Match criteria which are more or less the same for IP L3 layer are completely different for L2 layer so IMO it makes sense to keep them separate.

I agree that L3 and L2 are different :-)

I also agree the different kinds of flowspec should be kept separate.
But I think they are separated by AFI/SAFI pair. I don't see what
AFI=25/SAFI=134 could possibly mean but L2VPN flowspec -- it's quite
clear and unambiguous. And SAFIs are at least a somewhat limited
resource. So I still don't understand why it is worthwhile to burn a
new SAFI for L2VPN flowspec that will then only ever be used with
AFI=25. Of course, if there is working group consensus to make that
change, then I guess I don't need to understand it...

Thanks,
Donald
===============================
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 1424 Pro Shop Court, Davenport, FL 33896 USA
 [email-masked]

> Also I am not stating that the work should not move on if there is real requirement to extend flow spec for filtering L2 VPNs. Asking for new SAFI is easy if proposal is worth it.
>
> Please remember that flow spec original goal was to automate filtering for DDoS which to the best of my knowledge is L3 type of attack. But of course since then many people pulled FS left and right :).
>
> Thank you,
> R.
>
>
> On Mon, Sep 30, 2019 at 2:58 AM Donald Eastlake <[email-masked]> wrote:
>>
>> Hi Robert,
>>
>> On Sun, Sep 29, 2019 at 6:00 AM Robert Raszuk <[email-masked]> wrote:
>> >
>> > Hi Donald,
>> >
>> > The draft says:
>> >
>> > The following changes are defined:
>> >
>> >    "SAFI 134 for dissemination of L3VPN flow specification rules" to now
>> >    be defined as "SAFI 134 for dissemination of VPN flow specification
>> >    rules"
>> >
>> >    For SAFI 134 the indication to which address family it is referring
>> >    to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and
>> >    AFI=25 for L2VPN).  Such modification is fully backwards compatible
>> >    with existing implementation and production deployments.
>> >
>> >    For SAFI 134 the indication to which address family it is referring
>> >    to will be recognized by AFI value (AFI=1 for VPNv4, AFI=2 VPNv6 and
>> >    AFI=25 for L2VPN).  Such modification is fully backwards compatible
>> >    with existing implementation and production deployments.
>> >
>> >
>> > Which at least to me clearly gives the impression that newly defined NLRI elements and format are targeted to all AFIs listed 1, 2 & 25.
>>
>> As far as I know, that impression is wrong, which is why I said, after
>> saying that the draft applies to AFI=25/SAFI=134, that "The draft
>> should be clarified" to say that.
>>
>> > If you do not intend to ever use them with AFI 1 or 2 then the draft must state this very clearly that they are only applicable to AFI 25.
>> >
>> > On the topic of renaming IANA registry to extend  L3VPN SAFI 134 to also cover L2VPN my personal view is that we should not do it. We should define a new SAFI for L2VPN and clearly separate those two.
>> >
>> > You either match on L2 or L3 and not both in a given packet. Of course you can send both SAFIs and match on both against traffic on a given interface. Changing SAFI 134 now will require not only adjustment to IANA registry ... Just imagine the effort required to change all vendor's documentation.
>>
>> Well, isn't it also true that you either match on IPv4 or IPv6?
>>
>> The current IANA registry entry for SAFI 134 says "VPNv4 dissemination
>> of flow specification rules". It has to be changed anyway to encompass
>> IPv6... You have expressed your opinion very clearly but I don't see
>> why it is so bad to replace "VPNv4" with "VPN" rather than "L3VPN"
>> given that the IANA registry has to change anyway. As for vendor
>> documentation, if a vendor organized their documentation by the
>> capabilities they support, that is the AFI/SAFI pairs, then I'm not
>> sure why any change at all would be required unless they actually
>> supported L2VPN flowspec.
>>
>> in any case, I'll do what the consensus of the WG is.
>>
>> Thanks,
>> Donald
>> ===============================
>>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>>  1424 Pro Shop Court, Davenport, FL 33896 USA
>>  [email-masked]
>>
>> > Many thx,
>> > Robert
>> >
>> > On Sun, Sep 29, 2019 at 6:05 AM Donald Eastlake <[email-masked]> wrote:
>> >>
>> >> Hi Robert,
>> >>
>> >> Thanks for your review. Apologies for the delay in response.
>> >>
>> >> On Thu, Jan 3, 2019 at 6:04 AM Robert Raszuk <[email-masked]> wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > Two observations:
>> >> >
>> >> > 1.
>> >> >
>> >> > The current draft extends exisiting SAFI 134 with new NLRI types.
>> >> > That means that now we have new giant NLRI in SAFI 134.
>> >> >
>> >> > Have any consideration been made to just define a new flow spec SAFI
>> >> > instead for L2 filtering ? I am quite skeptical from implementation,
>> >> > operational and deployment points of view to extend the existing
>> >> > SAFI and it makes a gradual deployment a nightmare if not mission
>> >> > impossible.
>> >> >
>> >> > Any change to NLRI format without signalling it with new capability is
>> >> > far from good practice.
>> >>
>> >> My understanding is that flow spec capabilities are signalled by an
>> >> AFI/SAFI pair as specified in RFC 2858. So I think that
>> >> AFI=25/SAFI=134 already is a new capability. The draft should be
>> >> clarified to present things in those terms.
>> >>
>> >> It would be easy, from the IANA Considerations point of view, to get a
>> >> new SAFI that could be used with AFI=25 for L2VPN flowspec. But I
>> >> don't really see the benefit of burning a new SAFI value, say xyz, and
>> >> using AFI=25/SAFI=xyz instead of ARI=25/SAFI=134.
>> >>
>> >> In my opinion, the general format for the NLRI in this draft ia
>> >> similar to the flow specs for IPv4 and IPv6.  The components that are
>> >> added by this draft differ from the IPv4 and IPv6 components in the
>> >> generally the same way that the IPv4 and IPv6 components differ from
>> >> each other.
>> >>
>> >> > 2.
>> >> >
>> >> > The draft is pretty silent on adjusting validation procedures to make sure only
>> >> > senders of the original L2 information may inject the L2 flow routes..
>> >> >
>> >> > I would hope that this is basic omission and will be consider for addition into
>> >> > next version of he draft.
>> >>
>> >> That is an excellent point and the next version should have adjusted
>> >> validation procedures in it.
>> >>
>> >> Thanks,
>> >> Donald
>> >> =============================
>> >>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>> >>  1424 Pro Shop Court, Davenport, FL 33896 USA
>> >>  [email-masked]
>> >>
>> >> > Thx,
>> >> > R.
>> >> >
>> >> >
>> >> >
>> >> > On Thu, Jan 3, 2019 at 10:33 AM <[email-masked]> wrote:
>> >> >>
>> >> >> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>> >> >> This draft is a work item of the Inter-Domain Routing WG of the IETF.
>> >> >>
>> >> >>         Title           : BGP Dissemination of L2VPN Flow Specification Rules
>> >> >>         Authors         : Weiguo Hao
>> >> >>                           Donald E. Eastlake, 3rd
>> >> >>                           James Uttaro
>> >> >>                           Stephane Litkowski
>> >> >>                           Shunwan Zhuang
>> >> >>         Filename        : draft-ietf-idr-flowspec-l2vpn-09.txt
>> >> >>         Pages           : 13
>> >> >>         Date            : 2019-01-03
>> >> >>
>> >> >> Abstract:
>> >> >>    This document defines a BGP flow-spec extension to disseminate L2 VPN
>> >> >>    Ethernet traffic filtering rules.  SAFI=134 in [RFC5575] is redefined
>> >> >>    for this purpose.  A new subset of component types and extended
>> >> >>    community also are defined.  A new subset of component types and new
>> >> >>    extended community also are defined.
>> >> >>
>> >> >>
>> >> >>
>> >> >> The IETF datatracker status page for this draft is:
>> >> >> https://datatracker.ietf.org/doc/draft-ietf-idr-flowspec-l2vpn/
>> >> >>
>> >> >> There are also htmlized versions available at:
>> >> >> https://tools.ietf.org/html/draft-ietf-idr-flowspec-l2vpn-09
>> >> >> https://datatracker.ietf.org/doc/html/draft-ietf-idr-flowspec-l2vpn-09
>> >> >>
>> >> >> A diff from the previous version is available at:
>> >> >> https://www.ietf.org/rfcdiff?url2=draft-ietf-idr-flowspec-l2vpn-09
>> >> >>
>> >> >>
>> >> >> Please note that it may take a couple of minutes from the time of submission
>> >> >> until the htmlized version and diff are available at tools.ietf.org.
>> >> >>
>> >> >> Internet-Drafts are also available by anonymous FTP at:
>> >> >> ftp://ftp.ietf.org/internet-drafts/

---

From: Jeffrey Haas <[email-masked]>
Date: Thu, 3 Oct 2019 16:57:53 -0400

Donald,

> I also agree the different kinds of flowspec should be kept separate.

In my opinion, as a learning from our 5575bis work, new flowspec should
honestly be deferred for flowspec v2 encoding.  Otherwise, we're likely to
have implementations ignoring the NLRI and/or possibly dropping BGP
sessions.

Certainly figuring out what afi/safi the l2 flowspec encaps should use is a
continuing discussion as well.

-- Jeff