Lines Matching refs:llc

119 	struct llc_sock* llc = llc_sk(sk);  in llc_ui_send_data()  local
122 if (unlikely(llc_data_accept_state(llc->state) || in llc_ui_send_data()
123 llc->remote_busy_flag || in llc_ui_send_data()
124 llc->p_flag)) { in llc_ui_send_data()
191 struct llc_sock *llc; in llc_ui_release() local
197 llc = llc_sk(sk); in llc_ui_release()
199 llc->laddr.lsap, llc->daddr.lsap); in llc_ui_release()
203 struct llc_sap *sap = llc->sap; in llc_ui_release()
209 llc_sap_remove_socket(llc->sap, sk); in llc_ui_release()
215 if (llc->dev) in llc_ui_release()
216 dev_put(llc->dev); in llc_ui_release()
266 struct llc_sock *llc = llc_sk(sk); in llc_ui_autobind() local
274 llc->dev = dev_get_by_index(&init_net, sk->sk_bound_dev_if); in llc_ui_autobind()
275 if (llc->dev && addr->sllc_arphrd != llc->dev->type) { in llc_ui_autobind()
276 dev_put(llc->dev); in llc_ui_autobind()
277 llc->dev = NULL; in llc_ui_autobind()
280 llc->dev = dev_getfirstbyhwtype(&init_net, addr->sllc_arphrd); in llc_ui_autobind()
281 if (!llc->dev) in llc_ui_autobind()
284 llc->laddr.lsap = llc_ui_autoport(); in llc_ui_autobind()
285 if (!llc->laddr.lsap) in llc_ui_autobind()
288 sap = llc_sap_open(llc->laddr.lsap, NULL); in llc_ui_autobind()
291 memcpy(llc->laddr.mac, llc->dev->dev_addr, IFHWADDRLEN); in llc_ui_autobind()
292 memcpy(&llc->addr, addr, sizeof(llc->addr)); in llc_ui_autobind()
319 struct llc_sock *llc = llc_sk(sk); in llc_ui_bind() local
334 llc->dev = dev_get_by_index_rcu(&init_net, sk->sk_bound_dev_if); in llc_ui_bind()
335 if (llc->dev) { in llc_ui_bind()
337 addr->sllc_arphrd = llc->dev->type; in llc_ui_bind()
339 memcpy(addr->sllc_mac, llc->dev->dev_addr, in llc_ui_bind()
341 if (addr->sllc_arphrd != llc->dev->type || in llc_ui_bind()
343 llc->dev->dev_addr)) { in llc_ui_bind()
345 llc->dev = NULL; in llc_ui_bind()
349 llc->dev = dev_getbyhwaddr_rcu(&init_net, addr->sllc_arphrd, in llc_ui_bind()
351 if (llc->dev) in llc_ui_bind()
352 dev_hold(llc->dev); in llc_ui_bind()
354 if (!llc->dev) in llc_ui_bind()
387 llc->laddr.lsap = addr->sllc_sap; in llc_ui_bind()
388 memcpy(llc->laddr.mac, addr->sllc_mac, IFHWADDRLEN); in llc_ui_bind()
389 memcpy(&llc->addr, addr, sizeof(llc->addr)); in llc_ui_bind()
451 struct llc_sock *llc = llc_sk(sk); in llc_ui_connect() local
473 llc->daddr.lsap = addr->sllc_sap; in llc_ui_connect()
474 memcpy(llc->daddr.mac, addr->sllc_mac, IFHWADDRLEN); in llc_ui_connect()
477 llc->link = llc_ui_next_link_no(llc->sap->laddr.lsap); in llc_ui_connect()
478 rc = llc_establish_connection(sk, llc->dev->dev_addr, in llc_ui_connect()
587 struct llc_sock *llc = llc_sk(sk); in llc_ui_wait_for_busy_core() local
595 (!llc_data_accept_state(llc->state) && in llc_ui_wait_for_busy_core()
596 !llc->remote_busy_flag && in llc_ui_wait_for_busy_core()
597 !llc->p_flag), &wait)) in llc_ui_wait_for_busy_core()
639 struct llc_sock *llc = llc_sk(skb->sk); in llc_cmsg_rcv() local
641 if (llc->cmsg_flags & LLC_CMSG_PKTINFO) { in llc_cmsg_rcv()
666 struct llc_sock *llc, *newllc; in llc_ui_accept() local
698 llc = llc_sk(sk); in llc_ui_accept()
700 memcpy(&newllc->addr, &llc->addr, sizeof(newllc->addr)); in llc_ui_accept()
732 struct llc_sock *llc = llc_sk(sk); in llc_ui_recvmsg() local
748 seq = &llc->copied_seq; in llc_ui_recvmsg()
750 peek_seq = llc->copied_seq; in llc_ui_recvmsg()
825 if ((flags & MSG_PEEK) && peek_seq != llc->copied_seq) { in llc_ui_recvmsg()
829 peek_seq = llc->copied_seq; in llc_ui_recvmsg()
902 struct llc_sock *llc = llc_sk(sk); in llc_ui_sendmsg() local
911 llc->laddr.lsap, llc->daddr.lsap); in llc_ui_sendmsg()
917 if (llc_ui_addr_null(&llc->addr)) in llc_ui_sendmsg()
919 addr = &llc->addr; in llc_ui_sendmsg()
928 hdrlen = llc->dev->hard_header_len + llc_ui_header_len(sk, addr); in llc_ui_sendmsg()
930 if (size > llc->dev->mtu) in llc_ui_sendmsg()
931 size = llc->dev->mtu; in llc_ui_sendmsg()
941 skb->dev = llc->dev; in llc_ui_sendmsg()
948 llc_build_and_send_ui_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
953 llc_build_and_send_test_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
958 llc_build_and_send_xid_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
971 __func__, llc->laddr.lsap, llc->daddr.lsap, rc); in llc_ui_sendmsg()
991 struct llc_sock *llc = llc_sk(sk); in llc_ui_getname() local
1002 if(llc->dev) in llc_ui_getname()
1003 sllc.sllc_arphrd = llc->dev->type; in llc_ui_getname()
1004 sllc.sllc_sap = llc->daddr.lsap; in llc_ui_getname()
1005 memcpy(&sllc.sllc_mac, &llc->daddr.mac, IFHWADDRLEN); in llc_ui_getname()
1008 if (!llc->sap) in llc_ui_getname()
1010 sllc.sllc_sap = llc->sap->laddr.lsap; in llc_ui_getname()
1012 if (llc->dev) { in llc_ui_getname()
1013 sllc.sllc_arphrd = llc->dev->type; in llc_ui_getname()
1014 memcpy(&sllc.sllc_mac, llc->dev->dev_addr, in llc_ui_getname()
1054 struct llc_sock *llc = llc_sk(sk); in llc_ui_setsockopt() local
1069 llc->n2 = opt; in llc_ui_setsockopt()
1074 llc->n1 = opt; in llc_ui_setsockopt()
1079 llc->ack_timer.expire = opt * HZ; in llc_ui_setsockopt()
1084 llc->pf_cycle_timer.expire = opt * HZ; in llc_ui_setsockopt()
1089 llc->rej_sent_timer.expire = opt * HZ; in llc_ui_setsockopt()
1094 llc->busy_state_timer.expire = opt * HZ; in llc_ui_setsockopt()
1099 llc->k = opt; in llc_ui_setsockopt()
1104 llc->rw = opt; in llc_ui_setsockopt()
1108 llc->cmsg_flags |= LLC_CMSG_PKTINFO; in llc_ui_setsockopt()
1110 llc->cmsg_flags &= ~LLC_CMSG_PKTINFO; in llc_ui_setsockopt()
1136 struct llc_sock *llc = llc_sk(sk); in llc_ui_getsockopt() local
1150 val = llc->n2; break; in llc_ui_getsockopt()
1152 val = llc->n1; break; in llc_ui_getsockopt()
1154 val = llc->ack_timer.expire / HZ; break; in llc_ui_getsockopt()
1156 val = llc->pf_cycle_timer.expire / HZ; break; in llc_ui_getsockopt()
1158 val = llc->rej_sent_timer.expire / HZ; break; in llc_ui_getsockopt()
1160 val = llc->busy_state_timer.expire / HZ; break; in llc_ui_getsockopt()
1162 val = llc->k; break; in llc_ui_getsockopt()
1164 val = llc->rw; break; in llc_ui_getsockopt()
1166 val = (llc->cmsg_flags & LLC_CMSG_PKTINFO) != 0; in llc_ui_getsockopt()