On Wed, Jan 07, 2009 at 10:15:49PM -0800, Eric Cheng wrote: > On Thu, Jan 08, 2009 at 12:07:11AM -0500, Sebastien Roy wrote: > > I'm in the process of doing the Clearview iptun and Crossbow merge, and > > one problem I'm having is that mac_datapath_setup() fails in > > mac_flow_add() -> flow_l2_accept_fe() which contains the following: > > > > if (i == fd->fd_mac_len || fd->fd_mac_len < ETHERADDRL) > > return (EINVAL); > > > > IPv4 tunnel "MAC" addresses are 4 bytes, and so this doesn't work. What > > is the intent of this code? How can this be made to work for MAC > > drivers with addresses < 6 bytes? > > the intention was to check if the mac len is a sane value and we > overlooked the < 6 bytes case. > I think you can safely change this check to "fd->fd_mac_len != 0" as > there's no code that assumes the mac len must be >= 6. >
sorry, I meant "fd->fd_mac_len == 0". eric
