Hi Raja,

Thanks a lot for taking out time to review the blueprint/spec. I am ok with 
your suggested approach. However just to explain the reasoning behind the 
approach of showing member links in "vif --list" I am providing few points 
below. Please go through these once and then if you still feel we should not 
display slave in "vif--list" then I will change the spec accordingly.


Secondly, I would like this change to be part of ongoing r4.1 of Opencontrail. 
Can you please let me know what is the deadline till which the changes are 
being accepted for r4.1. Is there some place where I can find the Opencontrail 
release schedule, in terms of cut-off dates for design, code commits etc. ?



Review comments

==========================


Comment:1

“Line 38: 0

Would prefer to not display this in "vif --list" output. The unique identifier 
of a member of a bond interface is its PCI id. We can add an option to vifdump 
(say "-p") that specifies this PCI id. So, the command would be something like 
"vifdump -i 0 -p 0004:00:00", where 0 is the vif index of the bond. vifdump can 
send this PCI id encoded as an integer using the "--pmd" option to "vif" 
command. This will allow vrouter to identify which member link to monitor (by 
searching for its PCI id in the list of devices). “


1. Although the user who created the bond-interface and added slaves to it 
knows the PCI-id of slave interfaces however once we have VRouter-DPDK running, 
if some other user needs to use vifdump utility then he may find it difficult 
to find those PCI-ids of member links because he will not be able to see it via 
either "ifconfig", "vif--list" or "lspci". Showing slaves/members in "vif 
--list" will be handy for a end-user


2. Comparing it with "ifconfig" and "tcpdump" for kernel interfaces, the bond 
as well as its members are visible as output of "ifconfig" command. So if we 
display slaves in "vif --list" output then it is aligned to "ifconfig" 
behaviour as well


3.  In case, you are apprehensive that the approach to show slaves in "vif 
--list" would be more complex and would require more code changes, then I would 
like to assure you that this is not the case. I have briefly explained the 
approach below. In fact the code changes have already been done and I would 
request you to please have a look


Code-changes: 
https://github.com/deepak-dt/contrail-vrouter/commit/38db2603e09f91a71571633d823b8bb47ace1755


    1. Show slave interfaces with their display name codifying the physical eth 
port, i.e. vif0/1/slave2

        (where, 1 is bond vif-id while 2 is eth-port of slave interface)


    2. User will use this name "vif0/1/slave2" to start monitoring for the 
slave, i.e.

        - vifdump -i vif0/1/slave2 [tcpdump_arguments]


    3. vifdump will send following command to vif :-

        - sudo vif --add mon1/slave2 --type monitoring  --vif 1 --id 4351 
>/dev/null


    4. vif will send "vif_name" as "mon1/slave2" to vrouter



    5. Based on the substring "slave" in "vif_name", vrouter 
(vr_dpdk_interface.c) will get the slave's eth-port from it.


Comment:2

“We might need some change in vifdump to allow monitoring of multiple members 
of a bond simultaneously (see generation of MON_VIF_ID).”



In current implementation ‘vifdump’ generates the MON_VIF_ID in following way—

-        Initialize MON_VIF_ID from the other side of interface-id range, i.e.



MON_VIF_ID=$((${VR_MAX_INTERFACES} - ${MON_IF_ID} - 1))



Where,

       a.      #define VR_MAX_INTERFACES           (256 + 4096)

       b.      MON_IF_ID = VIF_ID of monitored interface; if slave is being 
monitored this will have VIF_ID of bond



-        From this starting value of MON_VIF_ID, it then keeps on traversing in 
reverse direction (subtracting 1 each time) until it finds a free VIF_ID



In my view, this existing approach should work even in our case as well? For 
ex. if [Mon_vif_id=X] is being used for slave-1 then for slave-2 it will select 
[mon_vif_id=X-1] ? Is my understanding correct or am I missing something here?



Br, Deepak



From: Rajagopalan Sivaramakrishnan [mailto:r...@juniper.net]
Sent: 11 April 2017 07:13
To: Deepak Tiwari <deepak.tiw...@aricent.com>; dev@lists.opencontrail.org
Subject: Re: [opencontrail-dev] Contrailen 171 - vrouter vifdump mirroring 
enhancement for bond-slave-links



Hi Deepak,

    I have updated the review with comments. Please take a look and we can 
discuss further if required.



Raja



From: Deepak Tiwari 
<deepak.tiw...@aricent.com<mailto:deepak.tiw...@aricent.com>>
Date: Sunday, April 9, 2017 at 11:26 PM
To: Rajagopalan Sivaramakrishnan <r...@juniper.net<mailto:r...@juniper.net>>, 
"dev@lists.opencontrail.org<mailto:dev@lists.opencontrail.org>" 
<dev@lists.opencontrail.org<mailto:dev@lists.opencontrail.org>>
Subject: RE: [opencontrail-dev] Contrailen 171 - vrouter vifdump mirroring 
enhancement for bond-slave-links



Hi Raja,



Were you able to review the blueprint and specs last week.

Please share the comments, we’ll incorporate those and float the updated version



Br, Deepak



From: Rajagopalan Sivaramakrishnan [mailto:r...@juniper.net]
Sent: 06 April 2017 11:08
To: Deepak Tiwari 
<deepak.tiw...@aricent.com<mailto:deepak.tiw...@aricent.com>>; 
dev@lists.opencontrail.org<mailto:dev@lists.opencontrail.org>
Subject: Re: [opencontrail-dev] Contrailen 171 - vrouter vifdump mirroring 
enhancement for bond-slave-links



Hi Deepak,

    Thank you for the blueprint. It is a good proposal. I have some comments 
and will post them on the review this week.



Raja



From: Dev 
<dev-boun...@lists.opencontrail.org<mailto:dev-boun...@lists.opencontrail.org>> 
on behalf of Deepak Tiwari 
<deepak.tiw...@aricent.com<mailto:deepak.tiw...@aricent.com>>
Date: Tuesday, April 4, 2017 at 1:08 AM
To: "dev@lists.opencontrail.org<mailto:dev@lists.opencontrail.org>" 
<dev@lists.opencontrail.org<mailto:dev@lists.opencontrail.org>>
Subject: [opencontrail-dev] Contrailen 171 - vrouter vifdump mirroring 
enhancement for bond-slave-links



Hello All,



We have submitted a blueprint to enhance the ‘vifdump’ utility to be able to 
also capture the slave interfaces of a bond interface. Following are the spec 
details for the problem we are attempting to solve and the proposed solution.

Please review the same and provide your valuable feedback



Problem statement: The Kernel level tools, like tcpdump, do not work when 
vRouter is deployed in DPDK mode, since the Linux network stack is bypassed. 
There exist already a tcpdump like command (i.e. vifdump), which works on the 
bond interface but it can’t be used to monitor its slave/member interfaces; so 
there is no way to debug each slave individually.”



Launchpad Blueprint: 
https://blueprints.launchpad.net/opencontrail/+spec/contrailen-171-vrouter-vifdump-mirroring-for-bond-slaves



Bug #1679466: Tracking vRouter changes for Contrailen 171 - vrouter vifdump 
mirroring enhancement for bond-slave-links

https://bugs.launchpad.net/opencontrail/+bug/1679466



Spec: https://review.opencontrail.org/30107



Br, Deepak



"DISCLAIMER: This message is proprietary to Aricent and is intended solely for 
the use of the individual to whom it is addressed. It may contain privileged or 
confidential information and should not be circulated or used for any purpose 
other than for what it is intended. If you have received this message in error, 
please notify the originator immediately. If you are not the intended 
recipient, you are notified that you are strictly prohibited from using, 
copying, altering, or disclosing the contents of this message. Aricent accepts 
no responsibility for loss or damage arising from the use of the information 
transmitted by this email including damage from virus."

"DISCLAIMER: This message is proprietary to Aricent and is intended solely for 
the use of the individual to whom it is addressed. It may contain privileged or 
confidential information and should not be circulated or used for any purpose 
other than for what it is intended. If you have received this message in error, 
please notify the originator immediately. If you are not the intended 
recipient, you are notified that you are strictly prohibited from using, 
copying, altering, or disclosing the contents of this message. Aricent accepts 
no responsibility for loss or damage arising from the use of the information 
transmitted by this email including damage from virus."

"DISCLAIMER: This message is proprietary to Aricent and is intended solely for 
the use of the individual to whom it is addressed. It may contain privileged or 
confidential information and should not be circulated or used for any purpose 
other than for what it is intended. If you have received this message in error, 
please notify the originator immediately. If you are not the intended 
recipient, you are notified that you are strictly prohibited from using, 
copying, altering, or disclosing the contents of this message. Aricent accepts 
no responsibility for loss or damage arising from the use of the information 
transmitted by this email including damage from virus."
_______________________________________________
Dev mailing list
Dev@lists.opencontrail.org
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

Reply via email to