• Home
  • Raw
  • Download

Lines Matching refs:addr

83 static inline u8 llc_ui_addr_null(struct sockaddr_llc *addr)  in llc_ui_addr_null()  argument
85 return !memcmp(addr, &llc_ui_addrnull, sizeof(*addr)); in llc_ui_addr_null()
97 static inline u8 llc_ui_header_len(struct sock *sk, struct sockaddr_llc *addr) in llc_ui_header_len() argument
101 if (addr->sllc_test || addr->sllc_xid) in llc_ui_header_len()
267 static int llc_ui_autobind(struct socket *sock, struct sockaddr_llc *addr) in llc_ui_autobind() argument
279 if (llc->dev && addr->sllc_arphrd != llc->dev->type) { in llc_ui_autobind()
284 llc->dev = dev_getfirstbyhwtype(&init_net, addr->sllc_arphrd); in llc_ui_autobind()
296 memcpy(&llc->addr, addr, sizeof(llc->addr)); in llc_ui_autobind()
321 struct sockaddr_llc *addr = (struct sockaddr_llc *)uaddr; in llc_ui_bind() local
328 if (unlikely(!sock_flag(sk, SOCK_ZAPPED) || addrlen != sizeof(*addr))) in llc_ui_bind()
331 if (unlikely(addr->sllc_family != AF_LLC)) in llc_ui_bind()
333 dprintk("%s: binding %02X\n", __func__, addr->sllc_sap); in llc_ui_bind()
339 if (!addr->sllc_arphrd) in llc_ui_bind()
340 addr->sllc_arphrd = llc->dev->type; in llc_ui_bind()
341 if (is_zero_ether_addr(addr->sllc_mac)) in llc_ui_bind()
342 memcpy(addr->sllc_mac, llc->dev->dev_addr, in llc_ui_bind()
344 if (addr->sllc_arphrd != llc->dev->type || in llc_ui_bind()
345 !ether_addr_equal(addr->sllc_mac, in llc_ui_bind()
352 llc->dev = dev_getbyhwaddr_rcu(&init_net, addr->sllc_arphrd, in llc_ui_bind()
353 addr->sllc_mac); in llc_ui_bind()
359 if (!addr->sllc_sap) { in llc_ui_bind()
361 addr->sllc_sap = llc_ui_autoport(); in llc_ui_bind()
362 if (!addr->sllc_sap) in llc_ui_bind()
365 sap = llc_sap_find(addr->sllc_sap); in llc_ui_bind()
367 sap = llc_sap_open(addr->sllc_sap, NULL); in llc_ui_bind()
381 memcpy(laddr.mac, addr->sllc_mac, IFHWADDRLEN); in llc_ui_bind()
382 laddr.lsap = addr->sllc_sap; in llc_ui_bind()
390 llc->laddr.lsap = addr->sllc_sap; in llc_ui_bind()
391 memcpy(llc->laddr.mac, addr->sllc_mac, IFHWADDRLEN); in llc_ui_bind()
392 memcpy(&llc->addr, addr, sizeof(llc->addr)); in llc_ui_bind()
455 struct sockaddr_llc *addr = (struct sockaddr_llc *)uaddr; in llc_ui_connect() local
459 if (unlikely(addrlen != sizeof(*addr))) in llc_ui_connect()
462 if (unlikely(addr->sllc_family != AF_LLC)) in llc_ui_connect()
472 rc = llc_ui_autobind(sock, addr); in llc_ui_connect()
476 llc->daddr.lsap = addr->sllc_sap; in llc_ui_connect()
477 memcpy(llc->daddr.mac, addr->sllc_mac, IFHWADDRLEN); in llc_ui_connect()
482 addr->sllc_mac, addr->sllc_sap); in llc_ui_connect()
703 memcpy(&newllc->addr, &llc->addr, sizeof(newllc->addr)); in llc_ui_accept()
710 llc_sk(sk)->addr.sllc_sap, newllc->daddr.lsap); in llc_ui_accept()
903 DECLARE_SOCKADDR(struct sockaddr_llc *, addr, msg->msg_name); in llc_ui_sendmsg()
913 if (addr) { in llc_ui_sendmsg()
914 if (msg->msg_namelen < sizeof(*addr)) in llc_ui_sendmsg()
917 if (llc_ui_addr_null(&llc->addr)) in llc_ui_sendmsg()
919 addr = &llc->addr; in llc_ui_sendmsg()
924 rc = llc_ui_autobind(sock, addr); in llc_ui_sendmsg()
928 hdrlen = llc->dev->hard_header_len + llc_ui_header_len(sk, addr); in llc_ui_sendmsg()
942 skb->protocol = llc_proto_type(addr->sllc_arphrd); in llc_ui_sendmsg()
947 if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) { in llc_ui_sendmsg()
948 llc_build_and_send_ui_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
949 addr->sllc_sap); in llc_ui_sendmsg()
953 if (addr->sllc_test) { in llc_ui_sendmsg()
954 llc_build_and_send_test_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
955 addr->sllc_sap); in llc_ui_sendmsg()
959 if (addr->sllc_xid) { in llc_ui_sendmsg()
960 llc_build_and_send_xid_pkt(llc->sap, skb, addr->sllc_mac, in llc_ui_sendmsg()
961 addr->sllc_sap); in llc_ui_sendmsg()
966 if (!(sk->sk_type == SOCK_STREAM && !addr->sllc_ua)) in llc_ui_sendmsg()