Lines Matching refs:skb
56 struct sk_buff *skb; in bnep_net_set_mc_list() local
62 skb = alloc_skb(size, GFP_ATOMIC); in bnep_net_set_mc_list()
63 if (!skb) { in bnep_net_set_mc_list()
68 r = (void *) skb->data; in bnep_net_set_mc_list()
69 __skb_put(skb, sizeof(*r)); in bnep_net_set_mc_list()
78 memcpy(__skb_put(skb, ETH_ALEN), start, ETH_ALEN); in bnep_net_set_mc_list()
79 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN); in bnep_net_set_mc_list()
83 int i, len = skb->len; in bnep_net_set_mc_list()
86 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN); in bnep_net_set_mc_list()
87 memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN); in bnep_net_set_mc_list()
96 memcpy(__skb_put(skb, ETH_ALEN), ha->addr, ETH_ALEN); in bnep_net_set_mc_list()
97 memcpy(__skb_put(skb, ETH_ALEN), ha->addr, ETH_ALEN); in bnep_net_set_mc_list()
101 r->len = htons(skb->len - len); in bnep_net_set_mc_list()
104 skb_queue_tail(&sk->sk_write_queue, skb); in bnep_net_set_mc_list()
122 static int bnep_net_mc_filter(struct sk_buff *skb, struct bnep_session *s) in bnep_net_mc_filter() argument
124 struct ethhdr *eh = (void *) skb->data; in bnep_net_mc_filter()
134 static u16 bnep_net_eth_proto(struct sk_buff *skb) in bnep_net_eth_proto() argument
136 struct ethhdr *eh = (void *) skb->data; in bnep_net_eth_proto()
142 if (get_unaligned((__be16 *) skb->data) == htons(0xFFFF)) in bnep_net_eth_proto()
148 static int bnep_net_proto_filter(struct sk_buff *skb, struct bnep_session *s) in bnep_net_proto_filter() argument
150 u16 proto = bnep_net_eth_proto(skb); in bnep_net_proto_filter()
159 BT_DBG("BNEP: filtered skb %p, proto 0x%.4x", skb, proto); in bnep_net_proto_filter()
164 static netdev_tx_t bnep_net_xmit(struct sk_buff *skb, in bnep_net_xmit() argument
170 BT_DBG("skb %p, dev %p", skb, dev); in bnep_net_xmit()
173 if (bnep_net_mc_filter(skb, s)) { in bnep_net_xmit()
174 kfree_skb(skb); in bnep_net_xmit()
180 if (bnep_net_proto_filter(skb, s)) { in bnep_net_xmit()
181 kfree_skb(skb); in bnep_net_xmit()
192 skb_queue_tail(&sk->sk_write_queue, skb); in bnep_net_xmit()