summaryrefslogtreecommitdiffstats
path: root/templates/man7/packet.7.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man7/packet.7.pot')
-rw-r--r--templates/man7/packet.7.pot1159
1 files changed, 1159 insertions, 0 deletions
diff --git a/templates/man7/packet.7.pot b/templates/man7/packet.7.pot
new file mode 100644
index 00000000..4f6db176
--- /dev/null
+++ b/templates/man7/packet.7.pot
@@ -0,0 +1,1159 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 17:03+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "packet"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "packet - packet interface on device level"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>linux/if_packet.hE<gt>>\n"
+"B<#include E<lt>net/ethernet.hE<gt> /* the L2 protocols */>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<packet_socket = socket(AF_PACKET, int >I<socket_type>B<, int >I<protocol>B<);>\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Packet sockets are used to receive or send raw packets at the device driver "
+"(OSI Layer 2) level. They allow the user to implement protocol modules in "
+"user space on top of the physical layer."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<socket_type> is either B<SOCK_RAW> for raw packets including the link-"
+"level header or B<SOCK_DGRAM> for cooked packets with the link-level header "
+"removed. The link-level header information is available in a common format "
+"in a I<sockaddr_ll> structure. I<protocol> is the IEEE 802.3 protocol "
+"number in network byte order. See the I<E<lt>linux/if_ether.hE<gt>> include "
+"file for a list of allowed protocols. When protocol is set to "
+"B<htons(ETH_P_ALL)>, then all protocols are received. All incoming packets "
+"of that protocol type will be passed to the packet socket before they are "
+"passed to the protocols implemented in the kernel. If I<protocol> is set to "
+"zero, no packets are received. B<bind>(2) can optionally be called with a "
+"nonzero I<sll_protocol> to start receiving packets for the protocols "
+"specified."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In order to create a packet socket, a process must have the B<CAP_NET_RAW> "
+"capability in the user namespace that governs its network namespace."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<SOCK_RAW> packets are passed to and from the device driver without any "
+"changes in the packet data. When receiving a packet, the address is still "
+"parsed and passed in a standard I<sockaddr_ll> address structure. When "
+"transmitting a packet, the user-supplied buffer should contain the physical-"
+"layer header. That packet is then queued unmodified to the network driver "
+"of the interface defined by the destination address. Some device drivers "
+"always add other headers. B<SOCK_RAW> is similar to but not compatible with "
+"the obsolete B<AF_INET/SOCK_PACKET> of Linux 2.0."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<SOCK_DGRAM> operates on a slightly higher level. The physical header is "
+"removed before the packet is passed to the user. Packets sent through a "
+"B<SOCK_DGRAM> packet socket get a suitable physical-layer header based on "
+"the information in the I<sockaddr_ll> destination address before they are "
+"queued."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"By default, all packets of the specified protocol type are passed to a "
+"packet socket. To get packets only from a specific interface use "
+"B<bind>(2) specifying an address in a I<struct sockaddr_ll> to bind the "
+"packet socket to an interface. Fields used for binding are I<sll_family> "
+"(should be B<AF_PACKET>), I<sll_protocol>, and I<sll_ifindex>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The B<connect>(2) operation is not supported on packet sockets."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When the B<MSG_TRUNC> flag is passed to B<recvmsg>(2), B<recv>(2), or "
+"B<recvfrom>(2), the real length of the packet on the wire is always "
+"returned, even when it is longer than the buffer."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Address types"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<sockaddr_ll> structure is a device-independent physical-layer address."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sockaddr_ll {\n"
+" unsigned short sll_family; /* Always AF_PACKET */\n"
+" unsigned short sll_protocol; /* Physical-layer protocol */\n"
+" int sll_ifindex; /* Interface number */\n"
+" unsigned short sll_hatype; /* ARP hardware type */\n"
+" unsigned char sll_pkttype; /* Packet type */\n"
+" unsigned char sll_halen; /* Length of address */\n"
+" unsigned char sll_addr[8]; /* Physical-layer address */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The fields of this structure are as follows:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sll_protocol>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"is the standard ethernet protocol type in network byte order as defined in "
+"the I<E<lt>linux/if_ether.hE<gt>> include file. It defaults to the socket's "
+"protocol."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sll_ifindex>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"is the interface index of the interface (see B<netdevice>(7)); 0 matches any "
+"interface (only permitted for binding). I<sll_hatype> is an ARP type as "
+"defined in the I<E<lt>linux/if_arp.hE<gt>> include file."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sll_pkttype>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"contains the packet type. Valid types are B<PACKET_HOST> for a packet "
+"addressed to the local host, B<PACKET_BROADCAST> for a physical-layer "
+"broadcast packet, B<PACKET_MULTICAST> for a packet sent to a physical-layer "
+"multicast address, B<PACKET_OTHERHOST> for a packet to some other host that "
+"has been caught by a device driver in promiscuous mode, and "
+"B<PACKET_OUTGOING> for a packet originating from the local host that is "
+"looped back to a packet socket. These types make sense only for receiving."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sll_addr>"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<sll_halen>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"contain the physical-layer (e.g., IEEE 802.3) address and its length. The "
+"exact interpretation depends on the device."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When you send packets, it is enough to specify I<sll_family>, I<sll_addr>, "
+"I<sll_halen>, I<sll_ifindex>, and I<sll_protocol>. The other fields should "
+"be 0. I<sll_hatype> and I<sll_pkttype> are set on received packets for your "
+"information."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Socket options"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Packet socket options are configured by calling B<setsockopt>(2) with level "
+"B<SOL_PACKET>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_ADD_MEMBERSHIP>"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_DROP_MEMBERSHIP>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Packet sockets can be used to configure physical-layer multicasting and "
+"promiscuous mode. B<PACKET_ADD_MEMBERSHIP> adds a binding and "
+"B<PACKET_DROP_MEMBERSHIP> drops it. They both expect a I<packet_mreq> "
+"structure as argument:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct packet_mreq {\n"
+" int mr_ifindex; /* interface index */\n"
+" unsigned short mr_type; /* action */\n"
+" unsigned short mr_alen; /* address length */\n"
+" unsigned char mr_address[8]; /* physical-layer address */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<mr_ifindex> contains the interface index for the interface whose status "
+"should be changed. The I<mr_type> field specifies which action to perform. "
+"B<PACKET_MR_PROMISC> enables receiving all packets on a shared medium (often "
+"known as \"promiscuous mode\"), B<PACKET_MR_MULTICAST> binds the socket to "
+"the physical-layer multicast group specified in I<mr_address> and "
+"I<mr_alen>, and B<PACKET_MR_ALLMULTI> sets the socket up to receive all "
+"multicast packets arriving at the interface."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In addition, the traditional ioctls B<SIOCSIFFLAGS>, B<SIOCADDMULTI>, "
+"B<SIOCDELMULTI> can be used for the same purpose."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_AUXDATA> (since Linux 2.6.21)"
+msgstr ""
+
+#. commit 8dc4194474159660d7f37c495e3fc3f10d0db8cc
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If this binary option is enabled, the packet socket passes a metadata "
+"structure along with each packet in the B<recvmsg>(2) control field. The "
+"structure can be read with B<cmsg>(3). It is defined as"
+msgstr ""
+
+#. commit a0cdfcf39362410d5ea983f4daf67b38de129408 added tp_vlan_tpid
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct tpacket_auxdata {\n"
+" __u32 tp_status;\n"
+" __u32 tp_len; /* packet length */\n"
+" __u32 tp_snaplen; /* captured length */\n"
+" __u16 tp_mac;\n"
+" __u16 tp_net;\n"
+" __u16 tp_vlan_tci;\n"
+" __u16 tp_vlan_tpid; /* Since Linux 3.14; earlier, these\n"
+" were unused padding bytes */\n"
+"};\n"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_FANOUT> (since Linux 3.1)"
+msgstr ""
+
+#. commit dc99f600698dcac69b8f56dda9a8a00d645c5ffc
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To scale processing across threads, packet sockets can form a fanout group. "
+"In this mode, each matching packet is enqueued onto only one socket in the "
+"group. A socket joins a fanout group by calling B<setsockopt>(2) with "
+"level B<SOL_PACKET> and option B<PACKET_FANOUT>. Each network namespace can "
+"have up to 65536 independent groups. A socket selects a group by encoding "
+"the ID in the first 16 bits of the integer option value. The first packet "
+"socket to join a group implicitly creates it. To successfully join an "
+"existing group, subsequent packet sockets must have the same protocol, "
+"device settings, fanout mode, and flags (see below). Packet sockets can "
+"leave a fanout group only by closing the socket. The group is deleted when "
+"the last socket is closed."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Fanout supports multiple algorithms to spread traffic between sockets, as "
+"follows:"
+msgstr ""
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "\\[bu]"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The default mode, B<PACKET_FANOUT_HASH>, sends packets from the same flow to "
+"the same socket to maintain per-flow ordering. For each packet, it chooses "
+"a socket by taking the packet flow hash modulo the number of sockets in the "
+"group, where a flow hash is a hash over network-layer address and optional "
+"transport-layer port fields."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The load-balance mode B<PACKET_FANOUT_LB> implements a round-robin algorithm."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<PACKET_FANOUT_CPU> selects the socket based on the CPU that the packet "
+"arrived on."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<PACKET_FANOUT_ROLLOVER> processes all data on a single socket, moving to "
+"the next when one becomes backlogged."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<PACKET_FANOUT_RND> selects the socket using a pseudo-random number "
+"generator."
+msgstr ""
+
+#. commit 2d36097d26b5991d71a2cf4a20c1a158f0f1bfcd
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<PACKET_FANOUT_QM> (available since Linux 3.14) selects the socket using "
+"the recorded queue_mapping of the received skb."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Fanout modes can take additional options. IP fragmentation causes packets "
+"from the same flow to have different flow hashes. The flag "
+"B<PACKET_FANOUT_FLAG_DEFRAG>, if set, causes packets to be defragmented "
+"before fanout is applied, to preserve order even in this case. Fanout mode "
+"and options are communicated in the second 16 bits of the integer option "
+"value. The flag B<PACKET_FANOUT_FLAG_ROLLOVER> enables the roll over "
+"mechanism as a backup strategy: if the original fanout algorithm selects a "
+"backlogged socket, the packet rolls over to the next available one."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_LOSS> (with B<PACKET_TX_RING>)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When a malformed packet is encountered on a transmit ring, the default is to "
+"reset its I<tp_status> to B<TP_STATUS_WRONG_FORMAT> and abort the "
+"transmission immediately. The malformed packet blocks itself and "
+"subsequently enqueued packets from being sent. The format error must be "
+"fixed, the associated I<tp_status> reset to B<TP_STATUS_SEND_REQUEST>, and "
+"the transmission process restarted via B<send>(2). However, if "
+"B<PACKET_LOSS> is set, any malformed packet will be skipped, its "
+"I<tp_status> reset to B<TP_STATUS_AVAILABLE>, and the transmission process "
+"continued."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_RESERVE> (with B<PACKET_RX_RING>)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"By default, a packet receive ring writes packets immediately following the "
+"metadata structure and alignment padding. This integer option reserves "
+"additional headroom."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_RX_RING>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Create a memory-mapped ring buffer for asynchronous packet reception. The "
+"packet socket reserves a contiguous region of application address space, "
+"lays it out into an array of packet slots and copies packets (up to "
+"I<tp_snaplen>) into subsequent slots. Each packet is preceded by a "
+"metadata structure similar to I<tpacket_auxdata>. The protocol fields "
+"encode the offset to the data from the start of the metadata header. "
+"I<tp_net> stores the offset to the network layer. If the packet socket is "
+"of type B<SOCK_DGRAM>, then I<tp_mac> is the same. If it is of type "
+"B<SOCK_RAW>, then that field stores the offset to the link-layer frame. "
+"Packet socket and application communicate the head and tail of the ring "
+"through the I<tp_status> field. The packet socket owns all slots with "
+"I<tp_status> equal to B<TP_STATUS_KERNEL>. After filling a slot, it changes "
+"the status of the slot to transfer ownership to the application. During "
+"normal operation, the new I<tp_status> value has at least the "
+"B<TP_STATUS_USER> bit set to signal that a received packet has been stored. "
+"When the application has finished processing a packet, it transfers "
+"ownership of the slot back to the socket by setting I<tp_status> equal to "
+"B<TP_STATUS_KERNEL>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Packet sockets implement multiple variants of the packet ring. The "
+"implementation details are described in I<Documentation/networking/"
+"packet_mmap.rst> in the Linux kernel source tree."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_STATISTICS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Retrieve packet socket statistics in the form of a structure"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct tpacket_stats {\n"
+" unsigned int tp_packets; /* Total packet count */\n"
+" unsigned int tp_drops; /* Dropped packet count */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Receiving statistics resets the internal counters. The statistics structure "
+"differs when using a ring of variant B<TPACKET_V3>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_TIMESTAMP> (with B<PACKET_RX_RING>; since Linux 2.6.36)"
+msgstr ""
+
+#. commit 614f60fa9d73a9e8fdff3df83381907fea7c5649
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The packet receive ring always stores a timestamp in the metadata header. "
+"By default, this is a software generated timestamp generated when the packet "
+"is copied into the ring. This integer option selects the type of "
+"timestamp. Besides the default, it support the two hardware formats "
+"described in I<Documentation/networking/timestamping.rst> in the Linux "
+"kernel source tree."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_TX_RING> (since Linux 2.6.31)"
+msgstr ""
+
+#. commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Create a memory-mapped ring buffer for packet transmission. This option is "
+"similar to B<PACKET_RX_RING> and takes the same arguments. The application "
+"writes packets into slots with I<tp_status> equal to B<TP_STATUS_AVAILABLE> "
+"and schedules them for transmission by changing I<tp_status> to "
+"B<TP_STATUS_SEND_REQUEST>. When packets are ready to be transmitted, the "
+"application calls B<send>(2) or a variant thereof. The I<buf> and I<len> "
+"fields of this call are ignored. If an address is passed using "
+"B<sendto>(2) or B<sendmsg>(2), then that overrides the socket default. On "
+"successful transmission, the socket resets I<tp_status> to "
+"B<TP_STATUS_AVAILABLE>. It immediately aborts the transmission on error "
+"unless B<PACKET_LOSS> is set."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_VERSION> (with B<PACKET_RX_RING>; since Linux 2.6.27)"
+msgstr ""
+
+#. commit bbd6ef87c544d88c30e4b762b1b61ef267a7d279
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"By default, B<PACKET_RX_RING> creates a packet receive ring of variant "
+"B<TPACKET_V1>. To create another variant, configure the desired variant by "
+"setting this integer option before creating the ring."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<PACKET_QDISC_BYPASS> (since Linux 3.14)"
+msgstr ""
+
+#. commit d346a3fae3ff1d99f5d0c819bf86edf9094a26a1
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"By default, packets sent through packet sockets pass through the kernel's "
+"qdisc (traffic control) layer, which is fine for the vast majority of use "
+"cases. For traffic generator appliances using packet sockets that intend to "
+"brute-force flood the network\\[em]for example, to test devices under load "
+"in a similar fashion to pktgen\\[em]this layer can be bypassed by setting "
+"this integer option to 1. A side effect is that packet buffering in the "
+"qdisc layer is avoided, which will lead to increased drops when network "
+"device transmit queues are busy; therefore, use at your own risk."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Ioctls"
+msgstr ""
+
+#. FIXME Document SIOCGSTAMPNS
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<SIOCGSTAMP> can be used to receive the timestamp of the last received "
+"packet. Argument is a I<struct timeval> variable."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In addition, all standard ioctls defined in B<netdevice>(7) and "
+"B<socket>(7) are valid on packet sockets."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Error handling"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Packet sockets do no error handling other than errors occurred while passing "
+"the packet to the device driver. They don't have the concept of a pending "
+"error."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EADDRNOTAVAIL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Unknown multicast group address passed."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EFAULT>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "User passed invalid memory address."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Invalid argument."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EMSGSIZE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Packet is bigger than interface MTU."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENETDOWN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Interface is not up."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOBUFS>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Not enough memory to allocate the packet."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENODEV>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Unknown device name or interface index specified in interface address."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOENT>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "No packet received."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOTCONN>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "No interface address passed."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENXIO>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Interface address contained an invalid interface index."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPERM>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "User has insufficient privileges to carry out this operation."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "In addition, other errors may be generated by the low-level driver."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<AF_PACKET> is a new feature in Linux 2.2. Earlier Linux versions "
+"supported only B<SOCK_PACKET>."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For portable programs it is suggested to use B<AF_PACKET> via B<pcap>(3); "
+"although this covers only a subset of the B<AF_PACKET> features."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<SOCK_DGRAM> packet sockets make no attempt to create or parse the IEEE "
+"802.2 LLC header for a IEEE 802.3 frame. When B<ETH_P_802_3> is specified "
+"as protocol for sending the kernel creates the 802.3 frame and fills out the "
+"length field; the user has to supply the LLC header to get a fully "
+"conforming packet. Incoming 802.3 packets are not multiplexed on the DSAP/"
+"SSAP protocol fields; instead they are supplied to the user as protocol "
+"B<ETH_P_802_2> with the LLC header prefixed. It is thus not possible to "
+"bind to B<ETH_P_802_3>; bind to B<ETH_P_802_2> instead and do the protocol "
+"multiplex yourself. The default for sending is the standard Ethernet DIX "
+"encapsulation with the protocol filled in."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Packet sockets are not subject to the input or output firewall chains."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "In Linux 2.0, the only way to get a packet socket was with the call:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "socket(AF_INET, SOCK_PACKET, protocol)\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is still supported, but deprecated and strongly discouraged. The main "
+"difference between the two methods is that B<SOCK_PACKET> uses the old "
+"I<struct sockaddr_pkt> to specify an interface, which doesn't provide "
+"physical-layer independence."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sockaddr_pkt {\n"
+" unsigned short spkt_family;\n"
+" unsigned char spkt_device[14];\n"
+" unsigned short spkt_protocol;\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<spkt_family> contains the device type, I<spkt_protocol> is the IEEE 802.3 "
+"protocol type as defined in I<E<lt>sys/if_ether.hE<gt>> and I<spkt_device> "
+"is the device name as a null-terminated string, for example, eth0."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "This structure is obsolete and should not be used in new code."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LLC header handling"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The IEEE 802.2/803.3 LLC handling could be considered as a bug."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MSG_TRUNC issues"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<MSG_TRUNC> B<recvmsg>(2) extension is an ugly hack and should be "
+"replaced by a control message. There is currently no way to get the "
+"original destination address of packets via B<SOCK_DGRAM>."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "spkt_device device name truncation"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<spkt_device> field of I<sockaddr_pkt> has a size of 14 bytes, which is "
+"less than the constant B<IFNAMSIZ> defined in I<E<lt>net/if.hE<gt>> which is "
+"16 bytes and describes the system limit for a network interface name. This "
+"means the names of network devices longer than 14 bytes will be truncated to "
+"fit into I<spkt_device>. All these lengths include the terminating null "
+"byte (\\[aq]\\e0\\[aq]))."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Issues from this with old code typically show up with very long interface "
+"names used by the B<Predictable Network Interface Names> feature enabled by "
+"default in many modern Linux distributions."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The preferred solution is to rewrite code to avoid B<SOCK_PACKET>. Possible "
+"user solutions are to disable B<Predictable Network Interface Names> or to "
+"rename the interface to a name of at most 13 bytes, for example using the "
+"B<ip>(8) tool."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Documentation issues"
+msgstr ""
+
+#. .SH CREDITS
+#. This man page was written by Andi Kleen with help from Matthew Wilcox.
+#. AF_PACKET in Linux 2.2 was implemented
+#. by Alexey Kuznetsov, based on code by Alan Cox and others.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Socket filters are not documented."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<socket>(2), B<pcap>(3), B<capabilities>(7), B<ip>(7), B<raw>(7), "
+"B<socket>(7), B<ip>(8),"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"RFC\\ 894 for the standard IP Ethernet encapsulation. RFC\\ 1700 for the "
+"IEEE 802.3 IP encapsulation."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<E<lt>linux/if_ether.hE<gt>> include file for physical-layer protocols."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The Linux kernel source tree. I<Documentation/networking/filter.rst> "
+"describes how to apply Berkeley Packet Filters to packet sockets. I<tools/"
+"testing/selftests/net/psock_tpacket.c> contains example source code for all "
+"available versions of B<PACKET_RX_RING> and B<PACKET_TX_RING>."
+msgstr ""
+
+#. type: TH
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "2023-02-05"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-15"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""