Re: [Idr] draft-chen-bgp-redist-01.txt

Gyan Mishra <hayabusagsm@gmail.com> Fri, 02 July 2021 14:40 UTC

Return-Path: <hayabusagsm@gmail.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 742023A20E5 for <idr@ietfa.amsl.com>; Fri, 2 Jul 2021 07:40:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level:
X-Spam-Status: No, score=-1.996 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 DXx76nXhpZNa for <idr@ietfa.amsl.com>; Fri, 2 Jul 2021 07:40:17 -0700 (PDT)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 56D5E3A09E9 for <idr@ietf.org>; Fri, 2 Jul 2021 07:40:17 -0700 (PDT)
Received: by mail-pl1-x630.google.com with SMTP id l19so443349plg.6 for <idr@ietf.org>; Fri, 02 Jul 2021 07:40:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rl5OrCfYV1JUABufvkwOv1Kf9yBWntrGhptnzxGmyyI=; b=s485yW0/H8UJRhmHf3xtzDgW2LJUJFEPF4KgXfzF7GCSSNtAHOLAWuh4V6gxQ7FkeT bEtEWFEjNUCaP7PcQDYDYZ6hnyMIM4juJ4zIp4Ef7fLewk1DFYYgCjbsfmUpnDp6U/YF +ge8wT4UF625w6tW8f5hD4nFup5fwQXfdxiWzXQqNkcRLIhoox+gsR6Ztx6e4edfqrdV FjClyHw9P0GfE+NJSeGLKNgpjOPrsvf6WWvnLqjI1DCbAZ6kPoVvnNdeH8uuAyx74bO7 VHIfyCUuzg0YLgzi3wYKjBNEDNGO2QirGjr8SUT/fE8X5AGTIt+Juz7iC0dui7qH8QNB 7h2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rl5OrCfYV1JUABufvkwOv1Kf9yBWntrGhptnzxGmyyI=; b=fVauFsdnrEP9BDntrzy0Rx1UOEbNgb/ETmbxeE4kx3OwYHr9O7xyarZidCC/BTE1Zd EIgg6GiBTrUgLYmq/JS/zBGHKM5TRj0ZN42vu4NrVB4Ns07+Nr/VU/XNbIbmKS5PT4ja sLxPTWHaFdg9zVPPQHtFDCIihoLT2Po2hgaXEiw1p+sQSmH5dq1uVFxYaPMjjFeV1jz7 rDONmDC4uIH7SgaY5FZEPwJPAZTKe3M/EEkqeTYqMWIFieehqes5gOpAmqoN7kYkpogR yw9JZJ61c/jtrGPglhglie5xnaA8drHPVVE51YG26WDfnayhc4SQjmuWeXWGuxaQHS3E vI2Q==
X-Gm-Message-State: AOAM531ND12sAOuPc/XSZM8EKXjXGIAOusXa+H3baJtLz3KQyLsf5NXH +kDSygNzbqB9X/Uvm0YgG4bcHqTZ3yMVEakZq/g=
X-Google-Smtp-Source: ABdhPJxq+ihl4KFKrBIQ+u2iqsFwSVRtT97lJsBSbz6h3qYsOjVUtb1YuN9/yXKo4nX7Qlhr2EqmpFAiMUZf7ng3lhg=
X-Received: by 2002:a17:90a:fa92:: with SMTP id cu18mr95386pjb.215.1625236815035; Fri, 02 Jul 2021 07:40:15 -0700 (PDT)
MIME-Version: 1.0
References: <CANJ8pZ_2yk666tSca818-e0YdziKjK3dMqhopOtYAP3vKXTEmQ@mail.gmail.com> <CAOj+MME5zZeZDnhpfivbdKj00JwBzi9rjMmzBXxE_fFqkxEVpA@mail.gmail.com> <CANJ8pZ9Und3fF324tzTAkhrMFV0MZfhHYfZussiYSCNUx-n_Hw@mail.gmail.com> <CABNhwV3BXk=+fuxVSg_9j+u+5Ffr+NQGE9P75NCPpTaUr5LqYQ@mail.gmail.com> <CAOj+MMFxM_yvrPDEyQ+dpO7ZxoiQKa0DE4ZQf763Cuidj76QXg@mail.gmail.com> <CABNhwV1q-H1pSypWCvA9VKXBZZTfM3nQNPktjbmbN0D=VSXpBw@mail.gmail.com> <CABNhwV29-t-N6EMmJQzOairgTB5jsPX1h6Q0e+akEgiA2cUpQg@mail.gmail.com> <CABNhwV1QAR8qHdP+rSTOk3eRU5A5tMAfWFFyqXYPQteHtoNyBg@mail.gmail.com> <BYAPR11MB3207B8AE524F71ED25590B94C01F9@BYAPR11MB3207.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB3207B8AE524F71ED25590B94C01F9@BYAPR11MB3207.namprd11.prod.outlook.com>
From: Gyan Mishra <hayabusagsm@gmail.com>
Date: Fri, 2 Jul 2021 10:39:51 -0400
Message-ID: <CABNhwV3BU434W1totuE6RcV7fmJYrK1V3E5TGu8oYht9-eJRZA@mail.gmail.com>
To: "Jakob Heitz (jheitz)" <jheitz@cisco.com>
Cc: Enke Chen <enchen@paloaltonetworks.com>, Jenny Yuan <jyuan@paloaltonetworks.com>, Robert Raszuk <robert@raszuk.net>, "idr@ietf. org" <idr@ietf.org>
Content-Type: multipart/related; boundary="0000000000000973c905c624efde"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/kmBza8QvYrc8CD6xc2xlUYNNano>
Subject: Re: [Idr] draft-chen-bgp-redist-01.txt
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Jul 2021 14:40:23 -0000

Hi Jakob & Enke

I agree with everything you are saying.

Agreed no admin distance concept in BGP RFC 4271.

In that case of locally generated via network statement or redistribution
versus a route the route locally generated is at the top of the best path
selection and gets a weight of 32768 and becomes always preferred over a
BGP learned route.

https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html

Step 3 in best path selection is locally generated route from network
statement or redistribution and the locally generated route gets a weight
of 32768.

This is implementation specific as far as weight being added to locally
generated routes and not sure if all vendors do this but as weight is at
the top of the best path selection it is advertised over the learned
route.  This can be very problematic so care has to be taken when locally
generating a route that is also learned via BGP.  In that particular case
the best practice is to NOT locally generate if learned via BGP.  That can
be easily done by removing the exact match network statement for the prefix
learned or using a redistribution filter to exclude the route learned via
BGP so the learned route is preferable over the redistribution route.

So the solution to the problem of local versus learned prefix is
deterministic but is vendor implementation specific.  I would stand by the
best practice I mentioned to only locally generate if the route is not
learned via BGP.  Also if a route is learned via BGP the ab aggregate
should be used tp create an atomic aggregate if that’s the goal summary
only with advertise or suppress map etc or just generate the aggregate if
desired and not suppress component prefixes.  In this case we are talking
about exact match via network statement or redistribution matching a
learned route and not generating a summary.

The use case provided by Enke is not common as most providers do not want
to implement any static routing or anything static for that matter.  This
same scenario described in 2.2 can be accomplished simply by the customer
to de-prefer the backup path to R2 in/out.  Done.

In the example described in 2.2 R2 has static with high admin distance
“floating static” as backup route so is never installed in RIB/FIB unless
R1 stops advertising the iBGP route AD 200.  So routing remains
deterministic as R1 is primary path and when it redistributes the route
locally generated the route gets a 32768 weight preferring the path over
any leaned route as weight is at the top of BGP best path selection and R2
cannot perform the action to redistribute the route until the iBGP route AD
200 goes away.  Once R1 fails the floating static is triggered and
redistributed into BGP and now R3 routes via R2.  Done.

I am not seeing what is broken here or a need to have AD context which is
locally significant and unique to each vendor and does not have to match.

The key here is that the redistribution trigger does not even occur until
the route is inserted into the RIB/FIB forwarding plane as primary and
until that happens it remains backup and not triggered until R1 fails or
stops advertisement.

Kind Regards

Gyan


On Fri, Jul 2, 2021 at 2:33 AM Jakob Heitz (jheitz) <jheitz@cisco.com>
wrote:

> Admin-distance is not defined in any RFCs. It is a vendor only concept.
>
> I can speak about it from the Cisco IOS-XR and Redback perspective.
>
> In both of these implementations, RIB and BGP are separate processes
>
> with separate memory spaces and their own routing tables.
>
> Routes are passed between them using inter-process communication messages.
>
> They cannot access each other's routing tables. Other routing protoclos,
>
> such as OSPF, ISIS and static are also separate processes. Each of the
> routing
>
> protocols downloads their valid routes to RIB. If the same IP prefix is
>
> sent to RIB by multiple routing protocols, RIB will select one to be used
>
> for forwarding and resolving nexthops. RIB uses admin-distance to decide.
>
> Routing protocols get their local routes from RIB.
>
>
>
> A static route has admin-distance of 1 by default.
>
> However, a static route can be configured with a different admin-distance.
>
> It is possible to configure a backup static route by configuring a high
>
> admin-distance for it.
>
> In that case, if another route is found for the given prefix by another
>
> routing protocol, say an ISIS route, then the ISIS route will be used
>
> for forwarding. Only if the ISIS route disappears will the backup static
>
> route be used.
>
>
>
> Now, suppose we want to advertise that prefix in BGP. We can do that
>
> with a "redistribute" statement or with a "network" statement.
>
> They work a little bit differently, but either command will import
>
> the route from the RIB into BGP.
>
> Once the route is in BGP, it loses its admin-distance.
>
> BGP has no knowledge of the admin-distance that this route had in RIB.
>
> There is no admin-distance in section 9.1 of RFC 4271.
>
> This is the root of the problem that Enke and Jenny are trying to solve.
>
>
>
> The problem occurs if the same prefix can be learnt by BGP from
>
> a BGP peer. BGP may download it into RIB. The draft addresses the
>
> different outcome if BGP learns the route first from it peer or learns
>
> it first from the local RIB.
>
>
>
> Regards,
>
> Jakob.
>
>
>
> *From:* Idr <idr-bounces@ietf.org> *On Behalf Of * Gyan Mishra
> *Sent:* Thursday, July 1, 2021 6:18 PM
> *To:* Robert Raszuk <robert@raszuk.net>
> *Cc:* idr@ietf. org <idr@ietf.org>rg>; Jenny Yuan <jyuan@paloaltonetworks.com
> >
> *Subject:* Re: [Idr] draft-chen-bgp-redist-01.txt
>
>
>
>
>
> From a network design POV, in general within a an IP transit AS their is
> no need to redistribute BGP into IGP unless their are non BGP speaking
> routers within the network.
>
>
>
> As for sourcing routes into BGP advertisement from a customer edge best
> practice is to originate the advertisement as close to the source routers
> as possible, and if it’s a summary then use a network statement and if LPM
> routes are required then redistribution of IGP into BGP via policy is the
> best way but also as close to the source of the prefixes.
>
>
>
> From a core perspective IP or MPLS it is common to redistribute connected
> or IGP into BGP global table still separate from customer traffic in SP
> operator core where MPLS any-any VPN VRF is used to carry Internet traffic
> and in that case the NOC may sit in the Internet VRF and NMS systems need
> telemetry access back to the global table.
>
>
>
>
>
> Kind Regards
>
>
>
> Gyan
>
>
>
> On Thu, Jul 1, 2021 at 8:56 PM Gyan Mishra <hayabusagsm@gmail.com> wrote:
>
>
>
> Hi Enke
>
>
>
> I am still trying to understand the need for this draft.
>
>
>
>
>
> Their are two main methods to locally originate routes into BGP done at
> the customer edge which is via redistribution or network statement.  When
> you redistribute routes into BGP the origin flag is set to incomplete.
> When you use a network statement with exact match of prefix installed in
> the RIB, the route origin changes to IGP origin.   The pecking order for
> Orgin is EGP, IGP, Incomplete so if the routes is also advertised via
> network statement and redistribution by two different ASBR the best path
> selection will converge on the best path IGP origin via network statement
> over redistribution.  Maybe that is the intention of the draft to prefer
> incomplete over IGP origin and that can be set via policy as well so that
> both are equal so load balancing can occur.
>
>
>
> At the bottom of page 2 below is stated as the premise for this draft.
>
>
>
> Currently the admin-distance does not play any role in BGP route
>
> selection.
>
>
>
> I disagree.  Indeed AD plays an important role in redistribution or locally sourcing of prefixes into BGP advertisement.  All vendor implementations do this the same way and that is that only the lowest AD source
>
> Of a particular prefix is what is installed onto the RIB and FIB.  So when doing either a redistribution or using network statement exact match to source local routes into a BGP advertisement only the prefixes installed in the RIB that match exactly via network statement or if you have a redistribution policy matches the prefix and source protocol for the route being redistributed.
>
>
>
> Let’s say you have a redistributing OSPF into BGP however their is a static route exact match for the prefix you want to redistribute that matches your redistribution prefix list
>
> however as OSPF has AD 110 and static had AD 1 default and if you are trying to redistribute ospf into BGP the redistribution will not work since the RIB has the static route as the source for the prefix installed in the RIB.
>
>
>
> Example of how AD plays an important role in how redistribution can or may not occur properly due to AD of the protocol sourcing the prefix
>
> And the protocol being redistributed must match or the redistribution will fail.
>
>
>
> I have noticed one issue with both redistribution and network statement which is problematic is that the IGP metric is passed into BGP as MED which is higher in the BGP best path selection which can result in sub optimal routing.  The workaround is to reset MED to 0 with a policy.
>
>
>
>
>
> Kind Regards
>
>
>
> Gyan
>
>
>
> On Thu, Jul 1, 2021 at 8:23 PM Gyan Mishra <hayabusagsm@gmail.com> wrote:
>
>
>
> The main protocols are BGP, OSPF, ISIS, Static
>
>
>
> Juniper
>
>
>
>
> https://www.juniper.net/documentation/en_US/junose15.1/topics/task/configuration/ip-route-administrative-distance-configuration.html
>
>
>
> Route Source
>
> Default Distance
>
> Connected interface
>
> 0
>
> Static route
>
> 1
>
> Internal access route
>
> 2
>
> Access route
>
> 3
>
> External BGP
>
> 20
>
> OSPF
>
> 110
>
> IS-IS
>
> 115
>
> RIP
>
> 120
>
> Internal BGP
>
> 200
>
> Unknown
>
> 255
>
>
>
>
>
> Cisco
>
>
>
>
> https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/15986-admin-distance.html
>
>
>
>
>
> *Route Source*
>
> *Default Distance Values*
>
> Connected interface
>
> 0
>
> Static route
>
> 1
>
> Enhanced Interior Gateway Routing Protocol (EIGRP) summary route
>
> 5
>
> External Border Gateway Protocol (BGP)
>
> 20
>
> Internal EIGRP
>
> 90
>
> IGRP
>
> 100
>
> OSPF
>
> 110
>
> Intermediate System-to-Intermediate System (IS-IS)
>
> 115
>
> Routing Information Protocol (RIP)
>
> 120
>
> Exterior Gateway Protocol (EGP)
>
> 140
>
> On Demand Routing (ODR)
>
> 160
>
> External EIGRP
>
> 170
>
> Internal BGP
>
> 200
>
> Unknown*
>
> 255
>
>
>
>
>
>
>
> On Thu, Jul 1, 2021 at 2:54 PM Robert Raszuk <robert@raszuk.net> wrote:
>
> Gyan,
>
>
>
> > My understanding is by default most all implementations that I know of
> for example Cisco & Juniper which have use identical default AD
>
>
>
> Can you provide source(s) of your above information ?
>
>
>
> To the best of my knowledge they are quite different ...
>
>
>
> Cisco:
>
>
>
>
>
> Juniper:
>
>
>
>
>
> Except connected I do not see much of "identical default AD"
>
>
>
> And that is as the draft says especially important when your intention is
> to control active - backup paths for a given net.
>
>
>
> Thx,
> R.
>
>
>
>
>
> On Thu, Jul 1, 2021 at 8:02 PM Gyan Mishra <hayabusagsm@gmail.com> wrote:
>
>
>
> Hi Enke
>
>
>
> My understanding is by default most all implementations that I know of for
> example Cisco & Juniper which have use identical default AD, redistribution
> of the route only occurs from the source protocol that is being
> redistributed for example static versus OSPF or ISIS based on AD.
>
>
>
> So if you have multiple protocols redistribution into BGP, the source
> protocol with the lowest AD is what is inserted into the default RIB/FIB
> and its that specific route from the source protocol that is redistributed
> into BGP.   All implementations that I know of work that way.
>
>
>
> I don’t see any issue with deterministic redistribution as exists today
> with implementations.
>
>
>
> Normally you are only running one IGP but let’s say you are running OSPF
> and ISIS and you have a Juniper and Cisco ASBR redistribution into BGP, as
> OSPF has default AD 110, the OSPF prefix would be inserted into the Default
> RIB and redistributed into BGP.  Let’s say you set AD for ISIS down to 90
> and now the ISIS route is inserted into the RIB and now both Juniper and
> Cisco ASBR Will redistribute the ISIS route into BGP.
>
>
>
> I am not seeing the issue that you are trying to solve.
>
>
>
> Kind Regards
>
>
>
> Gyan
>
>
>
> On Wed, Jun 30, 2021 at 3:19 AM Enke Chen <enchen@paloaltonetworks.com>
> wrote:
>
> Hi, Robert:
>
>
>
> 1) Usually the default admin-distance is configurable. Having the same
> admin-distance across implementations would certainly make things simpler,
> but that is not required. What matters is the local_pref value for the
> redistribute backup route:
>
>
>
>             local_pref = default_local_pref - delta;
>
>
>
> It needs to be in the right order (relatively) for the "role" the route is
> supposed to play.
>
>
>
> It's a good question. We will try to clarify it in the next revision.
>
>
>
> 2) Certainly it would work if we define the "delta" (or "local_pref") for
> the redistributed route based on its role (e.g., primary, secondary,
> tertiary). But extra config would be needed for specifying the "role".  The
> algorithm described in the draft does not require additional config other
> than the existing "admin-distance".  When more than two paths are involved
> in a multi-vendor environment, the admin-distance needs to be carefully
> assigned in order to get the desired local_pref value.
>
>
>
> Thanks.   -- Enke
>
>
>
> On Tue, Jun 29, 2021 at 1:05 PM Robert Raszuk <robert@raszuk.net> wrote:
>
> Hi Enke,
>
>
>
> How do you assure that admin distance is the same or delta would be the
> same across implementations ?
>
>
>
> Looking at say junos I see quite different values then when comparing with
> other implementations ...
>
>
>
>
> https://www.juniper.net/documentation/en_US/junos/topics/reference/general/routing-protocols-default-route-preference-values.html
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.juniper.net_documentation_en-5FUS_junos_topics_reference_general_routing-2Dprotocols-2Ddefault-2Droute-2Dpreference-2Dvalues.html&d=DwMFaQ&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=OPLTTSu-451-QhDoSINhI2xYdwiMmfF5A2l8luvN11E&m=iUboWFiSpP9QvSDj9hoG8_DO7R_8EOQvfEHnwyX-mc0&s=GOhXjwEf1z0GAfIQVgVAc4sHvcAog6czTO30VhKwzQk&e=>
>
>
>
> Would it be simpler to define here verbatim what the local pref should be
> for redistributed routes ? Then at least those could be used as default
> local pref values unless overwritten by operator's policy during
> redistribution.
>
>
>
> Thx,
> Robert
>
>
>
>
>
> On Tue, Jun 29, 2021 at 7:14 PM Enke Chen <enchen@paloaltonetworks.com>
> wrote:
>
> Hi, Folks:
>
>
>
> Apologies for the very long delay in updating the draft:
>
>
>
>        https://datatracker.ietf.org/doc/draft-chen-bgp-redist/01/
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_draft-2Dchen-2Dbgp-2Dredist_01_&d=DwMFaQ&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=OPLTTSu-451-QhDoSINhI2xYdwiMmfF5A2l8luvN11E&m=iUboWFiSpP9QvSDj9hoG8_DO7R_8EOQvfEHnwyX-mc0&s=IBn3kTJmGrWISvSq8L3M9GLLamXIqw7t2PvEdtvhmos&e=>
>
>
>
> The issue still exists, and shows up from time to time. The revised
> version provides a complete solution that covers the use cases involving a
> single router as well as multiple routers in a network.
>
>
>
> Your review and comments are welcome.
>
>
>
> Thanks.   -- Enke
>
>
>
>
>
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_idr&d=DwMFaQ&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=OPLTTSu-451-QhDoSINhI2xYdwiMmfF5A2l8luvN11E&m=iUboWFiSpP9QvSDj9hoG8_DO7R_8EOQvfEHnwyX-mc0&s=O1wpTf7XmDmE4-mQGDJ9YNEx2UVZW-k1meY3fd-tQrE&e=>
>
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
>
> --
>
> <http://www.verizon.com/>
>
> *Gyan Mishra*
>
> *Network Solutions Architect *
>
> *Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*
>
> *M 301 502-1347*
>
>
>
> --
>
> <http://www.verizon.com/>
>
> *Gyan Mishra*
>
> *Network Solutions Architect *
>
> *Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*
>
> *M 301 502-1347*
>
>
>
> --
>
> <http://www.verizon.com/>
>
> *Gyan Mishra*
>
> *Network Solutions Architect *
>
> *Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*
>
> *M 301 502-1347*
>
>
>
> --
>
> <http://www.verizon.com/>
>
> *Gyan Mishra*
>
> *Network Solutions Architect *
>
> *Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*
>
> *M 301 502-1347*
>
>
>
-- 

<http://www.verizon.com/>

*Gyan Mishra*

*Network Solutions A**rchitect *

*Email gyan.s.mishra@verizon.com <gyan.s.mishra@verizon.com>*



*M 301 502-1347*