Hi Li, Thanks for comments.
Benjamin Li wrote: >> 2. Use set_net_config callback to configure SNIC using vendor provided >> library. >> 3. Do the necessary code changes in various module to integrate the >> whole functionality without need of any extra user space daemon. >> 4. Get rid of ISCSI_NL_GRP_UIP netlink message and use >> ISCSI_NL_GRP_ISCSID instead. Move the netlink processing in nic_nl.c >> into netlink. > > Correct, it is safe to remove ISCSI_NL_GRP_UIP because we could then > rely on ISCSI_NL_GRP_ISCSID instead. netlink.c::ctldev_handle() would > need to be modified to handle 'ISCSI_KEVENT_PATH_REQ' and > 'ISCSI_KEVENT_IF_DOWN' I have already modified netlink.c::ctldev_handle() to acknowledge these messages and provided a wrapper nic_nl.c::nic_process_iscsi_kevent_req() to do further processing, but it need to be cleaned more. > > Could you also send all the .git directory containing all the metadata? > This way I can see all the commits that you have made to your tree? No problem, will do that. >> B. Extend iface files to include following options >> "iface.nic_lib = vendor_lib.so" >> "iface.nic_dev = /dev/uioX" >> "iface.nic_args = additional SNIC specific args" >> > > Could we remove the option 'iface.nic_dev = /dev/uioX'? The option > 'iface.net_ifacename' should be enough to determine the uio char path. > 'iface.net_ifacename' will tell iscsid what network interface to use. > Then iscsid could scan all the entries /sys/class/uio/uio*/device/ for > the file entry net:<net_ifacename>. If there is a filename match then > iscsid has found the correct uio char path used to open the uio device. > This should simplify the configuration file or prevent conflicts with > the 'iface.net_ifacename' parameter. Yep that will be fine. >> D. I have introduced new directory offload under open-iscsi for >> following purposes. >> >> open-iscsi-head/offload >> open-iscsi-head/offload/vendor_lib => holds vendor specfic UIO library >> open-iscsi-head/offload/niclib => holds generic nic module >> open-iscsi-head/offload/uip => the uIP stack module >> open-iscsi-head/offload/uip/apps => holds various uip based module to >> provide dhcp and other functionality. >> > > Should these directories be placed under the 'usr' directory since they > will be linked with iscsid? I don't have preference over this, I used the initial layout because it seems more clean to me. But yep related code is going to be linked with iscsid anyway. Going through the cnic lib I found that to serve the iscsi_path_req, there is cnic_nl.c::cnic_arp_send, IMHO wouldn't it be more nice to have ARPOP handling in uip, which in turn can queue the packet for TX through nic indirection ? Regards Rakesh Ranjan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "open-iscsi" group. To post to this group, send email to firstname.lastname@example.org To unsubscribe from this group, send email to open-iscsi+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/open-iscsi -~----------~----~----~----~------~----~------~--~---