Page MenuHomeFreeBSD

D46016.id141071.diff
No OneTemporary

D46016.id141071.diff

diff --git a/sys/net/if.c b/sys/net/if.c
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1037,12 +1037,10 @@
#ifdef INET
/* XXX: Ugly!! ad hoc just for INET */
if (ifa->ifa_addr->sa_family == AF_INET) {
- struct ifaliasreq ifr;
+ struct ifreq ifr;
bzero(&ifr, sizeof(ifr));
- ifr.ifra_addr = *ifa->ifa_addr;
- if (ifa->ifa_dstaddr)
- ifr.ifra_broadaddr = *ifa->ifa_dstaddr;
+ ifr.ifr_addr = *ifa->ifa_addr;
if (in_control(NULL, SIOCDIFADDR, (caddr_t)&ifr, ifp,
NULL) == 0)
continue;
diff --git a/sys/netinet/in.c b/sys/netinet/in.c
--- a/sys/netinet/in.c
+++ b/sys/netinet/in.c
@@ -1222,7 +1222,7 @@
{
struct ifnet *ifp;
struct ifaddr *ifa, *nifa;
- struct ifaliasreq ifr;
+ struct ifreq ifr;
IFNET_RLOCK();
CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) {
@@ -1237,9 +1237,7 @@
* cleanly remove addresses and everything attached.
*/
bzero(&ifr, sizeof(ifr));
- ifr.ifra_addr = *ifa->ifa_addr;
- if (ifa->ifa_dstaddr)
- ifr.ifra_broadaddr = *ifa->ifa_dstaddr;
+ ifr.ifr_addr = *ifa->ifa_addr;
(void)in_control(NULL, SIOCDIFADDR, (caddr_t)&ifr,
ifp, NULL);
}
diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c
--- a/sys/netlink/route/iface.c
+++ b/sys/netlink/route/iface.c
@@ -1194,17 +1194,17 @@
handle_deladdr_inet(struct nlmsghdr *hdr, struct nl_parsed_ifa *attrs,
if_t ifp, struct nlpcb *nlp, struct nl_pstate *npt)
{
- struct sockaddr_in *addr = (struct sockaddr_in *)attrs->ifa_local;
+ struct sockaddr *addr = attrs->ifa_local;
if (addr == NULL)
- addr = (struct sockaddr_in *)attrs->ifa_address;
+ addr = attrs->ifa_address;
if (addr == NULL) {
nlmsg_report_err_msg(npt, "empty IFA_ADDRESS/IFA_LOCAL");
return (EINVAL);
}
- struct ifreq req = { .ifr_addr = *(struct sockaddr *)addr };
+ struct ifreq req = { .ifr_addr = *addr };
return (in_control_ioctl(SIOCDIFADDR, &req, ifp, nlp_get_cred(nlp)));
}

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 13, 2:47 AM (17 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29605846
Default Alt Text
D46016.id141071.diff (1 KB)

Event Timeline