Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Oct 2001 11:15:36 -0700 (PDT)
From:      Luigi Rizzo <rizzo@aciri.org>
To:        mjacob@feral.com
Cc:        freebsd-net@FreeBSD.ORG
Subject:   Re: review of change to bridge.h
Message-ID:  <200110111815.f9BIFaT12658@iguana.aciri.org>
In-Reply-To: <20011011111056.R84793-100000@wonky.feral.com> from Matthew Jacob at "Oct 11, 2001 11:11:35 am"

next in thread | previous in thread | raw e-mail | index | archive | help
I guess it might be marginally more efficient to 
call bcmp() (and rely on it being optimized), or do 3
comparisons with unsigned short * 

> +#define      IS_ETHER_BROADCAST(a) ( \
> +     ((unsigned short *)(a))[0] == 0xffff && \
> +     ((unsigned short *)(a))[1] == 0xffff && \
> +     ((unsigned short *)(a))[2] == 0xffff)

Apart from this, have you actually tested bridging on
the alpha ? The purpose of the warning was also to
say "look, this code might not work on architectures
not supporting unaligned accesses, so you might need to
hack on the code yourself"

	cheers
	luigi

> Fix the silly warning:
> 
> Index: bridge.h
> ===================================================================
> RCS file: /home/ncvs/src/sys/net/bridge.h,v
> retrieving revision 1.8
> diff -u -r1.8 bridge.h
> --- bridge.h	2001/10/05 05:45:26	1.8
> +++ bridge.h	2001/10/11 18:11:51
> @@ -92,8 +92,17 @@
>  	*((unsigned int *)(a)) == 0xffffffff && \
>  	((unsigned short *)(a))[2] == 0xffff )
>  #else
> -#warning... must complete these for the alpha etc.
> +/*
> + * unaligned version
> + */
>  #define BDG_MATCH(a,b) (!bcmp(a, b, ETHER_ADDR_LEN) )
> +#define	IS_ETHER_BROADCAST(a) ( \
> +	((unsigned char *)(a))[0] == 0xff && \
> +	((unsigned char *)(a))[1] == 0xff && \
> +	((unsigned char *)(a))[2] == 0xff && \
> +	((unsigned char *)(a))[3] == 0xff && \
> +	((unsigned char *)(a))[4] == 0xff && \
> +	((unsigned char *)(a))[5] == 0xff)
>  #endif
>  /*
>   * The following constants are not legal ifnet pointers, and are used
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110111815.f9BIFaT12658>