Open-FCoE Second Re-Architecture Status

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everybody,

	We're continuing to change the Open-FCoE code to better fit into
the kernel. We've made some more significant progress. I'd say the theme
of this update is code removal. Since we started the re-architecture
we've removed 4,205 lines of code.


	The major changes we've made since the last update are-

1) Removal of all ioctl()s
	- ioctl()s to the previously named openfc and fcoe modules have
been completely removed.
	- echo "ethX" > /sys/module/fcoe/create 
		Creates a fcoe instance for that device and starts
fabric login.
	- echo "ethX" > /sys/module/fcoe/destroy
		Removes the fcoe instance
	- fcconf userspace application no longer works at all
	- Attributes to scsi_host will be needed to re-enable this
application, but those changes are a lower priority than the overall
re-architecture.

2) Consolidation of fc_remote_port and fc_sess.
	- fc_sess has been removed and the fc_lport now just has a list
of fc_remote_ports.
	- This is a step towards use of the fc_rport provided by
scsi_transport_fc.

3) Removal of all events.
	- Previously had events queued and various listeners who would
drive state changes. It was all unnecessary and a bit too complicated.
Now all calls are direct.
	- This was a large reduction in code size.

4) Use of our new Exchange Manager (EM) API.
	- Previously we had added the new API; now we're mostly using
it.
	- There are a few areas in the code have not converted to the
new API and that work is underway.

5) Removal of CRC32 Slice-by-8 Algorithm.
	- This is an alternative CRC32 calculation method that uses a
larger polynomial table and is faster. 
	- We believe that we will need this algorithm for performance,
but have decided to make that change later after the basic libfc/FCoE
code is accepted into the kernel.

6) Userspace/Kernel Reduction.
	- Removal of /sys/class/openfc attributes
	- Removal of events from kernel to userspace

7) Caught up with the kernel.
	- Rebased to 2.6.26 scsi-rc-fixes tree.
	- Made necessary changes to remove device classes.


	Kernel code URL-

git://open-fcoe.org/rearch/open-fcoe-upstream


	Things to keep in mind if viewing the code-

1) The code is a bit sloppy. We're focusing on the heavy lifting and a
polish phase will be needed later.

2) We've broken the code. The goal is to never put patches in that break
the tree, but we've broken it once or twice inadvertently, so if you
pull and test the tree, please keep that in mind.

3) We're mostly testing against a FC fabric and aren't focusing on the
SW target. In fact, we now know there is a bug in the initiator that
causes problems in P2P connections.

4) fcconf is replaced with /sys/module/fcoe/create and
/sys/module/fcoe/destroy.

	After we're happy with our re-architecture, we'll roll all of
the contributions into one big patch and apply it to our primary
development tree on www.Open-FCoE.org.

	As per usual, any comments are welcome.

Thanks,

//Rob, Vasu, Chris, Steve, Yi
Open-FCoE
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux