View | Details | Raw Unified | Return to bug 22181
Collapse All | Expand All

(-)if_vlan.c (-2 / +4 lines)
Lines 118-125 Link Here
118
	sc = ifp->if_softc;
118
	sc = ifp->if_softc;
119
	ifp_p = sc->ifv_p;
119
	ifp_p = sc->ifv_p;
120
120
121
	sdl.sdl_len = ETHER_ADDR_LEN;
121
	bzero((char *)&sdl, sizeof sdl);
122
	sdl.sdl_len = sizeof sdl;
122
	sdl.sdl_family = AF_LINK;
123
	sdl.sdl_family = AF_LINK;
124
	sdl.sdl_alen = ETHER_ADDR_LEN;
123
125
124
	/* First, remove any existing filter entries. */
126
	/* First, remove any existing filter entries. */
125
	while(sc->vlan_mc_listhead.slh_first != NULL) {
127
	while(sc->vlan_mc_listhead.slh_first != NULL) {
Lines 137-143 Link Here
137
	    ifma != NULL;ifma = ifma->ifma_link.le_next) {
139
	    ifma != NULL;ifma = ifma->ifma_link.le_next) {
138
		if (ifma->ifma_addr->sa_family != AF_LINK)
140
		if (ifma->ifma_addr->sa_family != AF_LINK)
139
			continue;
141
			continue;
140
		mc = malloc(sizeof(struct vlan_mc_entry), M_DEVBUF, M_NOWAIT);
142
		mc = malloc(sizeof(struct vlan_mc_entry), M_DEVBUF, M_WAITOK);
141
		bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr),
143
		bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr),
142
		    (char *)&mc->mc_addr, ETHER_ADDR_LEN);
144
		    (char *)&mc->mc_addr, ETHER_ADDR_LEN);
143
		SLIST_INSERT_HEAD(&sc->vlan_mc_listhead, mc, mc_entries);
145
		SLIST_INSERT_HEAD(&sc->vlan_mc_listhead, mc, mc_entries);

Return to bug 22181