MCPcopy Index your code
hub / github.com/F-Stack/f-stack / lo_set_defaultaddr

Function lo_set_defaultaddr

lib/ff_freebsd_init.c:77–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75extern void uma_startup1(vm_offset_t);
76
77int lo_set_defaultaddr(void)
78{
79 struct in_aliasreq req;
80 char *addr="127.0.0.1";
81 char *netmask="255.0.0.0";
82 struct ifnet *ifp=NULL;
83 int ret;
84
85 IFNET_WLOCK();
86 CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link)
87 if ( (ifp->if_flags & IFF_LOOPBACK) != 0 )
88 break;
89 IFNET_WUNLOCK();
90
91 if(ifp == NULL)
92 return -1;
93
94 bzero(&req, sizeof req);
95 strcpy(req.ifra_name, ifp->if_xname);
96
97 struct sockaddr_in sa;
98 bzero(&sa, sizeof(sa));
99
100 sa.sin_len = sizeof(sa);
101 sa.sin_family = AF_INET;
102
103 inet_pton(AF_INET, addr, &sa.sin_addr.s_addr);
104 bcopy(&sa, &req.ifra_addr, sizeof(sa));
105
106 inet_pton(AF_INET, netmask, &sa.sin_addr.s_addr);
107 bcopy(&sa, &req.ifra_mask, sizeof(sa));
108
109 //sa.sin_addr.s_addr = sc->broadcast;
110 //bcopy(&sa, &req.ifra_broadaddr, sizeof(sa));
111
112 struct socket *so = NULL;
113 ret = socreate(AF_INET, &so, SOCK_DGRAM, 0, curthread->td_ucred, curthread);
114 if(ret != 0)
115 return ret;
116
117 ret = ifioctl(so, SIOCAIFADDR, (caddr_t)&req, curthread);
118 soclose(so);
119
120 return ret;
121}
122
123int
124ff_freebsd_init(void)

Callers 1

ff_freebsd_initFunction · 0.85

Calls 5

bzeroFunction · 0.85
inet_ptonFunction · 0.85
socreateFunction · 0.85
ifioctlFunction · 0.85
socloseFunction · 0.85

Tested by

no test coverage detected