dev = dev_get_by_index(addr->v6.sin6_scope_id); if (!dev) return 0; dev_put(dev); 
static int sctp_inet6_send_verify(struct sctp_sock *opt, union sctp_addr *addr){	struct sctp_af *af = NULL;	/* ASSERT: address family has already been verified. */	if (addr->sa.sa_family != AF_INET6)		af = sctp_get_af_specific(addr->sa.sa_family);	else {		struct sock *sk;		int type = ipv6_addr_type(&addr->v6.sin6_addr);		sk = sctp_opt2sk(opt);		if (type & IPV6_ADDR_LINKLOCAL) {			/* Note: Behavior similar to af_inet6.c:			 *  1) Overrides previous bound_dev_if			 *  2) Destructive even if bind isn't successful.			 */			if (addr->v6.sin6_scope_id)				sk->sk_bound_dev_if = addr->v6.sin6_scope_id;			if (!sk->sk_bound_dev_if)				return 0;		}		af = opt->pf->af;	}	return af != NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6a6ddb2a9c11fcc3e8d7517841d28c9ea206ddef/ipv6.c/clean/net/sctp/ipv6.c