|
Lines 1778-1789
int ip_mc_source(int add, int omode, str
|
Link Here
|
|---|
|
goto done; | goto done; |
rv = !0; | rv = !0; |
for (i=0; i<psl->sl_count; i++) { | for (i=0; i<psl->sl_count; i++) { |
rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, |
rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, |
sizeof(__u32)); | sizeof(__u32)); |
if (rv >= 0) |
if (rv == 0) |
break; | break; |
} | } |
if (!rv) /* source not found */ |
if (rv) /* source not found */ |
goto done; | goto done; |
| |
/* update the interface filter */ | /* update the interface filter */ |
|
Lines 1825-1833
int ip_mc_source(int add, int omode, str
|
Link Here
|
|---|
|
} | } |
rv = 1; /* > 0 for insert logic below if sl_count is 0 */ | rv = 1; /* > 0 for insert logic below if sl_count is 0 */ |
for (i=0; i<psl->sl_count; i++) { | for (i=0; i<psl->sl_count; i++) { |
rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, |
rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, |
sizeof(__u32)); | sizeof(__u32)); |
if (rv >= 0) |
if (rv == 0) |
break; | break; |
} | } |
if (rv == 0) /* address already there is an error */ | if (rv == 0) /* address already there is an error */ |
|
Lines 391-402
int ip6_mc_source(int add, int omode, st
|
Link Here
|
|---|
|
goto done; | goto done; |
rv = !0; | rv = !0; |
for (i=0; i<psl->sl_count; i++) { | for (i=0; i<psl->sl_count; i++) { |
rv = memcmp(&psl->sl_addr, group, |
rv = memcmp(&psl->sl_addr[i], source, |
sizeof(struct in6_addr)); | sizeof(struct in6_addr)); |
if (rv >= 0) |
if (rv == 0) |
break; | break; |
} | } |
if (!rv) /* source not found */ |
if (rv) /* source not found */ |
goto done; | goto done; |
| |
/* update the interface filter */ | /* update the interface filter */ |
|
Lines 437-444
int ip6_mc_source(int add, int omode, st
|
Link Here
|
|---|
|
} | } |
rv = 1; /* > 0 for insert logic below if sl_count is 0 */ | rv = 1; /* > 0 for insert logic below if sl_count is 0 */ |
for (i=0; i<psl->sl_count; i++) { | for (i=0; i<psl->sl_count; i++) { |
rv = memcmp(&psl->sl_addr, group, sizeof(struct in6_addr)); |
rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr)); |
if (rv >= 0) |
if (rv == 0) |
break; | break; |
} | } |
if (rv == 0) /* address already there is an error */ | if (rv == 0) /* address already there is an error */ |