Changes in uspace/srv/net/ethip/ethip.c [fafb8e5:4c6fd56] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/ethip/ethip.c
rfafb8e5 r4c6fd56 1 1 /* 2 * Copyright (c) 20 12Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 39 39 #include <async.h> 40 40 #include <errno.h> 41 #include <inet/eth_addr.h> 41 42 #include <inet/iplink_srv.h> 42 43 #include <io/log.h> … … 58 59 static errno_t ethip_send6(iplink_srv_t *srv, iplink_sdu6_t *sdu); 59 60 static errno_t ethip_get_mtu(iplink_srv_t *srv, size_t *mtu); 60 static errno_t ethip_get_mac48(iplink_srv_t *srv, addr48_t *mac);61 static errno_t ethip_set_mac48(iplink_srv_t *srv, addr48_t *mac);61 static errno_t ethip_get_mac48(iplink_srv_t *srv, eth_addr_t *mac); 62 static errno_t ethip_set_mac48(iplink_srv_t *srv, eth_addr_t *mac); 62 63 static errno_t ethip_addr_add(iplink_srv_t *srv, inet_addr_t *addr); 63 64 static errno_t ethip_addr_remove(iplink_srv_t *srv, inet_addr_t *addr); … … 77 78 }; 78 79 80 static loc_srv_t *ethip_srv; 81 79 82 static errno_t ethip_init(void) 80 83 { 81 84 async_set_fallback_port_handler(ethip_client_conn, NULL); 82 85 83 errno_t rc = loc_server_register(NAME );86 errno_t rc = loc_server_register(NAME, ðip_srv); 84 87 if (rc != EOK) { 85 88 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server."); … … 114 117 } 115 118 116 rc = loc_service_register( svc_name, &sid);119 rc = loc_service_register(ethip_srv, svc_name, &sid); 117 120 if (rc != EOK) { 118 121 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service %s.", svc_name); … … 128 131 } 129 132 130 rc = loc_service_add_to_cat( sid, iplink_cat);133 rc = loc_service_add_to_cat(ethip_srv, sid, iplink_cat); 131 134 if (rc != EOK) { 132 135 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed adding %s to category.", svc_name); … … 177 180 eth_frame_t frame; 178 181 179 errno_t rc = arp_translate(nic, sdu->src, sdu->dest, frame.dest);182 errno_t rc = arp_translate(nic, sdu->src, sdu->dest, &frame.dest); 180 183 if (rc != EOK) { 181 184 log_msg(LOG_DEFAULT, LVL_WARN, "Failed to look up IPv4 address 0x%" … … 184 187 } 185 188 186 addr48(nic->mac_addr, frame.src);189 frame.src = nic->mac_addr; 187 190 frame.etype_len = ETYPE_IP; 188 191 frame.data = sdu->data; … … 208 211 eth_frame_t frame; 209 212 210 addr48(sdu->dest, frame.dest);211 addr48(nic->mac_addr, frame.src);213 frame.dest = sdu->dest; 214 frame.src = nic->mac_addr; 212 215 frame.etype_len = ETYPE_IPV6; 213 216 frame.data = sdu->data; … … 276 279 } 277 280 278 static errno_t ethip_get_mac48(iplink_srv_t *srv, addr48_t *mac)281 static errno_t ethip_get_mac48(iplink_srv_t *srv, eth_addr_t *mac) 279 282 { 280 283 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_get_mac48()"); 281 284 282 285 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 283 addr48(nic->mac_addr, *mac);284 285 return EOK; 286 } 287 288 static errno_t ethip_set_mac48(iplink_srv_t *srv, addr48_t *mac)286 *mac = nic->mac_addr; 287 288 return EOK; 289 } 290 291 static errno_t ethip_set_mac48(iplink_srv_t *srv, eth_addr_t *mac) 289 292 { 290 293 log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_set_mac48()"); 291 294 292 295 ethip_nic_t *nic = (ethip_nic_t *) srv->arg; 293 addr48(*mac, nic->mac_addr);296 nic->mac_addr = *mac; 294 297 295 298 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.