Changeset 0773396 in mainline for uspace/srv/net/inetsrv/addrobj.c


Ignore:
Timestamp:
2013-12-25T13:05:25Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bc54126c
Parents:
f4a47e52 (diff), 6946f23 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/addrobj.c

    rf4a47e52 r0773396  
    4242#include <stdlib.h>
    4343#include <str.h>
    44 #include <net/socket_codes.h>
    4544#include "addrobj.h"
    4645#include "inetsrv.h"
     
    115114        fibril_mutex_lock(&addr_list_lock);
    116115       
    117         list_foreach(addr_list, link) {
    118                 inet_addrobj_t *naddr = list_get_instance(link,
    119                     inet_addrobj_t, addr_list);
    120                
     116        list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
    121117                switch (find) {
    122118                case iaf_net:
     
    158154            name, ilink->svc_name);
    159155
    160         list_foreach(addr_list, link) {
    161                 inet_addrobj_t *naddr = list_get_instance(link,
    162                     inet_addrobj_t, addr_list);
    163 
     156        list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
    164157                if (naddr->ilink == ilink && str_cmp(naddr->name, name) == 0) {
    165158                        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find_by_name_locked: found %p",
     
    206199        fibril_mutex_lock(&addr_list_lock);
    207200
    208         list_foreach(addr_list, link) {
    209                 inet_addrobj_t *naddr = list_get_instance(link,
    210                     inet_addrobj_t, addr_list);
    211 
     201        list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
    212202                if (naddr->id == id) {
    213203                        fibril_mutex_unlock(&addr_list_lock);
     
    227217        inet_addr_t lsrc_addr;
    228218        inet_naddr_addr(&addr->naddr, &lsrc_addr);
    229        
     219
    230220        addr32_t lsrc_v4;
    231221        addr128_t lsrc_v6;
    232         uint16_t lsrc_af = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);
    233        
     222        ip_ver_t lsrc_ver = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);
     223
    234224        addr32_t ldest_v4;
    235225        addr128_t ldest_v6;
    236         uint16_t ldest_af = inet_addr_get(ldest, &ldest_v4, &ldest_v6);
    237        
    238         if (lsrc_af != ldest_af)
     226        ip_ver_t ldest_ver = inet_addr_get(ldest, &ldest_v4, &ldest_v6);
     227
     228        if (lsrc_ver != ldest_ver)
    239229                return EINVAL;
    240        
     230
    241231        int rc;
    242232        addr48_t ldest_mac;
    243        
    244         switch (ldest_af) {
    245         case AF_INET:
     233
     234        switch (ldest_ver) {
     235        case ip_v4:
    246236                return inet_link_send_dgram(addr->ilink, lsrc_v4, ldest_v4,
    247237                    dgram, proto, ttl, df);
    248         case AF_INET6:
     238        case ip_v6:
    249239                /*
    250240                 * Translate local destination IPv6 address.
     
    253243                if (rc != EOK)
    254244                        return rc;
    255                
     245
    256246                return inet_link_send_dgram6(addr->ilink, ldest_mac, dgram,
    257247                    proto, ttl, df);
    258         }
    259        
     248        default:
     249                assert(false);
     250                break;
     251        }
     252
    260253        return ENOTSUP;
    261254}
     
    277270
    278271        i = 0;
    279         list_foreach(addr_list, link) {
    280                 inet_addrobj_t *addr = list_get_instance(link,
    281                     inet_addrobj_t, addr_list);
    282 
     272        list_foreach(addr_list, addr_list, inet_addrobj_t, addr) {
    283273                id_list[i++] = addr->id;
    284274        }
Note: See TracChangeset for help on using the changeset viewer.