Lines Matching +full:software +full:- +full:dl
2 * sys-bsd.c - System-dependent procedures for setting up
3 * PPP interfaces on bsd-4.4-ish systems (including 386BSD, NetBSD, etc.)
5 * SPDX-License-Identifier: BSD-1-Clause
14 * distribution and use acknowledge that the software was developed
17 * from this software without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
78 * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
90 * arp_SetProxy - Make a proxy ARP entry for the peer.
124 arpmsg.hdr.rtm_seq = ++bundle->routing_seq;
131 arpmsg.hdr.rtm_msglen = (char *) &arpmsg.hwa - (char *) &arpmsg
153 * arp_ClearProxy - Delete the proxy ARP entry for the peer.
164 * arp_SetProxy - Make a proxy ARP entry for the peer.
190 ((struct sockaddr_in *)&arpreq.arp_pa)->sin_addr.s_addr = addr.s_addr;
201 * arp_ClearProxy - Delete the proxy ARP entry for the peer.
210 ((struct sockaddr_in *)&arpreq.arp_pa)->sin_addr.s_addr = addr.s_addr;
223 * arp_EtherAddr - get the hardware address of an interface on the
236 struct sockaddr_dl *dl;
264 if (ifm->ifm_type != RTM_IFINFO)
266 dl = (struct sockaddr_dl *)(ifm + 1); /* Single _dl at end */
267 skip = (ifm->ifm_flags & (IFF_UP | IFF_BROADCAST | IFF_POINTOPOINT |
269 ptr += ifm->ifm_msglen; /* First ifa_msghdr */
272 if (ifam->ifam_type != RTM_NEWADDR) /* finished ? */
274 ptr += ifam->ifam_msglen;
275 if (skip || (ifam->ifam_addrs & (RTA_NETMASK|RTA_IFA)) !=
280 ptr == (char *)ifm + ifm->ifm_msglen + ifam->ifam_msglen)
282 dl->sdl_nlen, dl->sdl_data);
286 if (sa[RTAX_IFA]->sa_family == AF_INET) {
295 strncpy(a, inet_ntoa(netmask->sin_addr), sizeof a - 1);
296 a[sizeof a - 1] = '\0';
298 inet_ntoa(ifa->sin_addr), a);
301 if ((ifa->sin_addr.s_addr & netmask->sin_addr.s_addr) ==
302 (ipaddr.s_addr & netmask->sin_addr.s_addr)) {
304 "Found interface %.*s for %s\n", dl->sdl_nlen,
305 dl->sdl_data, inet_ntoa(ipaddr));
306 memcpy(hwaddr, dl, dl->sdl_len);