if_ixgb.c (148637) | if_ixgb.c (148654) |
---|---|
1/******************************************************************************* 2 3Copyright (c) 2001-2004, Intel Corporation 4All rights reserved. 5 6Redistribution and use in source and binary forms, with or without 7modification, are permitted provided that the following conditions are met: 8 --- 17 unchanged lines hidden (view full) --- 26SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30POSSIBILITY OF SUCH DAMAGE. 31 32***************************************************************************/ 33 | 1/******************************************************************************* 2 3Copyright (c) 2001-2004, Intel Corporation 4All rights reserved. 5 6Redistribution and use in source and binary forms, with or without 7modification, are permitted provided that the following conditions are met: 8 --- 17 unchanged lines hidden (view full) --- 26SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30POSSIBILITY OF SUCH DAMAGE. 31 32***************************************************************************/ 33 |
34/*$FreeBSD: head/sys/dev/ixgb/if_ixgb.c 148637 2005-08-02 09:27:42Z brueffer $*/ | 34/*$FreeBSD: head/sys/dev/ixgb/if_ixgb.c 148654 2005-08-03 00:18:35Z rwatson $*/ |
35 36#include <dev/ixgb/if_ixgb.h> 37 38/********************************************************************* 39 * Set this to one to display debug statistics 40 *********************************************************************/ 41int ixgb_display_debug_stats = 0; 42 --- 1023 unchanged lines hidden (view full) --- 1066 u_int32_t reg_rctl = 0; 1067 u_int8_t mta[MAX_NUM_MULTICAST_ADDRESSES * IXGB_ETH_LENGTH_OF_ADDRESS]; 1068 struct ifmultiaddr *ifma; 1069 int mcnt = 0; 1070 struct ifnet *ifp = adapter->ifp; 1071 1072 IOCTL_DEBUGOUT("ixgb_set_multi: begin"); 1073 | 35 36#include <dev/ixgb/if_ixgb.h> 37 38/********************************************************************* 39 * Set this to one to display debug statistics 40 *********************************************************************/ 41int ixgb_display_debug_stats = 0; 42 --- 1023 unchanged lines hidden (view full) --- 1066 u_int32_t reg_rctl = 0; 1067 u_int8_t mta[MAX_NUM_MULTICAST_ADDRESSES * IXGB_ETH_LENGTH_OF_ADDRESS]; 1068 struct ifmultiaddr *ifma; 1069 int mcnt = 0; 1070 struct ifnet *ifp = adapter->ifp; 1071 1072 IOCTL_DEBUGOUT("ixgb_set_multi: begin"); 1073 |
1074 IF_ADDR_LOCK(ifp); |
|
1074#if __FreeBSD_version < 500000 1075 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { 1076#else 1077 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { 1078#endif 1079 if (ifma->ifma_addr->sa_family != AF_LINK) 1080 continue; 1081 1082 bcopy(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), 1083 &mta[mcnt * IXGB_ETH_LENGTH_OF_ADDRESS], IXGB_ETH_LENGTH_OF_ADDRESS); 1084 mcnt++; 1085 } | 1075#if __FreeBSD_version < 500000 1076 LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { 1077#else 1078 TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { 1079#endif 1080 if (ifma->ifma_addr->sa_family != AF_LINK) 1081 continue; 1082 1083 bcopy(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), 1084 &mta[mcnt * IXGB_ETH_LENGTH_OF_ADDRESS], IXGB_ETH_LENGTH_OF_ADDRESS); 1085 mcnt++; 1086 } |
1087 IF_ADDR_UNLOCK(ifp); |
|
1086 1087 if (mcnt > MAX_NUM_MULTICAST_ADDRESSES) { 1088 reg_rctl = IXGB_READ_REG(&adapter->hw, RCTL); 1089 reg_rctl |= IXGB_RCTL_MPE; 1090 IXGB_WRITE_REG(&adapter->hw, RCTL, reg_rctl); 1091 } else 1092 ixgb_mc_addr_list_update(&adapter->hw, mta, mcnt, 0); 1093 --- 1408 unchanged lines hidden --- | 1088 1089 if (mcnt > MAX_NUM_MULTICAST_ADDRESSES) { 1090 reg_rctl = IXGB_READ_REG(&adapter->hw, RCTL); 1091 reg_rctl |= IXGB_RCTL_MPE; 1092 IXGB_WRITE_REG(&adapter->hw, RCTL, reg_rctl); 1093 } else 1094 ixgb_mc_addr_list_update(&adapter->hw, mta, mcnt, 0); 1095 --- 1408 unchanged lines hidden --- |