Lines Matching refs:skb
218 static netdev_tx_t hsr_dev_xmit(struct sk_buff *skb, struct net_device *dev)
225 skb->dev = master->dev;
226 skb_reset_mac_header(skb);
227 skb_reset_mac_len(skb);
229 hsr_forward_skb(skb, master);
233 dev_kfree_skb_any(skb);
246 struct sk_buff *skb;
251 /* skb size is same for PRP/HSR frames, only difference
255 skb = dev_alloc_skb(sizeof(struct hsr_sup_tag) +
258 if (!skb)
259 return skb;
261 skb_reserve(skb, hlen);
262 skb->dev = master->dev;
263 skb->priority = TC_PRIO_CONTROL;
265 if (dev_hard_header(skb, skb->dev, ETH_P_PRP,
267 skb->dev->dev_addr, skb->len) <= 0)
270 skb_reset_mac_header(skb);
271 skb_reset_mac_len(skb);
272 skb_reset_network_header(skb);
273 skb_reset_transport_header(skb);
275 return skb;
277 kfree_skb(skb);
290 struct sk_buff *skb;
299 skb = hsr_init_skb(master);
300 if (!skb) {
305 hsr_stag = skb_put(skb, sizeof(struct hsr_sup_tag));
325 hsr_sp = skb_put(skb, sizeof(struct hsr_sup_payload));
329 hsr_stlv = skb_put(skb, sizeof(struct hsr_sup_tlv));
334 hsr_sp = skb_put(skb, sizeof(struct hsr_sup_payload));
338 if (skb_put_padto(skb, ETH_ZLEN)) {
343 hsr_forward_skb(skb, master);
354 struct sk_buff *skb;
356 skb = hsr_init_skb(master);
357 if (!skb) {
363 hsr_stag = skb_put(skb, sizeof(struct hsr_sup_tag));
375 hsr_sp = skb_put(skb, sizeof(struct hsr_sup_payload));
378 if (skb_put_padto(skb, ETH_ZLEN)) {
383 hsr_forward_skb(skb, master);