Hi Sathish,

I followed your point that Application should be able to setup the ASIC to punt 
the packet routed towar the unresolved
Adj to CPU.  Then Application should be able to call SDK of any vendor to get a 
unique Adj that will do what you design.

So those FIB using such ADJ will redirect packet to CPU so that SW will send 
ARP out,  also once ARP resolved,  Application
Can do inline modification of that ADJ with new valid rewrite information.

I didn’t see SAI provide such API so that Application can do such thing.  
Because in this case, Application has no next_hop_ip at
All to call SDK to allocate next_hop ADJ for that FIB.

Also consider ECMP case also requires such API as well.  Hence, Yes, I am 
proposing new API if I didn’t miss it.

Thanks,

Andrew

From: sathish_kumar_tha...@dell.com [mailto:sathish_kumar_tha...@dell.com]
Sent: Wednesday, June 03, 2015 1:47 AM
To: Andrew Qu; l...@barefootnetworks.com; 
opencompute-networking@lists.opencompute.org
Subject: RE: [Opencompute-networking] SAI Next Hop functionality description

Hi Andrew,

Thanks for sharing your views.

Just to clarify, I am not mentioning to have a new SAI API/attribute in the 
reply to lj.
My point is, SAI will setup the ASIC to punt packets routed towards unresolved 
adjacency to CPU and application can take the action needed (like ARP 
resolution, drop etc). Application can create the neighbor entry to be 
installed in ASIC as needed.

Are you proposing that we need a new API/attribute in SAI for the two cases you 
have mentioned below?

For the ECMP route case, unresolved paths will not be included in the ECMP 
group and packets for the destination route will be routed towards the active 
next hop paths, as you mentioned.
Only when packets destined to the unresolved nexthop's address are routed, the 
packets will be punted to CPU based on the on-link route for the local 
interface subnet. Alternatively, application can create the neighbor entry with 
TRAP packet-action for the resolving the unresolved nexthop address. Please let 
me know if this is fine.

Regards,
Sathish

From: Andrew Qu [mailto:andrew...@mediatek.com]
Sent: Wednesday, June 03, 2015 12:22 PM
To: Thanne, Sathish Kumar; l...@barefootnetworks.com; 
opencompute-networking@lists.opencompute.org
Subject: RE: [Opencompute-networking] SAI Next Hop functionality description

Hi Sathish,

I agree with your point to let application to allocate adjacency for the case 
you metioned.
Also there may be ASIC that HOST/FIB/ adjacency including statistics counter 
index, so
In this case, if multiple FIB share the same adjacency, but application want to 
attach stats counter
To one of the FIB, so we can use separate ADJ for such fib and let the rest to 
share.
In this case,  Using interface and next hop will not be able to let Application 
to uniquely allocate
A HW ADJ.

Also there is a case where an IP FIB has ECMP path, but one of the PATH is not 
reaolved.
So Application need also specifically allocate a ADJ which will punt packet to 
CPU to trigger
ARP, without this approach, the unresolved path may *never* get resolved because
HW will always forward packet out if we don’t force the unresolved ADJ (punting 
ADJ)
Into the HW ECMP path.

So pretty much letting user to allocate HW ADJ and providing such API is 
mandatory.

Thanks,

Andrew

From: 
opencompute-networking-boun...@lists.opencompute.org<mailto:opencompute-networking-boun...@lists.opencompute.org>
 [mailto:opencompute-networking-boun...@lists.opencompute.org] On Behalf Of 
sathish_kumar_tha...@dell.com<mailto:sathish_kumar_tha...@dell.com>
Sent: Tuesday, June 02, 2015 10:47 PM
To: l...@barefootnetworks.com<mailto:l...@barefootnetworks.com>; 
opencompute-networking@lists.opencompute.org<mailto:opencompute-networking@lists.opencompute.org>
Subject: Re: [Opencompute-networking] SAI Next Hop functionality description


Dell - Internal Use - Confidential
Hello lj,

Regarding the second part you have mentioned about keeping the ARP resolution 
event configurable:

I think the configuration should be applicable to the control-plane (ARP/IP 
Stack) application that triggers the ARP requests.

From SAI perspective, the ASIC should be setup to forward the packets based on 
the route or neighbor entry always. In this case, the routes pointing to an 
unresolved next-hop, will be expected to trap the packets to CPU for different 
control-plane needs - like, to trigger ARP resolution in control-plane (if 
configured as you pointed out) or to generate a standard ICMP error message 
(type 3, 5 etc) if the ARP resolution fails etc.

Additionally, control-plane may create the neighbor entry with packet_action 
attribute set to DROP for the destination address in the current model. When 
ARP resolution fails (even after maximum retries), application could set the 
neighbor attribute which will be effective for all the routes pointing to the 
nexthop. This can be used for the security purpose to black-hole traffic for an 
unresponsive/insecure nexthop in the ASIC.

Please let me know if this is fine.

Regards,
Sathish

From: LJ Wobker [mailto:l...@barefootnetworks.com]
Sent: Monday, June 01, 2015 11:14 PM
To: Thanne, Sathish Kumar; 
opencompute-networking@lists.opencompute.org<mailto:opencompute-networking@lists.opencompute.org>
Subject: RE: [Opencompute-networking] SAI Next Hop functionality description

Agree that these should not be tightly coupled.  There are use cases (mostly 
esoteric ones, but use cases still the same) where you want to have a 
destination nexthop pointed to an interface without necessarily having a 
resolved adjacency.

There should most definitely be a mechanism to have a packet to an unresolved 
adjacency trigger an ARP resolution event, but ideally this should be 
configurable as there may be cases (specific security models, etc) where the 
user specifically does NOT want a packet to an unresolved address to trigger an 
ARP event.


--lj





From: 
opencompute-networking-boun...@lists.opencompute.org<mailto:opencompute-networking-boun...@lists.opencompute.org>
 
[mailto:opencompute-networking-boun...@lists.opencompute.org<mailto:opencompute-networking-boun...@lists.opencompute.org>]
 On Behalf Of 
sathish_kumar_tha...@dell.com<mailto:sathish_kumar_tha...@dell.com>
Sent: Monday, June 01, 2015 6:22 AM
To: 
opencompute-networking@lists.opencompute.org<mailto:opencompute-networking@lists.opencompute.org>
Subject: [Opencompute-networking] SAI Next Hop functionality description


Dell - Internal Use - Confidential
Hi,

This is to discuss on the below point documented in the SAI spec for SAI Next 
Hop functionality:
"The user needs to create an IP neighbor before it creates an IP next hop. The 
sai associates them using the router interface ID and the IP address."

I think there should not be a restriction that user needs to create the nexthop 
in SAI only after the neighbor entry is learnt/known. The nexthop and neighbor 
entry can be created from different applications and SAI implementation needs 
to associate them anyway for programming the routes. So, there need not be a 
dependency in the order of programming the entries in SAI.

Additionally, when the nexthop is not ARP/neighbor resolved, the nexthop can be 
made to trap packet to CPU to enable ARP/neighbor resolution in the 
control-plane. This can be useful in a static route nexthop configuration and 
the neighbor can still be resolved dynamically when packets are routed to the 
nexthop. After the neighbor entry is learnt and created, SAI implementation can 
either update the nexthop object or update the route pointing to the nexthop 
object based on the support in ASIC.

To summarize, should SAI let the user to create nexthop and neighbor entries 
independently and associate them internally?
Also, should SAI implementation enable ARP/neighbor resolution when forwarding 
packets towards an unresolved nexthop?

Please let me know your comments/questions.

Regards,
Sathish

************* Email Confidentiality Notice ********************

The information contained in this e-mail message (including any

attachments) may be confidential, proprietary, privileged, or otherwise

exempt from disclosure under applicable laws. It is intended to be

conveyed only to the designated recipient(s). Any use, dissemination,

distribution, printing, retaining or copying of this e-mail (including its

attachments) by unintended recipient(s) is strictly prohibited and may

be unlawful. If you are not an intended recipient of this e-mail, or believe

that you have received this e-mail in error, please notify the sender

immediately (by replying to this e-mail), delete any and all copies of

this e-mail (including any attachments) from your system, and do not

disclose the content of this e-mail to any other person. Thank you!


_______________________________________________
opencompute-networking mailing list
Unsubscribe: http://lists.opencompute.org/mailman/options/opencompute-networking

opencompute-networking@lists.opencompute.org
http://lists.opencompute.org/mailman/listinfo/opencompute-networking

Reply via email to