Changeset a35b458 in mainline for uspace/srv/net/ethip/ethip.c
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/ethip/ethip.c
r3061bc1 ra35b458 80 80 { 81 81 async_set_fallback_port_handler(ethip_client_conn, NULL); 82 82 83 83 errno_t rc = loc_server_register(NAME); 84 84 if (rc != EOK) { … … 86 86 return rc; 87 87 } 88 88 89 89 rc = ethip_nic_discovery_start(); 90 90 if (rc != EOK) 91 91 return rc; 92 92 93 93 return EOK; 94 94 } … … 173 173 { 174 174 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_send()"); 175 175 176 176 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 177 177 eth_frame_t frame; 178 178 179 179 errno_t rc = arp_translate(nic, sdu->src, sdu->dest, frame.dest); 180 180 if (rc != EOK) { … … 183 183 return rc; 184 184 } 185 185 186 186 addr48(nic->mac_addr, frame.src); 187 187 frame.etype_len = ETYPE_IP; 188 188 frame.data = sdu->data; 189 189 frame.size = sdu->size; 190 190 191 191 void *data; 192 192 size_t size; … … 194 194 if (rc != EOK) 195 195 return rc; 196 196 197 197 rc = ethip_nic_send(nic, data, size); 198 198 free(data); 199 199 200 200 return rc; 201 201 } … … 204 204 { 205 205 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_send6()"); 206 206 207 207 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 208 208 eth_frame_t frame; 209 209 210 210 addr48(sdu->dest, frame.dest); 211 211 addr48(nic->mac_addr, frame.src); … … 213 213 frame.data = sdu->data; 214 214 frame.size = sdu->size; 215 215 216 216 void *data; 217 217 size_t size; … … 219 219 if (rc != EOK) 220 220 return rc; 221 221 222 222 rc = ethip_nic_send(nic, data, size); 223 223 free(data); 224 224 225 225 return rc; 226 226 } … … 230 230 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_received(): srv=%p", srv); 231 231 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 232 232 233 233 log_msg(LOG_DEFAULT, LVL_DEBUG, " - eth_pdu_decode"); 234 234 235 235 eth_frame_t frame; 236 236 errno_t rc = eth_pdu_decode(data, size, &frame); … … 239 239 return rc; 240 240 } 241 241 242 242 iplink_recv_sdu_t sdu; 243 243 244 244 switch (frame.etype_len) { 245 245 case ETYPE_ARP: … … 264 264 frame.etype_len); 265 265 } 266 266 267 267 free(frame.data); 268 268 return rc; … … 279 279 { 280 280 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_get_mac48()"); 281 281 282 282 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 283 283 addr48(nic->mac_addr, *mac); 284 284 285 285 return EOK; 286 286 } … … 289 289 { 290 290 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_set_mac48()"); 291 291 292 292 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 293 293 addr48(*mac, nic->mac_addr); 294 294 295 295 return EOK; 296 296 } … … 299 299 { 300 300 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 301 301 302 302 return ethip_nic_addr_add(nic, addr); 303 303 } … … 306 306 { 307 307 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 308 308 309 309 return ethip_nic_addr_remove(nic, addr); 310 310 }
Note:
See TracChangeset
for help on using the changeset viewer.