Home
last modified time | relevance | path

Searched full:skb (Results 1 – 25 of 66) sorted by relevance

123

/Documentation/networking/
Dieee802154.rst82 code via plain sk_buffs. On skb reception skb->cb must contain additional
84 the skb->cb is used to provide additional data to device's header_ops->create
86 submits skb to qdisc), so if you need something from that cb later, you should
87 store info in the skb->data on your own.
136 .. c:function:: void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, u8 lqi)
138 Telling 802.15.4 module there is a new received frame in the skb with
141 .. c:function:: void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, bool i…
143 Telling 802.15.4 module the frame in the skb is or going to be
154 int (*xmit_async)(struct ieee802154_hw *hw, struct sk_buff *skb);
168 .. c:function:: int xmit_async(struct ieee802154_hw *hw, struct sk_buff *skb)
[all …]
Dchecksum-offloads.rst33 checksum defined by the sk_buff fields skb->csum_start and skb->csum_offset.
49 skb->csum_start and skb->csum_offset as described above, and setting
50 skb->csum_not_inet: see skbuff.h comment (section 'D') for more details.
64 csum_offset given in the SKB; if it tries to deduce these itself in hardware
65 (as some NICs do) the driver should check that the values in the SKB match
74 function compares the offload features requested by the SKB (which may include
78 means calling skb_csum_hwoffload_help(skb, features).
124 (e.g. in SKB bloat).
Ddriver.rst57 static netdev_tx_t drv_hard_start_xmit(struct sk_buff *skb,
65 idx = skb_get_queue_mapping(skb);
71 if (drv_tx_avail(dr) <= skb_shinfo(skb)->nr_frags + 1) {
79 netdev_tx_sent_queue(txq, skb->len);
110 cloned SKB.
117 up the SKB and in some finite amount of time.
126 must not keep any reference to that SKB and you must not attempt
Dmultiqueue.rst34 qdisc is responsible for classifying the skb's and then directing the skb's to
35 bands and queues based on the value in skb->queue_mapping. Use this field in
36 the base driver to determine which queue to send the skb to.
43 hardware. Once the association is made, any skb with skb->queue_mapping set,
Dstrparser.rst119 int (*parse_msg)(struct strparser *strp, struct sk_buff *skb);
126 The skb->cb in the input skb is a struct strp_msg. Only
128 where the message starts in the skb.
171 void (*rcv_msg)(struct strparser *strp, struct sk_buff *skb);
179 The skb->cb in the input skb is a struct strp_msg. This
181 where the message starts in the skb, and full_len is the
182 the length of the message. skb->len - offset may be greater
183 then full_len since strparser does not trim the skb.
Dgen_stats.rst33 mystruct->qstats.backlog += skb->pkt_len;
41 my_dumping_routine(struct sk_buff *skb, ...)
45 if (gnet_stats_start_copy(skb, TCA_STATS2, &mystruct->lock, &dump,
66 my_dumping_routine(struct sk_buff *skb, ...)
68 if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS,
76 and appended to the skb. TCA_XSTATS is provided if gnet_stats_copy_app
Dxfrm_device.rst71 bool (*xdo_dev_offload_ok) (struct sk_buff *skb,
126 the skb and the intended offload state to ask the driver if the offload
136 xs = xfrm_input_state(skb);
147 the packet's skb. At this point the data should be decrypted but the
151 find and hold the SA that was used to the Rx skb::
157 store the state information into the skb::
159 sp = secpath_set(skb);
166 xo = xfrm_offload(skb);
Dtimestamping.rst350 simple case (a 1:1 mapping from buffer to skb) is insufficient
369 relevant sequence number in skb_shinfo(skb)->tskey. Because an skbuff
373 collapsed onto the same skb. A process can detect this situation by
603 Time stamps for received packets must be stored in the skb. To get a pointer
604 to the shared time stamp structure of the skb call skb_hwtstamps(). Then
616 - In hard_start_xmit(), check if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)
619 - If this is possible for the skb and requested, then declare
621 SKBTX_IN_PROGRESS in skb_shinfo(skb)->tx_flags , e.g. with::
623 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
625 You might want to keep a pointer to the associated skb for the next step
[all …]
Dxdp-rx-metadata.rst83 into the kernel. The kernel creates the ``skb`` out of the ``xdp_buff``
85 the descriptors and populate ``skb`` metadata when doing this ``xdp_buff->skb``
106 ``skb`` created from such a frame won't have any hardware metadata populated
107 in its ``skb``. If such a packet is later redirected into an ``XSK``,
Dtc-actions-env-rules.rst18 someone else is referencing the skb. After that you "own" the skb.
Dskbuff.rst15 Shared skbs and skb clones
37 :doc: skb checksums
Dsegmentation-offloads.rst161 generate a big skb, set gso_size to the fragmentation point and deliver it
164 Instead, the SCTP protocol layer builds an skb with the segments correctly
174 - skb_is_gso(skb) && skb_is_gso_sctp(skb) is the best way to see if
175 an skb is an SCTP GSO skb.
Dlapb-module.rst48 int (*data_indication)(int token, struct sk_buff *skb);
49 void (*data_transmit)(int token, struct sk_buff *skb);
200 int lapb_data_request(void *token, struct sk_buff *skb);
214 int lapb_data_received(void *token, struct sk_buff *skb);
217 is expected that the data passed to the LAPB module has skb->data pointing
286 int (*data_indication)(void *token, struct sk_buff *skb);
291 module will not perform any more actions on it. The skb->data pointer will
300 void (*data_transmit)(void *token, struct sk_buff *skb);
305 The skb->data pointer will be pointing to the first byte of the LAPB header.
Dpktgen.rst133 pgset "clone_skb 0" use single SKB for all transmits
181 SHARED # enable shared SKB
257 -c : ($SKB_CLONE) SKB clones send before alloc new SKB
292 Disable shared SKB
299 However, if the "clone_skb" or "burst" parameters are configured, the skb
300 still needs to be held by pktgen for further access. Hence the skb must be
Dbareudp.rst55 The OVS or TC flower layer must set the tunnel information in SKB dst field before
57 bareudp device extracts and stores the tunnel information in SKB dst field before
Dfilter.rst293 len skb->len
294 proto skb->protocol
295 type skb->pkt_type
297 ifidx skb->dev->ifindex
300 mark skb->mark
301 queue skb->queue_mapping
302 hatype skb->dev->type
303 rxhash skb->hash
305 vlan_tci skb_vlan_tag_get(skb)
306 vlan_avail skb_vlan_tag_present(skb)
[all …]
/Documentation/bpf/
Dmap_sockmap.rst103 long bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key u64 flags)
183 long bpf_sk_redirect_hash(struct sk_buff *skb, struct bpf_map *map, void *key, u64 flags)
185 This helper is used in programs implementing policies at the skb socket level.
186 If the sk_buff ``skb`` is allowed to pass (i.e., if the verdict BPF program
370 int bpf_prog_parser(struct __sk_buff *skb)
372 return skb->len;
381 int bpf_prog_verdict(struct __sk_buff *skb)
383 __u32 lport = skb->local_port;
387 return bpf_sk_redirect_map(skb, &sock_map_rx, idx, 0);
412 skb parameters.
[all …]
Dverifier.rst137 skb->data.
139 skb->data + headlen; arithmetic forbidden.
211 data via skb->data and skb->data_end pointers.
214 1: r4 = *(u32 *)(r1 +80) /* load skb->data_end */
215 2: r3 = *(u32 *)(r1 +76) /* load skb->data */
223 did check ``if (skb->data + 14 > skb->data_end) goto err`` at insn #5 which
224 means that in the fall-through case the register R3 (which points to skb->data)
232 it now points to ``skb->data + 14`` and accessible range is [R5, R5 + 14 - 14)
242 9: r3 = *(u32 *)(r1 +76) /* load skb->data */
250 17: r1 = *(u32 *)(r1 +80) /* load skb->data_end */
[all …]
Dprog_flow_dissector.rst54 skb->data + flow_keys->nhoff point to the first byte of L3_HEADER
71 skb->data + flow_keys->nhoff point the to first byte of TCI
90 skb->data + flow_keys->nhoff point the to first byte of L3_HEADER
/Documentation/networking/net_cachelines/
Dsnmp.rst14 …FROMZEROWINDOWADV write_mostly - tcp_select_window,tcp_transmit-skb
15 …TOZEROWINDOWADV write_mostly - tcp_select_window,tcp_transmit-skb
16 …WANTZEROWINDOWADV write_mostly - tcp_select_window,tcp_transmit-skb
/Documentation/driver-api/nfc/
Dnfc-hci.rst70 int (*xmit) (struct nfc_hci_dev *hdev, struct sk_buff *skb);
81 struct nfc_target *target, struct sk_buff *skb,
83 int (*tm_send)(struct nfc_hci_dev *hdev, struct sk_buff *skb);
87 struct sk_buff *skb);
131 int (*write)(void *dev_id, struct sk_buff *skb);
143 function must not alter the skb. It must also not return a positive
164 void (*rcv_from_drv) (struct nfc_llc *llc, struct sk_buff *skb);
165 int (*xmit_from_hci) (struct nfc_llc *llc, struct sk_buff *skb);
230 const u8 *param, size_t param_len, struct sk_buff **skb)
233 will be the syscall context. skb will return the result that was received in
[all …]
/Documentation/translations/zh_CN/core-api/
Dunaligned-memory-access.rst226 skb = original skb
228 skb = copy skb
/Documentation/security/
DSCTP.rst26 Passes the ``@asoc`` and ``@chunk->skb`` of the association INIT packet to the
31 @skb - pointer to skbuff of association packet.
128 @skb - pointer to skbuff of the COOKIE ACK packet.
204 Passes the ``@asoc`` and ``@chunk->skb`` of the association INIT packet to the
209 @skb - pointer to skbuff of association packet.
213 sid to that in ``@skb``. This will ensure there is only one peer sid
216 ELSE validate the ``@asoc->base.sk peer_sid`` against the ``@skb peer sid``
220 MLS portion taken from ``@skb peer sid``. This will be used by SCTP
275 to that in ``@skb``::
278 @skb - pointer to skbuff of the COOKIE ACK packet.
/Documentation/networking/device_drivers/ethernet/amazon/
Dena.rst267 SKB.
279 - Maps data buffers (``skb->data`` and frags).
320 a SKB for the new packet, and copies the packet payload into the
321 SKB data buffer.
327 descriptor as `skb`'s linear part and the other descriptors as the
328 `skb`'s frags.
330 - The new SKB is updated with the necessary information (protocol,
362 copied out of the RX buffer into the linear part of a new skb allocated
/Documentation/isdn/
Dinterface_capi.rst146 ``u16 (*send_message)(struct capi_ctr *ctrlr, struct sk_buff *skb)``
153 of the skb and the caller may no longer access it. If it returns a
154 non-zero (error) value then ownership of the skb returns to the caller
196 (skb). Each skb contains a single CAPI message coded according to the CAPI 2.0
200 payload data immediately follows the CAPI message itself within the same skb.
275 struct sk_buff *skb)

123