linux/net/packet/af_packet.c
<<
>>
Prefs
   1/*
   2 * INET         An implementation of the TCP/IP protocol suite for the LINUX
   3 *              operating system.  INET is implemented using the  BSD Socket
   4 *              interface as the means of communication with the user level.
   5 *
   6 *              PACKET - implements raw packet sockets.
   7 *
   8 * Authors:     Ross Biro
   9 *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  10 *              Alan Cox, <gw4pts@gw4pts.ampr.org>
  11 *
  12 * Fixes:
  13 *              Alan Cox        :       verify_area() now used correctly
  14 *              Alan Cox        :       new skbuff lists, look ma no backlogs!
  15 *              Alan Cox        :       tidied skbuff lists.
  16 *              Alan Cox        :       Now uses generic datagram routines I
  17 *                                      added. Also fixed the peek/read crash
  18 *                                      from all old Linux datagram code.
  19 *              Alan Cox        :       Uses the improved datagram code.
  20 *              Alan Cox        :       Added NULL's for socket options.
  21 *              Alan Cox        :       Re-commented the code.
  22 *              Alan Cox        :       Use new kernel side addressing
  23 *              Rob Janssen     :       Correct MTU usage.
  24 *              Dave Platt      :       Counter leaks caused by incorrect
  25 *                                      interrupt locking and some slightly
  26 *                                      dubious gcc output. Can you read
  27 *                                      compiler: it said _VOLATILE_
  28 *      Richard Kooijman        :       Timestamp fixes.
  29 *              Alan Cox        :       New buffers. Use sk->mac.raw.
  30 *              Alan Cox        :       sendmsg/recvmsg support.
  31 *              Alan Cox        :       Protocol setting support
  32 *      Alexey Kuznetsov        :       Untied from IPv4 stack.
  33 *      Cyrus Durgin            :       Fixed kerneld for kmod.
  34 *      Michal Ostrowski        :       Module initialization cleanup.
  35 *         Ulises Alonso        :       Frame number limit removal and
  36 *                                      packet_set_ring memory leak.
  37 *              Eric Biederman  :       Allow for > 8 byte hardware addresses.
  38 *                                      The convention is that longer addresses
  39 *                                      will simply extend the hardware address
  40 *                                      byte arrays at the end of sockaddr_ll
  41 *                                      and packet_mreq.
  42 *              Johann Baudy    :       Added TX RING.
  43 *              Chetan Loke     :       Implemented TPACKET_V3 block abstraction
  44 *                                      layer.
  45 *                                      Copyright (C) 2011, <lokec@ccs.neu.edu>
  46 *
  47 *
  48 *              This program is free software; you can redistribute it and/or
  49 *              modify it under the terms of the GNU General Public License
  50 *              as published by the Free Software Foundation; either version
  51 *              2 of the License, or (at your option) any later version.
  52 *
  53 */
  54
  55#include <linux/types.h>
  56#include <linux/mm.h>
  57#include <linux/capability.h>
  58#include <linux/fcntl.h>
  59#include <linux/socket.h>
  60#include <linux/in.h>
  61#include <linux/inet.h>
  62#include <linux/netdevice.h>
  63#include <linux/if_packet.h>
  64#include <linux/wireless.h>
  65#include <linux/kernel.h>
  66#include <linux/kmod.h>
  67#include <linux/slab.h>
  68#include <linux/vmalloc.h>
  69#include <net/net_namespace.h>
  70#include <net/ip.h>
  71#include <net/protocol.h>
  72#include <linux/skbuff.h>
  73#include <net/sock.h>
  74#include <linux/errno.h>
  75#include <linux/timer.h>
  76#include <asm/uaccess.h>
  77#include <asm/ioctls.h>
  78#include <asm/page.h>
  79#include <asm/cacheflush.h>
  80#include <asm/io.h>
  81#include <linux/proc_fs.h>
  82#include <linux/seq_file.h>
  83#include <linux/poll.h>
  84#include <linux/module.h>
  85#include <linux/init.h>
  86#include <linux/mutex.h>
  87#include <linux/if_vlan.h>
  88#include <linux/virtio_net.h>
  89#include <linux/errqueue.h>
  90#include <linux/net_tstamp.h>
  91
  92#ifdef CONFIG_INET
  93#include <net/inet_common.h>
  94#endif
  95
  96#include "internal.h"
  97
  98/*
  99   Assumptions:
 100   - if device has no dev->hard_header routine, it adds and removes ll header
 101     inside itself. In this case ll header is invisible outside of device,
 102     but higher levels still should reserve dev->hard_header_len.
 103     Some devices are enough clever to reallocate skb, when header
 104     will not fit to reserved space (tunnel), another ones are silly
 105     (PPP).
 106   - packet socket receives packets with pulled ll header,
 107     so that SOCK_RAW should push it back.
 108
 109On receive:
 110-----------
 111
 112Incoming, dev->hard_header!=NULL
 113   mac_header -> ll header
 114   data       -> data
 115
 116Outgoing, dev->hard_header!=NULL
 117   mac_header -> ll header
 118   data       -> ll header
 119
 120Incoming, dev->hard_header==NULL
 121   mac_header -> UNKNOWN position. It is very likely, that it points to ll
 122                 header.  PPP makes it, that is wrong, because introduce
 123                 assymetry between rx and tx paths.
 124   data       -> data
 125
 126Outgoing, dev->hard_header==NULL
 127   mac_header -> data. ll header is still not built!
 128   data       -> data
 129
 130Resume
 131  If dev->hard_header==NULL we are unlikely to restore sensible ll header.
 132
 133
 134On transmit:
 135------------
 136
 137dev->hard_header != NULL
 138   mac_header -> ll header
 139   data       -> ll header
 140
 141dev->hard_header == NULL (ll header is added by device, we cannot control it)
 142   mac_header -> data
 143   data       -> data
 144
 145   We should set nh.raw on output to correct posistion,
 146   packet classifier depends on it.
 147 */
 148
 149/* Private packet socket structures. */
 150
 151/* identical to struct packet_mreq except it has
 152 * a longer address field.
 153 */
 154struct packet_mreq_max {
 155        int             mr_ifindex;
 156        unsigned short  mr_type;
 157        unsigned short  mr_alen;
 158        unsigned char   mr_address[MAX_ADDR_LEN];
 159};
 160
 161static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u,
 162                int closing, int tx_ring);
 163
 164
 165#define V3_ALIGNMENT    (8)
 166
 167#define BLK_HDR_LEN     (ALIGN(sizeof(struct tpacket_block_desc), V3_ALIGNMENT))
 168
 169#define BLK_PLUS_PRIV(sz_of_priv) \
 170        (BLK_HDR_LEN + ALIGN((sz_of_priv), V3_ALIGNMENT))
 171
 172#define PGV_FROM_VMALLOC 1
 173
 174#define BLOCK_STATUS(x) ((x)->hdr.bh1.block_status)
 175#define BLOCK_NUM_PKTS(x)       ((x)->hdr.bh1.num_pkts)
 176#define BLOCK_O2FP(x)           ((x)->hdr.bh1.offset_to_first_pkt)
 177#define BLOCK_LEN(x)            ((x)->hdr.bh1.blk_len)
 178#define BLOCK_SNUM(x)           ((x)->hdr.bh1.seq_num)
 179#define BLOCK_O2PRIV(x) ((x)->offset_to_priv)
 180#define BLOCK_PRIV(x)           ((void *)((char *)(x) + BLOCK_O2PRIV(x)))
 181
 182struct packet_sock;
 183static int tpacket_snd(struct packet_sock *po, struct msghdr *msg);
 184
 185static void *packet_previous_frame(struct packet_sock *po,
 186                struct packet_ring_buffer *rb,
 187                int status);
 188static void packet_increment_head(struct packet_ring_buffer *buff);
 189static int prb_curr_blk_in_use(struct tpacket_kbdq_core *,
 190                        struct tpacket_block_desc *);
 191static void *prb_dispatch_next_block(struct tpacket_kbdq_core *,
 192                        struct packet_sock *);
 193static void prb_retire_current_block(struct tpacket_kbdq_core *,
 194                struct packet_sock *, unsigned int status);
 195static int prb_queue_frozen(struct tpacket_kbdq_core *);
 196static void prb_open_block(struct tpacket_kbdq_core *,
 197                struct tpacket_block_desc *);
 198static void prb_retire_rx_blk_timer_expired(unsigned long);
 199static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *);
 200static void prb_init_blk_timer(struct packet_sock *,
 201                struct tpacket_kbdq_core *,
 202                void (*func) (unsigned long));
 203static void prb_fill_rxhash(struct tpacket_kbdq_core *, struct tpacket3_hdr *);
 204static void prb_clear_rxhash(struct tpacket_kbdq_core *,
 205                struct tpacket3_hdr *);
 206static void prb_fill_vlan_info(struct tpacket_kbdq_core *,
 207                struct tpacket3_hdr *);
 208static void packet_flush_mclist(struct sock *sk);
 209
 210struct packet_skb_cb {
 211        unsigned int origlen;
 212        union {
 213                struct sockaddr_pkt pkt;
 214                struct sockaddr_ll ll;
 215        } sa;
 216};
 217
 218#define PACKET_SKB_CB(__skb)    ((struct packet_skb_cb *)((__skb)->cb))
 219
 220#define GET_PBDQC_FROM_RB(x)    ((struct tpacket_kbdq_core *)(&(x)->prb_bdqc))
 221#define GET_PBLOCK_DESC(x, bid) \
 222        ((struct tpacket_block_desc *)((x)->pkbdq[(bid)].buffer))
 223#define GET_CURR_PBLOCK_DESC_FROM_CORE(x)       \
 224        ((struct tpacket_block_desc *)((x)->pkbdq[(x)->kactive_blk_num].buffer))
 225#define GET_NEXT_PRB_BLK_NUM(x) \
 226        (((x)->kactive_blk_num < ((x)->knum_blocks-1)) ? \
 227        ((x)->kactive_blk_num+1) : 0)
 228
 229static void __fanout_unlink(struct sock *sk, struct packet_sock *po);
 230static void __fanout_link(struct sock *sk, struct packet_sock *po);
 231
 232/* register_prot_hook must be invoked with the po->bind_lock held,
 233 * or from a context in which asynchronous accesses to the packet
 234 * socket is not possible (packet_create()).
 235 */
 236static void register_prot_hook(struct sock *sk)
 237{
 238        struct packet_sock *po = pkt_sk(sk);
 239        if (!po->running) {
 240                if (po->fanout)
 241                        __fanout_link(sk, po);
 242                else
 243                        dev_add_pack(&po->prot_hook);
 244                sock_hold(sk);
 245                po->running = 1;
 246        }
 247}
 248
 249/* {,__}unregister_prot_hook() must be invoked with the po->bind_lock
 250 * held.   If the sync parameter is true, we will temporarily drop
 251 * the po->bind_lock and do a synchronize_net to make sure no
 252 * asynchronous packet processing paths still refer to the elements
 253 * of po->prot_hook.  If the sync parameter is false, it is the
 254 * callers responsibility to take care of this.
 255 */
 256static void __unregister_prot_hook(struct sock *sk, bool sync)
 257{
 258        struct packet_sock *po = pkt_sk(sk);
 259
 260        po->running = 0;
 261        if (po->fanout)
 262                __fanout_unlink(sk, po);
 263        else
 264                __dev_remove_pack(&po->prot_hook);
 265        __sock_put(sk);
 266
 267        if (sync) {
 268                spin_unlock(&po->bind_lock);
 269                synchronize_net();
 270                spin_lock(&po->bind_lock);
 271        }
 272}
 273
 274static void unregister_prot_hook(struct sock *sk, bool sync)
 275{
 276        struct packet_sock *po = pkt_sk(sk);
 277
 278        if (po->running)
 279                __unregister_prot_hook(sk, sync);
 280}
 281
 282static inline __pure struct page *pgv_to_page(void *addr)
 283{
 284        if (is_vmalloc_addr(addr))
 285                return vmalloc_to_page(addr);
 286        return virt_to_page(addr);
 287}
 288
 289static void __packet_set_status(struct packet_sock *po, void *frame, int status)
 290{
 291        union {
 292                struct tpacket_hdr *h1;
 293                struct tpacket2_hdr *h2;
 294                void *raw;
 295        } h;
 296
 297        h.raw = frame;
 298        switch (po->tp_version) {
 299        case TPACKET_V1:
 300                h.h1->tp_status = status;
 301                flush_dcache_page(pgv_to_page(&h.h1->tp_status));
 302                break;
 303        case TPACKET_V2:
 304                h.h2->tp_status = status;
 305                flush_dcache_page(pgv_to_page(&h.h2->tp_status));
 306                break;
 307        case TPACKET_V3:
 308        default:
 309                WARN(1, "TPACKET version not supported.\n");
 310                BUG();
 311        }
 312
 313        smp_wmb();
 314}
 315
 316static int __packet_get_status(struct packet_sock *po, void *frame)
 317{
 318        union {
 319                struct tpacket_hdr *h1;
 320                struct tpacket2_hdr *h2;
 321                void *raw;
 322        } h;
 323
 324        smp_rmb();
 325
 326        h.raw = frame;
 327        switch (po->tp_version) {
 328        case TPACKET_V1:
 329                flush_dcache_page(pgv_to_page(&h.h1->tp_status));
 330                return h.h1->tp_status;
 331        case TPACKET_V2:
 332                flush_dcache_page(pgv_to_page(&h.h2->tp_status));
 333                return h.h2->tp_status;
 334        case TPACKET_V3:
 335        default:
 336                WARN(1, "TPACKET version not supported.\n");
 337                BUG();
 338                return 0;
 339        }
 340}
 341
 342static void *packet_lookup_frame(struct packet_sock *po,
 343                struct packet_ring_buffer *rb,
 344                unsigned int position,
 345                int status)
 346{
 347        unsigned int pg_vec_pos, frame_offset;
 348        union {
 349                struct tpacket_hdr *h1;
 350                struct tpacket2_hdr *h2;
 351                void *raw;
 352        } h;
 353
 354        pg_vec_pos = position / rb->frames_per_block;
 355        frame_offsete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242et 237{
h.raw = frame;
<.c#L242ete1.c#L242ete1.c#L242etpositipg_vec_pos = buffer))
 348        struct pgv_to_offsete1.c#L242ete1.c#L242ete1.*1.c#L242ete1.c#L242ete1.c#L242ete1.c#L242ete1.c#_sizef="net/packet/af_pac_sizeket.c242et 349
 230        sref">sync) {
frame;
<">__packet_get_status(struct .raw =  231        if (h. 232                 233        else
h.h2-> 234                 235         236
packe="+code=p_frame(struct packet_sock *po,
 237        if (tpack>packet_ring_buffer *rb,
 238                status)
 239                 230                h.packet_lookup_frame(struct .e1.c#L242ete1.c#L242ete1.c#L242ethea href="+code=sk"hea ket.c1.c#L242ete1;
 231        }
 232}
 233
prb_fidel_prb_refresh_rx_retire_blk_timerb_fidel_prb_refresh_rx_rt_sock" class="sref">packettpacket_kbdq_core *)(&(prbki 234static void  235{
framedel_;
h.runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_so.c#L195" id="L195" class="line" name3"L266"> 236        struct  237
 238        if (packet_sock *po,
 239                status)tx=rb"  *)(&( 230}
tpackskclass_hea href="+code=sk"skclass_hea sref">rb,
 231
 232static packettpacket_kbdq_core *)(&(prbki 233{
 234        if (pg_vec_pkiframe;
 *)(&(po->bind_loctx=rb"  *)(&(h2->))
po->bind_locrx=rb"  *)(&(h2->))
 235                ret3rn  236        return h.po->bind_loc(& 237}
h.running 238
h.po->bind_loc(& 239static void  230{
po->prbki 231        union {
 232                str3ct  233                str3ct prb_fiinitfresh_rx_retire_blk_timerb_fiinitfresh_rx_rt_sock" class="sref">packet_sock *po,
 234                voi3 *packettpacket_kbdq_core *)(&(prbki 235        } frame)
 236
 237        h.h.runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_so.c#L195" id="L195" class="line" name3"L298"> 238        switch (h.runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_so>h2->,
 239        case .runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_so>h2->e1.c#L242etframe;
 340                po->runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_so>h2->frame;
 340        union {
 342                bre4k;
 343        case prb_fisetup_prb_refresh_rx_retire_blk_timerb_fisetup_prb_refresh_rx_rt_sock" class="sref">packet_sock *po,
status)tx=rb"  *)(&( 344                 345                packettpacket_kbdq_core *)(&(prbki 346                bre4k;
 347        case sync) {
 *)(&( 347        switch (spin_uhref="net/packet/af_packet.c#L338" id="L338" class="line" name4"L309"> 349                 340                po->frame;
 *)(&(po->bind_loctx=rb"  *)(&(h2->))
po->bind_locrx=rb"  *)(&(h2->))
 341        }
prb_fiinitfresh_rx_retire_blk_timerb_fiinitfresh_rx_rt_socpo, void *.prb_fiprb_refrx=resh_rx_r_exp_re href="+code=sk"b_fiprb_refrx=resh_rx_r_exp_re t_so.c#L195" id="L195" class="line" name4"L312"> 342
 343         344}
pg_vec_p_ficalc_prb_refresh_m href="+code=fram_ficalc_prb_refresh_m t_sock" class="sref">packet_sock *po,
 345
pg_vec_reshsizeiin_bytehref="net/packetreshsizeiin_bytehket.c#L285" id="L285" class="line" name4"L316"> 346static int  347{
packet"L3_device *)(&(<"L3_devicesref">po,
 348        union {
pg_vec_mbithref="net/packetmbithket.sre0c.class="sref">prmstiprdivetire_blk_timerdivket.sre0c.class="sref">pr_m href="+code=fra_m t_soket.c#L261" id="L261" class="line" name4"L319"> 349                str4ct packetethtool_cm href="+code=sk"ethtool_cm ef="+s="sref">packetecm href="+code=sk"ecm ef="c#L261" id="L261" class="line" name4"L320"> 340                str4ct pg_vec_erretire_blk_timererref="c#L261" id="L261" class="line" name4"L311"> 341                voi4 *pru2      _timerucode=fl. 342        }  343
smp_wmb(& 344        smp_rmbframe;
, void *();
h.bind_locf="net/packet/af_packet.">po);
bind_locifindexetire_blk_timerifindext_so.c#L195" id="L195" class="line" name4"L325"> 345
sync) {
      _timeruss=kelys="sr!ref">smp_rmb 346        WARN(1, (& 347        switch (h. 348        case  349                .frame;
(struct , void *po-> 340                ret4rn po->frame;
h. 341        case prrtnl>(& 342                smp_rmb 343                ret4rn  344        case  345        default:

 346                 347                sync) {
frame;
 348                ret4rn 0;4h. 349        }
 340}
prmsti 341
prdivetire_blk_timerdivket.srepo-> 342static void * 343                str4ct  344                uns4gned 4nt  345                int4framembithref="net/packetmbithket.sref">sync) {
 346{
 347        unsigned in4 sync) {
 348        union {
spin_umbithref="net/packetmbithket.s/repo-> 349                str4ct  340                str4ct po->spin_umbithref="net/packetmbithket.s*1.c#L242ete1msti 341                voi4 * 342        } sync) {
 343
h. 344        h. 345         247{
prb_fiinitfft_op packettpacket_kbdq_core *)(&(prb"net/packet/af_pp1ket.c#L343" id="L343" class="line" name4"L348"> 348        struct packettpacket_req_u *)(&(prreq_u *)(&( 349
 240        po->e1.c#L242eteeaef"e"req_wor href="+code=sk"eeaef"e"req_wor t_sokets="sref">spin_ureq_u *)(&(runningrq 241        if ( 242                 243        else
prinitf/a>))
packet_sock *po,
 244                tpack>packet_ring_buffer *rb,
 245        tpack>gvetire_blk_timer>gvsref">po,

packettpacket_req_u *)(&(prreq_u *)(&(status)tx=rb"  *)(&( 247        if ( 248                packettpacket_kbdq_core *)(&(prb"net/packet/af_pp1ket.ketref">po-> 249                packeta href="/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb href="+code=sk"bb t_soc#L246" id="L246" class="line" name4"L270"> 240                 241        }
prmema>e1.c#L242etemema>et_socpo, void *frame)
 242}
 243
smp_wmbe1.c#L242etknx"+coq_numnet/packet/af_pknx"+coq_numket.sre.c#L246" id="L246" class="line" name4"L274"> 244static void pg_vec_p"net/packet/af_pp1ket.te1.c#L242etp+codnet/packet/af_pp+codt_sokets="sref">spin_u=ositi 245{
framebb href="+code=sk"bb t_sosrefk" class="sref">packeta href="/a>e1_desa href="net/packa href="/a>e1_desaclass=.po,
buffer))
        struct h.e1.c#L242etp+ceshstare1.c#L242etep+ceshstaret_sokets="sref">spin_u=ositibuffer))
 247
h.e1.c#L242etkreshsizenet/packet/af_pkreshsizet_sokets="sref">spin_ureq_u *)(&(runningrq 248        if (h.e1.c#L242etknum_/a>e1 spin_ureq_u *)(&(runningrqe1_n cketc#L246" id="L246" class="line" name4"L269"> 249                .e1.c#L242ethdrle/a>e1.c#L242etspin_u=ef="+code=tp_version" class="sref">tp_versionhdrle/a>e1.c#L242et 240}
po->e1.c#L242et) {
spin_u=ef="+code=tp_version" class="sref">tp_version) {
 241
prb"net/packet/af_pp1ket.te1.c#L242et/pa="+activefreshnumnet/packet/af_p/pa="+activefreshnumackeket 242static spin_u=ef="+code=tp_version" class="sref">tp_versill_s_u *)(&(h2-> 243{
sync) {
 *)(&(runningrq 244        if (prb"net/packet/af_pp1ket.te1.c#L242etprb_refresh_ovetire_blk_timerprb_refresh_ovket.kets="sref">spin_ureq_u *)(&(runningrq 245                ret4rn         return WARN(1, e1.c#L242etprb_refresh_ovetire_blk_timerprb_refresh_ovket.kets="sref">spin_up_ficalc_prb_refresh_m href="+code=fram_ficalc_prb_refresh_m t_socpo,
 247}
spin_ureq_u *)(&(runningrq 248
h.e1.c#L242et_oviin_jiffiehref="net/packet_oviin_jiffieht_sokets="sref">spin_umsecs=h" jiffiehref="net/packetmsecs=h" jiffieht_socpo, void *e1.c#L242etprb_refresh_ovetire_blk_timerprb_refresh_ovket..c#L333" id="L333" class="line" name4"L269"> 249static void .e1.c#L242etreshsizeo="lrivetire_blk_timerreshsizeo="lrivket.kets="sref">spin_ureq_u *)(&(runningrq 240{
 241        union {
prb_fiinitfft_op prreq_u *)(&( 242                str4ct spin_u=_fisetup_prb_refresh_rx_retire_blk_timerb_fisetup_prb_refresh_rx_rt_socpo,
status)tx=rb"  *)(&( 243                str4ct smp_wmbe1.c#L242eter_fiopentet_socpo, void *prbb href="+code=sk"bb t_socc#L246" id="L246" class="line" name4"L284"> 244                voi4 * 245        }  246
 247         248        switch ( 249        case pr_b_fiprereshfrx=prb_refresh_rx_retire_blk_timer_b_fiprereshfrx=prb_refresh_rx_rt_sock" class="sref">packettpacket_kbdq_core *)(&(prbki 350                 350        union {
prmodh_rx_retire_blk_timermodh_rx_rt_socef">h.runningrb_refresh_rx_retire_blk_timerprb_refresh_rx_rt_soc#L343" id="L343" class="line" name5"L302"> 352                bre5k;
prjiffiehref="net/packetjiffiehket. +>po->running 353        case smp_wmbrunningsmp_wmbrunning 353                voi5ref="50cket.c#L315" id="L315" class="line" name5"L305"> 355                 356                bre5k;
 357        case  357        switch ( 359                 350                 351        }
 352
e-size, on a 1Gbpst  ce, ithwill takeacket.c#L256" id="L256" class="line" name5"L303"> 353        e +>ii) memcpy etc.acket.c#L256" id="L256" class="line" name5"4303"> 354}
 355
 356static int  357{
eet/astill godtb"  fille efket.c#L256" id="L256" class="line" name5"8307"> 358        union {
 359                str5ct  350                str5ct  351                voi5 * 352        }  353
 354         355
e-size.acket.c#L256" id="L256" class="line" name5"L306"> 356         357        switch ( 358        case  359                prb_fiprb_refrx=resh_rx_r_exp_re href="+code=sk"b_fiprb_refrx=resh_rx_r_exp_re t_so(ec_pos" clongepo-> 350                ret5rn  351        case packet_sock *po,
packet_sock *.po,
 352                packettpacket_kbdq_core *)(&(prbkipo->bind_locrx=rb"  *)(&(h2->))
 353                ret5rn pg_vec_froze/a>e1.c#L242et 354        case packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb href="+code=sk"bb t_soc#L246" id="L246" class="line" name5"L325"> 355        default:
 356                h.po->bind_locf="net/packet/af_packet>h2-> *)(&(h2-> 357                 358                ret5rn 0;538ass="sref">h.spin_up_fiqueue_froze/a>e1.c#L242et, void * 359        }
.., void * 350}
 351
sync) {
      _timeruss=kelys="srref">smp_wmbrunning 352static void *runningeouet_soc#L246" id="L246" class="line" name5"L343"> 353                str5ct  354                uns5gned 54ec_pos" class= 355                int5
 356{
e();clacrecket BLOCK_NUM_PKTS; (&()acket.c#L256" id="L256" class="line" name5"L337"> 357        unsigned in5  358        union {
 359                str5ct  350                str5ct  351                voi5 * 352        }  353
sync) {
eBLOCK_NUM_PKTSs="srref">smp_wmb 354        smp_wmbh.running 355         35we will tempora"net/pack5t/af_55ode=WARN" class="srefffffffffref">running 257{
 358        struct  359
 250        sref">sync) {
runningsmp_wmbrunning 251        if (smp_rmbe1.c#L242et 352                prb_fiprb_refcurrkette1.c#L242eter_fiprb_refcurrkettes="srref">smp_wmbpo);
po);
 253        else
smp_rmbe1.c#L242eter_fidikettch_nexttes="srref">smp_wmbpo);
 254                running 255        
runningeouet_soc#L246" id="L246" class="line" name5"L267"> 257        if ( 258                 259                 250                 251        }
sync) {
er_ficurrfreshin_us_s="srref">smp_wmbpo);
 252}
 253
 254static void  255{
        struct running 257
 258        if ( 259                ref"> is t_rx_r fire .acket.c#L256" id="L256" class="line" name5"L280"> 250}
e to close.So we open ist/acket.c#L256" id="L256" class="line" name5"L261"> 251
e anderestare is t_rx_r.acket.c#L256" id="L256" class="line" name5"L282"> 252static e thaws is tqueue,restarest_rx_racket.c#L256" id="L256" class="line" name5"L273"> 253{
 254        if ( 255                ret5rn sync) {
e1.c#L242eter_fiopentet_socpo, void *po);
        return runningeouet_soc#L246" id="L246" class="line" name5"L287"> 257}
 258
 259static void  250{
 251        union {
running 252                str5ct spin_u_b_fiprereshfrx=prb_refresh_rx_retire_blk_timer_b_fiprereshfrx=prb_refresh_rx_rt_socpo, void * 253                str5ct  254                voi5 *runningeouet_so:#L246" id="L246" class="line" name5"L265"> 255        } framee=po"(&(&ss="sref">po->bind_locf="net/packet/af_packet>h2-> *)(&(h2-> 256
 257         258        switch (prb_fiflushfe1.c#L242eter_fiflushfess="sk" class="sref">packettpacket_kbdq_core *)(&(prbki"net/packet/af_ppki"ket."#L278" id="L278" class="line" name5"L269"> 259        case packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb "net/packet/af_ppb "ket.">po);
      _timer__u2-> 360                 360        union {
eehea _r *packet.c#L256" id="L256" class="line" name6"L302"> 362                bre6k;
 363        case -> 363                voi6ref="60ec_pos" class="sref">pg_vec_u8href="+code=sk"u8class=class="sref">prstare1.c#L242etestaret_so,s=class="sref">pren href="+code=sk"en t_soc#L246" id="L246" class="line" name6"L305"> 365                 366                bre6k;
h.sync) {
,
 366         367        switch ( 367        case .smp_wmb 360                 361        }
pren href="+code=sk"en t_sosref">sync) {
,
,
e1.c#L242etp+ceshen href="+code=sk"p+ceshen cket.c#L271" id="L271" class="line" name6"L302"> 362
e1ktare1.c#L242etestaret_sos<e1.c#L242ete1en href="+code=sk"en t_soc .smp_wmb 363        smp_rmb *)(&(, void * *)(&(, void *estaret_sot.c#L333" id="L333" class="line" name6"4303"> 364}
 365
frameemp_wm"net/packet/af_pemp_wm"t_soccc#L271" id="L271" class="line" name6"L306"> 366static int  367{
 368        union {
eeill_uh.e*packet.c#L256" id="L256" class="line" name6"L309"> 369                str6ct  360                str6ct po->, void *-> 361                voi6 * 362        } eehea _r *packet.c#L256" id="L256" class="line" name6"L303"> 363
 364         365
frameetare1.c#L242etestaret_sosref">sync) {
,
 366        h. *)(&(, void * *)(&(, void *estaret_sot.c#L333" id="L333" class="line" name6"L307"> 367        switch ( 368        case h. 369                 360                ret6rn  361        case  362                 363                ret6rn  364        case  365        default:

 366                 367                 368                ret6rn 0;638ass=
 369        }
eewill be opene .acket.c#L256" id="L256" class="line" name6"L340"> 360}
eehea _r *packet.c#L256" id="L256" cl"L341"> 361
prb_ficlosefe1.c#L242eter_ficlosefess="sk" class="sref">packettpacket_kbdq_core *)(&(prbki"net/packet/af_ppki"ket."#L278" id="L278" class="line" name6"L332"> 362static void *packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb "net/packet/af_ppb "ket."#L278" id="L278" class="line" name6"L333"> 363                str6ct packet_sock *po,
pg_vec_ill_ref="net/packetill_ket..#L278" id="L278" class="line" name6"L334"> 364                uns6gned 64ec_poc#L318" id="L318" class="line" name6"L325"> 365                int6frame__u2      _timer__u2->pg_vec_ill_ref="net/packetill_ket.c#L271" id="L271" class="line" name6"L346"> 366{
 367        unsigned in6 packettpacket3nhdr href="net/packa href=3nhdrsref">po,
 368        union {
packettpacket_hdr_v"net/packet/af_ptpacket_hdr_v"sref">po,
po->e1.c#L242ethdrnet/packet/af_phdrsrefref">buffer))h"net/packet/af_pbh"ket.c#L246" id="L246" class="line" name6"L339"> 369                str6ct  360                str6ct sref">sync) {
tp_versill_sref="net/packetill_ssrefref">buffer)tp_drop  361                voi6 *-> 362        }  363
packeta href=3nhdr href="net/packa href=3nhdrsref">.po,
e1.c#L242etprevetire_blk_timerprevket.c#L246" id="L246" class="line" name6"L334"> 364        pg_vec_lpa="pk_ref="net/packetlpa="pk_ket.class="sref">tp_versionnexttoffsee1.c#L242etetp_nexttoffseeket.sre 365         36we will tempora"net/pack6t/af_65ode=WARN" claceehea _r *packet.c#L256" id="L256" cl"L257"> 267{
sync) {
eBLOCK_NUM_PKTSs="srref">smp_wmb 368        struct ,
tp_versis_lpa="pk_ref="net/packetis_lpa="pk_srefref">buffer)ts_stitp_versionsti 369
tp_versis_lpa="pk_ref="net/packetis_lpa="pk_srefref">buffer)ts_nstitp_versionnsti 260        cket.c.c#L328" id="L328" class="line" name6"L261"> 261        if (eehea _r *packet.c#L256" id="L256" cl"L332"> 362                packetarx_spti 263        else
po-> 264                ,
tp_versis_lpa="pk_ref="net/packetis_lpa="pk_srefref">buffer)ts_stibuffer)tv_sti 265        ,
tp_versis_lpa="pk_ref="net/packetis_lpa="pk_srefref">buffer)ts_nstibuffer)tv_nsti 366
 267        if ( 268                h. 269                 260                p 261        }
prb_fiflushfe1.c#L242eter_fiflushfess="sclass="sref">prbki"net/packet/af_ppki"ket.">po);
po);
 262}
 263
smp_wmbe1.c#L242et+activefreshnumnet/packet/af_p+activefreshnumackesre.prbki"net/packet/af_ppki"ket..c#L271" id="L271" class="line" name6"L264"> 264static void  265{
        struct prb_fithawfqueue *)(&(packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket..#L278" id="L278" class="line" name6"L267"> 267
 268        if (h.runningrsf="pen ing_onicurrfres 269                 260}
 261
 262static e:acket.c#L256" id="L256" class="line" name6"L273"> 263{
 264        if ( 265                ret6rn 
        return  267}
eehea _r *packet.c#L256" id="L256" cl"L288"> 268
prb_fiopente1.c#L242eter_fiopentet_sock" class="sref">packettpacket_kbdq_core *)(&(prbki"net/packet/af_ppki"ket."#L278" id="L278" class="line" name6"L269"> 269static void packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb "net/packet/af_ppb "ket..#L278" id="L278" class="line" name6"L290"> 260{
 261        union {
packetarx_spti 262                str6ct packettpacket_hdr_v"net/packet/af_ptpacket_hdr_v"sref">po,
po->e1.c#L242ethdrnet/packet/af_phdrsrefref">buffer))h"net/packet/af_pbh"ket.c#L246" id="L246" class="line" name6"L273"> 263                str6ct  264                voi6 *pg_vec_emp_rm"net/packet/af_pemp_rm"t_soccc#L271" id="L271" class="line" name6"L265"> 265        }  266
sync) {
      _timers=kelys="srref">smp_wmb. 267         268        switch ( 269        case  370                eehea _r *packet.c#L256" id="L256" c7"1300"> 370        union {
->, void *spin_upki"net/packet/af_ppki"ket.te1.c#L242et+nxt_seqhnumnet/packet/af_p+nxt_seqhnumket.++c#L271" id="L271" class="line" name7"L302"> 372                bre7k;
sync) {
eBLOCK_NUM_PKTSs="srref">smp_wmb 373        case , void *spin_uBLK_PLUS_PRIV class="string"BLK_PLUS_PRIVss="sclass="sref">prbki"net/packet/af_ppki"ket.ss="sref">running 373                voi7ref="70ef="+code=raw" class=po,
      _timergodnstrx_ofdays="srref">po-> 375                ,
tp_versis_fira="pk_ref="net/packetis_fira="pk_srefref">buffer)ts_stibuffer)tv_sti 376                bre7k;
tp_versis_fira="pk_ref="net/packetis_fira="pk_srefref">buffer)ts_nstibuffer)tv_nsti 376        prbki"net/packet/af_ppki"ket.ss="sref">runningep+ceshktarecketsre(chars=.po,
 377        switch (runningenxttoffseeket.sreclass="sref">prbki"net/packet/af_ppki"ket.ss="sref">runningep+ceshktareckets+ts="sref">spin_uBLK_PLUS_PRIV class="string"BLK_PLUS_PRIVss="sclass="sref">prbki"net/packet/af_ppki"ket.ss="sref">running 377        case , void *, void *<__u2      _timer__u2,
prbki"net/packet/af_ppki"ket.ss="sref">running 370                , void *spin_uBLK_HDR_LEn class="string"BLK_HDR_LEnket.c#L246" id="L246" class="line" name7"L311"> 371        }
->e1.c#L242etversio/a>e1.c#L242etprbki"net/packet/af_ppki"ket.ss="sref">runninge1.c#L242et 372
sync) {
<=ki"net/packet/af_ppki"ket.te1.c#L242etprevetire_blk_timerprevket.sreclass="sref">prbki"net/packet/af_ppki"ket.ss="sref">runningenxttoffseeket.c#L246" id="L246" class="line" name7"L303"> 373        smp_rmbe1.c#L242etp+ceshen href="+code=sk"p+ceshen cketsreclass="sref">prbki"net/packet/af_ppki"ket.ss="sref">runningep+ceshktareckets+ts="sref">spin_upki"net/packet/af_ppki"ket.te1.c#L242et+beshsizenet/packet/af_p+beshsizeket.c#L246" id="L246" class="line" name7"4303"> 374}
,
 *)(&(prbki"net/packet/af_ppki"ket..c#L271" id="L271" class="line" name7"L305"> 375
,
, void * 376static int  377{
premp_wm"net/packet/af_pemp_wm"t_soccc#L271" id="L271" class="line" name7"8307"> 378        union {
 379                str7ct  370                str7ct c#L315" id="L315" class="line" name7"L311"> 371                voi7 * 372        } spin_uWARn class="string"WARnt_soc1,fp"ERROR e:%p t/aNOT FREEeill_uh:%d +activefreshnum:%d\n"tb/a>ee"#L278" id="L278" class="line" name7"L303"> 373
smp_rmbpo);
, void *po);
e1.c#L242et+activefreshnumnet/packet/af_p+activefreshnumackecc#L271" id="L271" class="line" name7"4303"> 374        pg_vec_dump_ill>e1.c#L242etedump_ill>et_soccc#L271" id="L271" class="line" name7"L305"> 375
frameBUGref="net/packetBUGt_soccc#L271" id="L271" class="line" name7"L306"> 376         377        switch ( 378        case  379                 370                ret7rn  *)(&(e1_nrsre8 es.acket.c#L256" id="L256" class="line" name7"L311"> 371        case  372                es stareb"  from 0 .. 7acket.c#L256" id="L256" class="line" name7"L303"> 373                ret7rn e '0'.acket.c#L256" id="L256" class="line" name7"4303"> 374        case e '7',esb"ce thereht/ano  375        default:

 376                 377                eacket.c#L256" id="L256" class="line" name7"8307"> 378                ret7rn 0;738ass=
 379        }
e()acket.c#L256" id="L256" class="line" name7"L340"> 370}
(BLOCK_STATUSkereUSER) evaluateheto trueacket.c#L256" id="L256" class="line" name7"L341"> 371
e-0ht/acurrketlytin-us_,ew tjust ereeze is tqueue.acket.c#L256" id="L256" class="line" name7"L332"> 372static void * 373                str7ct  374                uns7gned 74llers responsibility to take*         But prmember, is t pa= opente()arrereshe  is t_rx_r.acket.c#L256" id="L256" class="line" name7"L325"> 375                int7
 376{
e-0htn near future.acket.c#L256" id="L256" class="line" name7"L307"> 377        unsigned in7  378        union {
e will che>e if b/a>e-0acket.c#L256" id="L256" class="line" name7"L329"> 379                str7ct  370                str7ct  *)(&(eehea _r *packet.c#L256" id="L256" c7"L351"> 371                voi7 *prb_fiereezefqueue *)(&(packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name7"L332"> 372        } packet_sock *po,
 373
 374        pg_vec_bkirunningrsf="pen ing_onicurrfres 375        frameref="+code=tp_version" class="sref">tp_versill_s_unet/packet/af_pell_s_ucketref">buffer)ell_s3net/packet/af_pell_s3cketref">buffer)tpiereezefq_cne1.c#L242etetp_ereezefq_cnecket++c#L271" id="L271" class="line" name7"L346"> 37we will tempora"net/pack7t/af_75ode=Wc#L273" id="L273" class="line" name7"L257"> 277{
 378        struct , void *, void *po);
 379
 270         271        if ( 372                 273        else
 274                 375        eehea _r *packet.c#L256" id="L256" c7"L346"> 376
po,
e *)(&(et_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name7"L267"> 277        if (packet_sock *po,
 278                 279                packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket.c#L246" id="L246" class="line" name7"L270"> 270                 271        }
premp_rm"net/packet/af_pemp_rm"t_soccc#L271" id="L271" class="line" name7"L272"> 272}
 273
eenumf* tb/a>eehea _r *packet.c#L256" id="L256" c7"L264"> 274static void pg_vec_bb net/packet/af_ppb ket.sre. 375{
        struct  277
sync) {
>po);
, void * 278        if (prbkinet/packet/af_ppkiket."ass="sref">frameref="+code=tp_version" cc#L271" id="L271" class="line" name7"L269"> 279                frameNULLref="net/packetNULLket.c#L246" id="L246" class="line" name7"L280"> 270}
c#L315" id="L315" class="line" name7"L261"> 271
 272static eehea _r *packet.c#L256" id="L256" c7"L273"> 273{
 274        if (eeandereburnais toffsee wherehis tfira= line" acket.c#L256" id="L256" class="line" name7"L325"> 375                ret7rn 
        return eehea _r *packet.c#L256" id="L256" c7"L267"> 277}
pg_vec_b_fiopente1.c#L242eter_fiopentet_socclass="sref">prbkinet/packet/af_ppkiket."ass="sref">framerb net/packet/af_ppb ket.)c#L246" id="L246" class="line" name7"L268"> 278
.po,
runningenxttoffseeket.c#L246" id="L246" class="line" name7"L269"> 279static void  270{
 271        union {
prb_fiprb_refcurrkette1.c#L242eter_fiprb_refcurrkettet_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name7"L282"> 272                str7ct packet_sock *po,
pg_vec_ill_uhref="net/packetill_uhcket.#L278" id="L278" class="line" name7"L273"> 273                str7ct  274                voi7 *packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket.sre. 275        }  276
 277        sync) {
      _timers=kelys="srref">smp_wmb. 278        switch ( 279        case eehea _r *packet.c#L256" id="L256" c8"L300"> 380                eehea _r *packet.c#L256" id="L256" c8"1300"> 380        union {
eean ck/a>eehea _r *packet.c#L256" id="L256" c8"2300"> 380                str8k;
 383        case  383                voi8ref="80llers responsibility to takeffffffffeeeeeeee* We don't needhto worry aboud is tTMOtcaseebecauseacket.c#L256" id="L256" class="line" name8"5303"> 383        } 
 386                bre8k;
 386        , void *>po);
 387        switch (sync) {
po->running 387        case eehea _r *packet.c#L256" id="L256" c8"L310"> 380                running 381        }
 382
 383        smp_rmbe1.c#L242eter_ficlosefess="sclass="sref">prbkinet/packet/af_ppkiket."ass="sref">framerb net/packet/af_ppb ket."ass="sref">frameref="+code=tp_version" ">po);
 384}
 385
 386static int  387{
pg_vec_WARn class="string"WARnt_soc1,fp"ERROR-pb [%d]:%p\n"tb/a>ee"s="sref">pg_vec_bkirunningframerb net/packet/af_ppb ket.)c#L246" id="L246" class="line" name8"8307"> 388        union {
h. 389                str8ct . 380                str8ct  381                voi8 * 382        } pg_vec_r_ficurrfres_in_use1.c#L242eter_ficurrfres_in_uset_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"L303"> 383
packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket..#L278" id="L278" class="line" name8"4303"> 384         385
frameTP_STATUS_USERref="net/packetTP_STATUS_USERcketsref">>po);
, void * 386         387        switch ( 388        case pg_vec_r_fiqueue_froze/1.c#L242eter_fiqueue_froze/t_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket..#L278" id="L278" class="line" name8"9307"> 389                 380                ret8rn framebkirunningrsf="pen ing_onicurrfres 381        case  382                 383                ret8rn prb_ficlearfres_fillhill_uhref="net/packetb_ficlearfres_fillhill_uht_sock" class="sref">packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket..#L278" id="L278" class="line" name8"4303"> 384        case  385        default:
packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket. sre. 386                sync) {
po->running 387                 388                ret8rn 0;838t/af#L271" id="L271" class="line" name8"L329"> 389        }
prb_fieillhrxhash class="string"b_fieillhrxhasht_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"L340"> 380}
packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=class="sref">prbp net/packet/af_ppp ket..#L278" id="L278" class="line" name8"L341"> 381
 382static void *spin_ubp net/packet/af_ppp ket.te1.c#L242ethv"net/packet/af_phv"srefref">buffer)tpirxhash class="string"tpirxhashket.sre.prbkinet/packet/af_ppkiket.class="sref">tp_versik"net/packet/af_pekbket..c#L271" id="L271" class="line" name8"L333"> 383                str8ct  384                uns8gned 84llers#L273" id="L273" class="line" name8"L305"> 385                int8ill_rxhash" class="sref">prb_ficlearfrxhash class="string"b_ficlearfrxhasht_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"L306"> 386{
packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=class="sref">prbp net/packet/af_ppp ket..#L278" id="L278" class="line" name8"L307"> 387        unsigned in8  388        union {
h.buffer)tpirxhash class="string"tpirxhashket.sre 389                str8ct  380                str8ct  381                voi8 *prb_fieillhvlanhinfef="+code=tp_vers_fieillhvlanhinfet_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"L332"> 382        } packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=class="sref">prbp net/packet/af_ppp ket..#L278" id="L278" class="line" name8"L353"> 383
 384        sync) {
evlanhtx_tag_preseness="sclass="sref">prbkinet/packet/af_ppkiket.class="sref">tp_versik"net/packet/af_pekbket..t.c#L328" id="L328" class="line" name8"L325"> 385        ,
e1.c#L242ethv"net/packet/af_phv"srefref">buffer)tpivlanhtci class="string"tpivlanhtciket.sre.prbkinet/packet/af_ppkiket.class="sref">tp_versik"net/packet/af_pekbket..c#L271" id="L271" class="line" name8"L346"> 38we will tempora"net/pack8t/af_85ode=WARN" class="srefpo,
e1.c#L242ettphill_uhref="net/packettphill_uhket.sre. 287{
 388        struct ,
e1.c#L242ethv"net/packet/af_phv"srefref">buffer)tpivlanhtci class="string"tpivlanhtciket.sre 389
. 280        c#L315" id="L315" class="line" name8"L261"> 281        if ( 382                 283        else
prb_firun_allhft_ophref="net/packetb_firun_allhft_opht_sock" class="sref">packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"L264"> 284                packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=class="sref">prbp net/packet/af_ppp ket..#L278" id="L278" class="line" name8"L325"> 385         386
sync) {
prbkinet/packet/af_ppkiket."tpo,
 287        if ( 288                sync) {
tp_versfeature_req_wor net/packet/af_pfeature_req_wor cketsref">>po);
 389                prbkinet/packet/af_ppkiket."tpo,
 280                else#L271" id="L271" class="line" name8"L261"> 281        }
->prbkinet/packet/af_ppkiket."tpo,
 382}
 283
 284static void prb_fieillhcurrfrea>e1.c#L242eter_fieillhcurrfrea>et_socchars=class="sref">prcurr1.c#L242etecurrket."#L278" id="L278" class="line" name8"L325"> 385{
packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket."#L278" id="L278" class="line" name8"is true,86        struct packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket."#L278" id="L278" class="line" name8"L267"> 287
pg_vec_le/1.c#L242etele/t_so.#L278" id="L278" class="line" name8"L268"> 288        if ( 289                packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=class="sref">prbp net/packet/af_ppp ket.c#L271" id="L271" class="line" name8"L280"> 280}
 281
prbp net/packet/af_ppp ket. sreck" class="sref">packettpacket3_hdrnet/packet/af_ptpacket3_hdrclass=.po,
ecurrket.c#L271" id="L271" class="line" name8"L332"> 382static spin_ubp net/packet/af_ppp ket.te1.c#L242ettphnexttoffsee1.c#L242etetphnexttoffseeket.sre., void *ele/t_so.c#L271" id="L271" class="line" name8"L263"> 283{
spin_ubkinet/packet/af_ppkiket.class="sref">tp_versprevetire_blk_timerprevket.sreclass="sref">prcurr1.c#L242etecurrket.c#L271" id="L271" class="line" name8"L264"> 284        if (pg_vec_bkirunningenxttoffseeket.s+re., void *ele/t_so.c#L271" id="L271" class="line" name8"L325"> 385                ret8rn frameBLOCK_LEn class="string"BLOCK_LEnt_socclass="sref">prbb net/packet/af_ppb ket.)s+re., void *ele/t_so.c#L271" id="L271" class="line" name8"is true,86        return sync) {
prbb net/packet/af_ppb ket.)s+re1c#L271" id="L271" class="line" name8"L267"> 287}
pg_vec_atomic_inipo->running 288
h.prbkinet/packet/af_ppkiket."tpo,
 289static void  280{
 281        union {
 282                str8ct po,
enet/packet/af_p_"line" _lookup_fr   hin_b/a>eacsock" class="sref">packet href="a> *po,
 283                str8ct packetsk_buffnet/packet/af_pek_buffsref">po,
 284                voi8 *pg_vec_ill_uhref="net/packetill_uhcketchea _r *packet.c#L256" id="L256" c8"L325"> 385        } pg_vec_le/1.c#L242etele/t_sohea _r *packet.c#L256" id="L256" c8"is true,86
 287         288        switch (packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket.c#L271" id="L271" class="line" name8"L269"> 289        case packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket.c#L246" id="L246" class="line" name9"L300"> 390                chars=class="sref">prcurr1.c#L242etecurrket."s=class="sref">pren net/packet/af_pen ket.c#L246" id="L246" class="line" name9"1300"> 390        union {
 390                str9k;
spin_ubkinet/packet/af_ppkiket. re.po->tp_versrx=ping"="+code=tp_verrx=pingket..c#L271" id="L271" class="line" name9"L303"> 393        case spin_ubb net/packet/af_ppb ket.sre. 393                voi9ref="90llers#L273" id="L273" class="line" name9"5303"> 393        } eehea _r *packet.c#L256" id="L256" c9"L306"> 396                bre9k;
sync) {
er_fiqueue_froze/t_socpo, void * 396         397        switch ( 397        case  390                eehea _r *packet.c#L256" id="L256" c9"L311"> 391        }
sync) {
er_ficurrfres_in_uset_socclass="sref">prbkinet/packet/af_ppkiket."tpo,
 392
eehea _r *packet.c#L256" id="L256" c9"L303"> 393        frameNULLref="net/packetNULLket.c#L246" id="L246" class="line" name9"4303"> 394}
 395
 396static int  397{
e.acket.c#L256" id="L256" class="line" name9"8307"> 398        union {
eealso thaws is tqueue.acket.c#L256" id="L256" class="line" name9"9307"> 399                str9ct  390                str9ct  391                voi9 *sync) {
e1.c#L242eter_fiopentet_socclass="sref">prbkinet/packet/af_ppkiket."ass="sref">framerb net/packet/af_ppb ket.)c#L246" id="L246" class="line" name9"L312"> 392        }  393
 394         395
frameemp_m"net/packet/af_pemp_m"t_soccc#L271" id="L271" class="line" name9"L306"> 396        sync) {
ecurrket.sre.runningenxttoffseeket.c#L246" id="L246" class="line" name9"L307"> 397        switch (pg_vec_bkinet/packet/af_ppkiket.class="sref">tp_versik"net/packet/af_pekbket.sre. 398        case h.pg_vec_bkirunninge+res_sizeket.c#L246" id="L246" class="line" name9"9307"> 399                 390                ret9rn  391        case sync) {
ecurrket.+., void *ele/t_so. <>>po);
 392                sync) {
e1.c#L242eter_fieillhcurrfrea>et_socclass="sref">prcurr1.c#L242etecurrket."sclass="sref">prbkinet/packet/af_ppkiket."ass="sref">framerb net/packet/af_ppb ket."ass="sref">framelen1.c#L242etele/t_so.c#L271" id="L271" class="line" name9"L303"> 393                ret9rn .po,
ecurrket.c#L271" id="L271" class="line" name9"4303"> 394        case  395        default:
 396                 397                pg_vec_b_fiprb_refcurrkette1.c#L242eter_fiprb_refcurrkettet_socclass="sref">prbkinet/packet/af_ppkiket."ass="sref">frameref="+code=tp_version" ">0.c#L271" id="L271" class="line" name9"8307"> 398                ret9rn 0;938t/af#L271" id="L271" class="line" name9"L329"> 399        }
 390}
prbkinet/packet/af_ppkiket."ass="sref">frameref="+code=tp_version" .c#L271" id="L271" class="line" name9"L341"> 391
sync) {
ecurrket.t.c#L328" id="L328" class="line" name9"L332"> 392static void *sync) {
. 393                str9ct smp_rmbe1.c#L242eter_fieillhcurrfrea>et_socclass="sref">prcurr1.c#L242etecurrket."sclass="sref">prbkinet/packet/af_ppkiket."ass="sref">framerb net/packet/af_ppb ket."ass="sref">framelen1.c#L242etele/t_so.c#L271" id="L271" class="line" name9"4303"> 394                uns9gned 94ef="+code=raw" class=prburna(ash" >.po,
ecurrket.c#L271" id="L271" class="line" name9"L305"> 395                int9 396{
 397        unsigned in9  398        union {
es are available.us_r_ 399                str9ct  390                str9ct  391                voi9 *frameNULLref="net/packetNULLket.c#L246" id="L246" class="line" name9"L332"> 392        }  393
 394        prbhref="currkettrx_fr   net/packet/af_pphref="currkettrx_fr   t_sock" class="sref">packet href="a> *po,
 395        packetsk_buffnet/packet/af_pek_buffsref">po,
 39we will tempora"net/pack9t/af_95ode=WARN" class="sreffffffffffffffffffffffffffffflass="sref">pg_vec_ill_uhref="net/packetill_uhcketc"ac_pos" class="sref">pg_vec_le/1.c#L242etele/t_so.#L278" id="L278" class="line" name9"L257"> 297{
 398        struct prcurr1.c#L242etecurrket.sre. 399
tp_verstpiversio/1.c#L242etetpiversio/ket.t.c#L328" id="L328" class="line" name9"L260"> 290        casee. 391        if (casee. 392                sync) {
ecurrket.sre., void *ref">po->tp_versrx=ping"="+code=tp_verrx=pingket.chea _r *packet.c#L256" id="L256" c9"L263"> 293        else
->tp_versrx=ping"="+code=tp_verrx=pingket.ref">buffer)headref="net/packetheadt_so">po);
 294                framecurr1.c#L242etecurrket.c#L271" id="L271" class="line" name9"L325"> 395        casee. 396
frame_"line" _lookup_fr   hin_b/a>enet/packet/af_p_"line" _lookup_fr   hin_b/a>eacsocpo, void *po,
pg_vec_ill_uhref="net/packetill_uhcketc"ss="sref">framelen1.c#L242etele/t_so.c#L271" id="L271" class="line" name9"L267"> 297        if ( 398                ,
"TPACKET versio/enot supported\n"tb/a>ee.c#L271" id="L271" class="line" name9"L329"> 399                 290                frameNULLref="net/packetNULLket.c#L246" id="L246" class="line" name9"L261"> 291        }
 392}
 293
 294static void po,
e1.c#L242eter_filookup_rea>et_sock" class="sref">packet href="a> *po,
 395{
packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket.chea _r *packet.c#L256" id="L256" c9"L346"> 396        struct pg_vec_previouhref="net/packetb_eviouhket.chea _r *packet.c#L256" id="L256" c9"L267"> 297
pg_vec_ill_uhref="net/packetill_uhcket.#L278" id="L278" class="line" name9"L268"> 298        if ( 299                packettpacket_kbdq_core *)(&(prbkinet/packet/af_ppkiket. sre. 290}
packettpacket_/a>e1_desa href="net/packa href="/a>e1_desaclass=class="sref">prbb net/packet/af_ppb ket.sre.prbkinet/packet/af_ppkiket."ass="sref">framerreviouhref="net/packetb_eviouhket..c#L271" id="L271" class="line" name9"L261"> 291
 392static sync) {
. 293{
frameNULLref="net/packetNULLket.c#L246" id="L246" class="line" name9"L264"> 294        if (framebb net/packet/af_ppb ket.c#L246" id="L246" class="line" name9"L325"> 395                ret9rn         return  297}
pg_vec_r_fib_eviouhfreshnumnet/packet/af_pr_fib_eviouhfreshnumt_sock" class="sref">packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket..#L278" id="L278" class="line" name9"L268"> 298
 299static void pg_vec_prevref="net/packetb_evket.c#L246" id="L246" class="line" name9"L290"> 290{
sync) {
tp_versprb_codinet/packet/af_pprb_codiket.ref">buffer)+activefreshnumnet/packet/af_p+activefreshnumacke.#L278" id="L278" class="line" name9"L291"> 291        union {
->prr"net/packet/af_prbket.class="sref">tp_versprb_codinet/packet/af_pprb_codiket.ref">buffer)+activefreshnumnet/packet/af_p+activefreshnumacke-1c#L271" id="L271" class="line" name9"L282"> 292                str9ct  293                str9ct prr"net/packet/af_prbket.class="sref">tp_versprb_codinet/packet/af_pprb_codiket.ref">buffer)+num"/a>e1href="net/packet+num"/a>e1hacke-1c#L271" id="L271" class="line" name9"L264"> 294                voi9 *framebrevref="net/packetb_evket.c#L246" id="L246" class="line" name9"L325"> 395        } 
 297         298        switch (po,
enet/packet/af_p_"l_fib_eviouhfrea>et_sock" class="sref">packet href="a> *po,
 299        case packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket.chea _r *packet.c#L256" id="L256" c10"L300"> 310"L30>        case 10"Lde=__unregister_prottttttttttttttttttttttttttlass="sref">pg_vec_ill_uhref="net/packetill_uhcket.#L/b_e> f3/06/cae98=23624ec1289d4af21547564e02e84a_3/10"L3>ea _r *packet.c#L256" id="L256" c10"1300"> 310"        union {
10"et/afc#L318" id="L318" class="line" name10"2300"> 310"                str10"10"2TPACKET_V1" ac_pos" class="sref">pg_vec_previouhref="net/packetb_eviouhket.sre. 310"                str10"10"3c_pos" classprburnass="sref">framebrb_lookup_rea>e1.c#L242eter_filookup_rea>et_socpo, void *po,
pg_vec_previouhref="net/packetb_eviouhket.c>po);
 310"                voi10"10"4_offc#L273" id="L273" class="line" name10"5300"> 310"        } 10"ket.c#L326" id="L326" class="line" name10"6300"> 310"
10"6c_poill_rxhash" >po,
packet href="a> *po,
 310"        10"ode=BUG" class="sref""""""""""""""""""""""ttttttttk" class="sref">packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket.chea _r *packet.c#L256" id="L256" c10"8300"> 310"        switch (10"a href="net/packet/afprottttttttttttttttttttttttttlass="sref">pg_vec_ill_uhref="net/packetill_uhcket.#La _r *packet.c#L256" id="L256" c10"9300"> 310"        case 10"9t/afc#L318" id="L318" class="line" name101L300"> 3100                100sync) {
tp_verstpiversio/1.c#L242etetpiversio/ket. <>re. 3101        }
framebhref="b_eviouhffr   net/packet/af_pphref="b_eviouhffr   t_socpo, void *po,
pg_vec_ill_uhref="net/packetill_uhcket.c#L271" id="L271" class="line" name1012300"> 3102
 3103        frame_"l_fib_eviouhfrea>enet/packet/af_p_"l_fib_eviouhfrea>et_socpo, void *po,
pg_vec_ill_uhref="net/packetill_uhcket.c#L271" id="L271" class="line" name1014300"> 3104}
 3105
 3106static int 1006c_poill_rxhash" ss="sref">framebhref="incremkettrx_headref="net/packetbhref="incremkettrx_headt_sock" class="sref">packet href="a> *po,
 3107{
packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket..#L278" id="L278" class="line" name1008300"> 3108        union {
1008ass=c#L328" id="L328" class="line" name1009300"> 3109                str109100ode=__unregisswitch cpo, void *tp_verstpiversio/1.c#L242etetpiversio/ket.t.c#L328" id="L328" class="line" name102L300"> 3100                str100100. 3101                voi1011001lass="sref">casee. 3102        } framebhref="incremkettheadref="net/packetbhref="incremkettheadt_socpo, void * 3103
casee. 3104         3105
,
"TPACKET versio/enot supported.\n"tb/a>ee.c#L271" id="L271" class="line" name1006300"> 3106         3107        switch (100ode=BUG" class="sref"prburnc#L271" id="L271" class="line" name1008300"> 3108        case 100a href="net/pc#L273" id="L273" class="line" name1029300"> 3109                100ket.cc#L315" id="L315" class="line" name103L300"> 3100                ret100100 3101        case 1001c_poill_rxhash" >po,
packet href="a> *po,
 3102                100ode=flush_dcache_pagek" class="sref">packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prr"net/packet/af_prbket.chea _r *packet.c#L256" id="L256" c1033300"> 3103                ret103100ref="+code=h" class="lass="sref">pg_vec_ill_uhref="net/packetill_uhcket.#La _r *packet.c#L256" id="L256" c1034300"> 3104        case 1004ass=c#L328" id="L328" class="line" name1035300"> 3105        default:
100="+code=statuac_pos" class="sref">pg_vec_previouhref="net/packetb_eviouhket.sre.tp_versheadref="net/packetheadt_so ?e.tp_versheadref="net/packetheadt_so - 1 :e.tp_versfr   hmaxnet/packet/af_pfr   hmaxket.c#L246" id="L246" class="line" name1006300"> 3106                100ode=WARN" claprburnass="sref">framebhref="lookup_fr   , void *po,
pg_vec_previouhref="net/packetb_eviouhket.c>po);
 3107                1007et.cc#L315" id="L315" class="line" name1038300"> 3108                ret1081008t/af#L271" id="L271" class="line" name1009300"> 3109        }
framebhref="incremkettheadref="net/packetbhref="incremkettheadt_sock" class="sref">packet href="ring_buff_retire_blk_timer href="ring_buff_rclass=class="sref">prbuffnet/packet/af_pbuffsref.#La _r *packet.c#L256" id="L256" c104L300"> 3100}
 3101
prbuffnet/packet/af_pbuffsrefclass="sref">tp_versheadref="net/packetheadt_so re.tp_versheadref="net/packetheadt_so !re.tp_versfr   hmaxnet/packet/af_pfr   hmaxket. ?e.tp_versheadref="net/packetheadt_so+1 :e0c#L271" id="L271" class="line" name1042300"> 3102static void *100ket.cc#L273" id="L273" class="line" name1003300"> 3103                str103100ket.c#L354" id="L354" class="line" name1004300"> 3104                uns104100ec_poill_rxhash" class="sref">prbo" class="_des" clapacketa> *po,
 3105                int1051005ass=c#L328" id="L328" class="line" name1046300"> 3106{
sync) {
po->tp_versik_erroriqueue 3107        unsigned in1071007et.c#L354" id="L354" class="line" name1008300"> 3108        union {
1008ass="sref">h., void *po->tp_versik_rmem_alloinet/packet/af_pik_rmem_alloicket..c#L271" id="L271" class="line" name1049300"> 3109                str1091009ass="sref">h., void *po->tp_versik_wmem_alloinet/packet/af_pik_wmem_alloicket..c#L271" id="L271" class="line" name105L300"> 3100                str100100 3101                voi101100ef="+code=rawsref!s="sref">packeta> *_flag"="+code=tp_vera> *_flagt_socpo, void * 3102        } sync) {
"Attempt to prlease alivealine" ea> *et: %p\n"tb/a>ee">po,
 3103
 3104         3105         310we will tempora"net/pack10we >100ode=WARN" clac>sync) {
, void * 3107{
 3108        struct 1008t/af#L271" id="L271" class="line" name1059300"> 3109
pg_vec_fanou="rr_nextnet/packet/af_pfanou="rr_nextt_sock" class="sref">packet href="fanou=po,
ac_pos" class="sref">pg_vec_numnet/packet/af_pnumacke.#L278" id="L278" class="line" name106L300"> 3100         3101        if (100ef="+code=rawsass="sref">pg_vec_xnet/packet/af_pxt_so re.po->tp_versrr"curnet/packet/af_prr"curket.t.+e1c#L271" id="L271" class="line" name1002300"> 3102                100ket.c#L313" id="L313" class="line" name1063300"> 3103        else
1003f="+code=rawsref="sref">pg_vec_xnet/packet/af_pxt_so lassre. 3104                100ef="+code=raw" class=="sref">pg_vec_xnet/packet/af_pxt_so re0c#L271" id="L271" class="line" name1065300"> 3105         3106
framexnet/packet/af_pxt_soc#L271" id="L271" class="line" name1067300"> 3107        if (1007et.cc#L315" id="L315" class="line" name1068300"> 3108                1008t/af#L271" id="L271" class="line" name1069300"> 3109                1009c_poill_rxhk" class="sref">packeta> *po,
packet href="fanou=po,
k" class="sref">packetsk_buffnet/packet/af_pek_buffsref">po,
ac_pos" class="sref">pg_vec_numnet/packet/af_pnumacke.#L278" id="L278" class="line" name107L300"> 3100                100 3101        }
pru32net/packet/af_pu0ode=flclass="sref">pridxnet/packet/af_pidxsrefc>po);
.tp_versrxhashnet/packet/af_prxhasht_soc#L271" id="L271" class="line" name1072300"> 3102}
 3103
spin_uidxnet/packet/af_pidxsrefsrecf="sref">pg_vec_u4      t/af_pu0ef="+.po,
pg_vec_numnet/packet/af_pnumacke. lasslass 32c#L271" id="L271" class="line" name1074300"> 3104static void 100llers#L273" id="L273" class="line" name1005300"> 3105{
framefnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_uidxnet/packet/af_pidxsref]c#L271" id="L271" class="line" name1076300"> 3106        struct 1006et.cc#L315" id="L315" class="line" name1077300"> 3107
 3108        if (1008c_poill_rxhk" class="sref">packeta> *po,
packet href="fanou=po,
k" class="sref">packetsk_buffnet/packet/af_pek_buffsref">po,
ac_pos" class="sref">pg_vec_numnet/packet/af_pnumacke.#L278" id="L278" class="line" name1079300"> 3109                1009t/afc#L318" id="L318" class="line" name108L300"> 3100}
pg_vec_curnet/packet/af_pcurket.c>po);
 3101
 3102static spin_ucurnet/packet/af_pcurket. re.po->tp_versrr"curnet/packet/af_prr"curket.tc#L271" id="L271" class="line" name1083300"> 3103{
pg_vec_oldref="net/packetoldt_so re.po->tp_versrr"curnet/packet/af_prr"curket.c>po);
 3104        if (100ef="+code=raw" class======================="sref">pg_vec_fanou="rr_nextnet/packet/af_pfanou="rr_nextt_socpo,
="sref">pg_vec_numnet/packet/af_pnumacke.)) !re. 3105                ret105100="+code=status" classpo,
. 3106        return 100ode=WARN" claprburnass="sref">framefnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_ucurnet/packet/af_pcurket.]c#L271" id="L271" class="line" name1087300"> 3107}
 3108
 3109static void 1009c_poill_rxhk" class="sref">packeta> *po,
packet href="fanou=po,
k" class="sref">packetsk_buffnet/packet/af_pek_buffsref">po,
ac_pos" class="sref">pg_vec_numnet/packet/af_pnumacke.#L278" id="L278" class="line" name109L300"> 3100{
 3101        union {
100et/af_packet.ac_pos" class="sref">pg_vec_cpunet/packet/af_pcput_sosre. 3102                str102100ket.c#L313" id="L313" class="line" name1093300"> 3103                str1031003c_pos" classprburnass="sref">framefnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_ucpunet/packet/af_pcput_sos%s="sref">pg_vec_numnet/packet/af_pnumacke]c#L271" id="L271" class="line" name1094300"> 3104                voi1041004_offc#L273" id="L273" class="line" name1095300"> 3105        }  3106
pg_vec_phref="rcv"fanou=packetsk_buffnet/packet/af_pek_buffsref">po,
k" class="sref">packet"L3"devicepo,
 3107        packet href="typ po,
packet"L3"devicepo,
 3108        switch (1008ass=c#L328" id="L328" class="line" name1099300"> 3109        case 100=TPACKET_V1" k" class="sref">packet href="fanou=po,
.tp_versa="line" _privref="net/packeta="line" _privt_soc#L271" id="L271" class="line" name11"L300"> 311"L30>        case 11"Lde=__unregisac_pos" class="sref">pg_vec_numnet/packet/af_pnumackesre.tp_versnum"memberhref="net/packetnum"memberht_soc#L271" id="L271" class="line" name11"1300"> 311"        union {
1101TPACKET_V1" k" class="sref">packet href="a> *po,
 311"                str11"11"2TPACKET_V1" k" class="sref">packeta> *po,
 311"                str11"110ket.c#L354" id="L354" class="line" name11"4300"> 311"                voi11"110ef="+code=rawsref!s="sref">packet"L3"eq,
po,
po->tp_versne= 311"        } 110="+code=status" c!s="sref">packet"umnet/packet/af_pnumacke. c#L328" id="L328" class="line" name11"6300"> 311"
110ode=WARN" class="srefpo,
,
 311"        11"ode=BUG" class="sref"prburna0c#L271" id="L271" class="line" name11"8300"> 311"        switch (110a href="net/pc#L273" id="L273" class="line" name11"9300"> 311"        case 11"9t/af#L273" id="L273" class="line" name111L300"> 3110                110, void *tp_verstyp  3111        }
casee. 3112
 3113        pg_vec_fnet/packet/af_pfsrefclass="sref">tp_versdefrag"="+code=tp_verdefragsref. c#L328" id="L328" class="line" name1114300"> 3114}
,
.,
po,
 3115
packetak"net/packet/af_pekbket.t#L271" id="L271" class="line" name1116300"> 3116static int 111ode=WARN" class="sreftttttttt_packet.prburna0c#L271" id="L271" class="line" name1117300"> 3117{
 3118        union {
111a href="net/packet/afpo,
,
 3119                str119111ode=__unregister_protpo,
,
="sref">pg_vec_ik"net/packet/af_pekbket.">po,
 3110                str110112Lde=__unregister_protbreakc#L271" id="L271" class="line" name1121300"> 3111                voi1111101lass="sref">casee. 3112        } .pg_vec_ik"net/packet/af_pekbket.">po,
 3113
 3114        . 3115
,
,
="sref">pg_vec_ik"net/packet/af_pekbket.">po,
 3116         3117        switch (110ode=BUG" clasc#L273" id="L273" class="line" name1108300"> 3118        case 1128t/af#L271" id="L271" class="line" name1129300"> 3119                1129ass="sref">h..,
 3110                ret110110 3111        case 1131lass="sref">prburnass="sref">framebef="+code=tp_version" class="sref">tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)funinet/packet/af_pfunit_socpo,
po,
po->tp_versprot_hooe1.c#L242eter_ot_hooeon" c>po);
 3112                113ket.cc#L273" id="L273" class="line" name1133300"> 3113                ret113113ket.c#L354" id="L354" class="line" name1134300"> 3114        case 1104ass=po);
 3115        default:
110="+copo,
 3116                1136c_poill_rxhpo,
 3117                1137et.c#L354" id="L354" class="line" name1138300"> 3118                ret1181138clasill_rxhash" po,
packets> *po,
packet href="a> *po,
 3119        }
 3110}
packet href="fanou=po,
.tp_versfanou= 3111
 3112static void *114 class="sref"s="sref">spin_uspin_ea>enet/packet/af_pspin_ea>et_socref">po->tp_versea>enet/packet/af_pea>et_so.c#L271" id="L271" class="line" name1103300"> 3113                str1131143class="sref"s="sref">spin_ufnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_ufnet/packet/af_pfsrefclass="sref">tp_versnum"memberhref="net/packetnum"memberht_so]sre. 3114                uns1141144class="sref"s="sref">spin_usmp_wm"net/packet/af_pemp_wm"t_soc.c#L271" id="L271" class="line" name1105300"> 3115                int1151145class="sref"s="sref">spin_ufnet/packet/af_pfsrefclass="sref">tp_versnum"memberhref="net/packetnum"memberht_so++c#L271" id="L271" class="line" name1106300"> 3116{
sync) {
enet/packet/af_pspin_unea>et_socref">po->tp_versea>enet/packet/af_pea>et_so.c#L271" id="L271" class="line" name1107300"> 3117        unsigned in1171147et.cc#L315" id="L315" class="line" name1108300"> 3118        union {
1148t/af#L271" id="L271" class="line" name1149300"> 3119                str1191149c_poill_rxhash" ss="sref">frame_"fanou="uneinenet/packet/af_p_"fanou="uneinet_sock" class="sref">packets> *po,
packet href="a> *po,
 3110                str110115 3111                voi1111151TPACKET_V1" k" class="sref">packet href="fanou=po,
.tp_versfanou= 3112        } pg_vec_i"="+code=tp_verisrefc#L271" id="L271" class="line" name1153300"> 3113
 3114        spin_uspin_ea>enet/packet/af_pspin_ea>et_socref">po->tp_versea>enet/packet/af_pea>et_so.c#L271" id="L271" class="line" name1105300"> 3115        pg_vec_i"="+code=tp_verisref re0cs="sref">pg_vec_i"="+code=tp_verisref <>e.tp_versnum"memberhref="net/packetnum"memberht_socs="sref">pg_vec_i"="+code=tp_verisref++. c#L328" id="L328" class="line" name1156300"> 311we will tempora"net/pack11we >115ode=WARN" class="sreflref="sref">pg_vec_fnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_ui"="+code=tp_verisref]srre. 3117{
 3118        struct 115a href="net/pc#L273" id="L273" class="line" name1159300"> 3119
h.,
tp_versnum"memberhref="net/packetnum"memberht_so.c#L271" id="L271" class="line" name116L300"> 3110        h.tp_versarrref="net/packetarrt_so[s="sref">spin_ui"="+code=tp_verisref]sr"s="sref">spin_ufnet/packet/af_pfsrefclass="sref">tp_versarrref="net/packetarrt_so[s="sref">spin_ufnet/packet/af_pfsrefclass="sref">tp_versnum"memberhref="net/packetnum"memberht_so - 1]c#L271" id="L271" class="line" name1161300"> 3111        if (116et/af_packet.class="sref">prfnet/packet/af_pfsrefclass="sref">tp_versnum"memberhref="net/packetnum"memberht_so--c#L271" id="L271" class="line" name1162300"> 3112                116 class="sref"s="sref">spin_uspin_unea>enet/packet/af_pspin_unea>et_socref">po->tp_versea>enet/packet/af_pea>et_so.c#L271" id="L271" class="line" name1163300"> 3113        else
1103f="+c#L273" id="L273" class="line" name1164300"> 3114                116llers#L273" id="L273" class="line" name1165300"> 3115        packetpo" clatyp po,
packets> *e. 3116
 3117        if (116ode=BUG" classref">sync) {
tp_versa="line" _privref="net/packeta="line" _privt_sosrre(ash"*)(ck" class="sref">packet href="a> *.po,
tp_versfanou= 3118                116a href="net/packet/afprburnass="sref">frame" c  3119                1169t/af#L273" id="L273" class="line" name117L300"> 3110                1170ass="sref">hprburnass="sref">framefals  3111        }
 3112}
 3113
pg_vec_fanou="addref="net/packetfanou="addt_sock" class="sref">packets> *po,
spin_uidref="net/packetidt_soc>po,
static+code=u1ode=WAs="sref">spin_utyp _flaghref="net/packettyp _flaghsreft#L271" id="L271" class="line" name1174300"> 3114static void 1174ass=c#L328" id="L328" class="line" name1105300"> 3115{
packet href="a> *po,
 3116        struct 1176de=WARN" clak" class="sref">packet href="fanou=po,
>po,
 3117
,
static+code=u8de=WAs="sref">spin_utyp ref="net/packettyp ket.sre.ref"> 0xffc#L271" id="L271" class="line" name1178300"> 3118        if (1178ass="sref">h.spin_udefrag"="+code=tp_verdefragsrefsrec.ref"> . 3119                1179ass="sref">hlass="sref">pg_vec_errref="net/packeterrt_soc#L271" id="L271" class="line" name118L300"> 3110}
 3111
, void * 3112static . 3113{
. 3114        if (118ec_pos" classcasee. 3115                ret115110="+code=status" classbreakc#L271" id="L271" class="line" name1186300"> 3116        return 110ode=WARN" cladefault:#L328" id="L328" class="line" name1187300"> 3117}
. 3118
 3119static void 1189t/af#L273" id="L273" class="line" name119L300"> 3110{
packet=ef="+code=tp_version" class="sref">tp_versrunning"="+code=tp_verrunningsreft#L271" id="L271" class="line" name1191300"> 3111        union {
110et/af_packet.s="sref"prburna-. 3112                str112110ket.c#L313" id="L313" class="line" name1193300"> 3113                str1131193f="+code=rawsref="sref">pg_vec_=ef="+code=tp_version" class="sref">tp_versfanou= 3114                voi114119ef="+code=raw" class=prburna-. 3115        }  3116
sync) {
enet/packet/af_pmutex_ea>et_socref">po-> 3117        ,
. 3118        switch (1198ass="sref">h.po->po,
 3119        case 119ode=__unregister_protlref="sref">pg_vec_fnet/packet/af_pfsrefclass="sref">tp_versidref="net/packetidt_sosrre.ref">#L328" id="L328" class="line" name12"L300"> 312"L30>        case 120Lde=__unregister_protf">h.po->tp_versne= *_ne= 312"        union {
120et/af_packet.s="sref"UG" claspo,
. 312"                str12"120ode=flush_dcache_pageeeeeeeeebreakc#L271" id="L271" class="line" name12"3300"> 312"                str12"120ref="+code=h" class="c#L273" id="L273" class="line" name12"4300"> 312"                voi12"120ef="+code=rawc#L273" id="L273" class="line" name12"5300"> 312"        } 1205class="sref"s="sref">spin_uerrref="net/packeterrt_sosre-. 312"
120ode=WARN" clalref="sref">pg_vec_matchnet/packet/af_pmatchcketsref">ref">spo,
tp_versdefrag"="+code=tp_verdefragsref !re. 312"        12"ode=BUG" class="sref"goto>po);
 312"        switch (120a href="net/psref!s="sref">packetmatchnet/packet/af_pmatchcket. c#L328" id="L328" class="line" name12"9300"> 312"        case 120ode=__unregister_protpo,
 3120                121Lde=__unregister_protpo,
.po,
 3121        }
packetmatchnet/packet/af_pmatchcket.#L271" id="L271" class="line" name1212300"> 3122
 3123        po->tp_versne=pg_vec_i> *_ne= 3124}
->tp_versidref="net/packetidt_sosre. 3125
->tp_verstyp ref="net/packettyp ket.sre. 3126static int 121ode=WARN" class="srefpo,
tp_versdefrag"="+code=tp_verdefragsref re. 3127{
.po->tp_versrr"curnet/packet/af_prr"curket.c>0.c#L271" id="L271" class="line" name1208300"> 3128        union {
121a href="net/packet/afpo,
po->tp_verslistnet/packet/af_plistacke.c#L271" id="L271" class="line" name1209300"> 3129                str129121ode=__unregister_protpo,
e_ini=po->tp_versla>enet/packet/af_pea>et_so.c#L271" id="L271" class="line" name122L300"> 3120                str120122Lde=__unregister_prot.po->tp_versik_ref 3121                voi121122et/af_packet.s="sref"po->tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)typ ref="net/packettyp ket.sre.tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)typ ref="net/packettyp ket.c#L271" id="L271" class="line" name1202300"> 3122        } tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)devref="net/packetdevket.sre.tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)devref="net/packetdevket.c#L271" id="L271" class="line" name1203300"> 3123
tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)funinet/packet/af_pfunit_sosre. 3124        ->tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)a="line" _privref="net/packeta="line" _privt_sosr=po-> 3125
,
tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)id_matchnet/packet/af_pid_matcht_sosr=po-> 3126        buffer)dev"add"lineref="net/packetdev"add"linet_socref">po->tp_versprot_hooe1.c#L242eter_ot_hooeon" .c#L271" id="L271" class="line" name1227300"> 3127        switch (122ode=BUG" class="sref".po->tp_verslistnet/packet/af_plistackec>ref">po-> 3128        case 122a href="net/pc#L273" id="L273" class="line" name1229300"> 3129                1229ass="sref">h.. 3120                ret120123->tp_verstyp ref="net/packettyp ket.srre.ref">#L328" id="L328" class="line" name1231300"> 3121        case 123et/af_packet.s="spo->tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)typ ref="net/packettyp ket.srre.tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)typ ref="net/packettyp ket.sref">ref">#L328" id="L328" class="line" name1232300"> 3122                123ode=flush_dcache_po,
tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)devref="net/packetdevket.srre.tp_versprot_hooe1.c#L242eter_ot_hooeon" ref">buffer)devref="net/packetdevket.. c#L328" id="L328" class="line" name1233300"> 3123                ret123123ref="+code=h" class="po,
 3124        case 123ef="+code=raw" class=srefpo->po->tp_versik_ref 3125        default:
123="+code=status" class" class=.po->tp_versprot_hooe1.c#L242eter_ot_hooeon" .c#L271" id="L271" class="line" name1236300"> 3126                123ode=WARN" class="srefttttttttpo->tp_versfanou= 3127                123ode=BUG" class="sref"""""""""po->po->tp_versik_ref 3128                ret128123a href="net/packet/af" class=.="sref">pg_vec_="net/packet/af_packet.tc#L271" id="L271" class="line" name1239300"> 3129        }
,
 3120}
 3121
 3122static void *124 claspo);
 3123                str1231243class="sref"s="sref">spin_umutex_unea>enet/packet/af_pmutex_unea>et_socref">po-> 3124                uns1241244class="sref"prburnass="sref">frameerrref="net/packeterrt_soc#L271" id="L271" class="line" name1205300"> 3125                int1251245clasc#L273" id="L273" class="line" name1246300"> 3126{
 3127        unsigned in1271247et.cill_rxhash" ss="sref">framefanou="releas packets> *po,
 3128        union {
1248ass=c#L328" id="L328" class="line" name1249300"> 3129                str129124=TPACKET_V1" k" class="sref">packet href="a> *po,
 3120                str1201250TPACKET_V1" k" class="sref">packet href="fanou=po,
 3121                voi121125ket.c#L342" id="L342" class="line" name1252300"> 3122        } spin_ufnet/packet/af_pfsrefsre.tp_versfanou= 3123
packetfnet/packet/af_pfsref.#L271" id="L271" class="line" name1254300"> 3124         3125         312we will tempora"net/pack12we >125ode=WARN" clac>sync) {
enet/packet/af_pmutex_ea>et_socref">po-> 3127{
,
tp_versfanou= 3128        struct 1258t/af#L271" id="L271" class="line" name1259300"> 3129
hsrefpo->po->tp_versik_ref 3120        po->tp_verslistnet/packet/af_plistacke.c#L271" id="L271" class="line" name1261300"> 3121        if (126et/af_packet.s="sref"po->po->tp_versprot_hooe1.c#L242eter_ot_hooeon" .c#L271" id="L271" class="line" name1262300"> 3122                126ode=flush_dcache_pagepo,
ekfreet_socpo,
 3123        else
1263f="+code=rawc#L273" id="L273" class="line" name1264300"> 3124                1264class="sref"s="sref">spin_umutex_unea>enet/packet/af_pmutex_unea>et_socref">po-> 3125         3126
 3127        if (1267et.cill_rxhconst k" class="sref">packet _oto_ophref="net/packet _oto_ophclasss="sref">packet href="ophref="net/packet href="opht_soc#L271" id="L271" class="line" name1268300"> 3128                1268t/af#L271" id="L271" class="line" name1269300"> 3129                1269et.cill_rxhconst k" class="sref">packet _oto_ophref="net/packet _oto_ophclasss="sref">packet href="oph_s=ktref="net/packet href="oph_s=ktt_soc#L271" id="L271" class="line" name127L300"> 3120                127 3121        }
pg_vec_po" clarcv"s=ktref="net/packet href="rcv"s=ktt_sock" class="sref">packetsk_buffpo,
k" class="sref">packet"L3_device1.c#L242ete"L3_devicesref">po,
 3122}
packet href="typ po,
k" class="sref">packet"L3_device1.c#L242ete"L3_devicesref">po,
 3123
 3124static void 1274class="sref"k" class="sref">packets> *po,
 3125{
packetss="addr_=ktref="net/packetss="addr_=ktsref">po,
 3126        struct 127ode=W#L273" id="L273" class="line" name1277300"> 3127

/* 3128        if (1278ass=pspana>
eeeeee1" *eee1" When we registered the  _otocol we saved the ss="ethla the data 3129                1279ass=pspana>
eeeeee1" *eee1" field"forejust this event. 3120}
eeeeee1" */ 3121
 3122static spin_us*tp_versa="line" _privref="net/packeta="line" _privt_soc#L271" id="L271" class="line" name1283300"> 3123{
 3124        if (128ec_pos" classpspana>
/* 3125                ret125120="+copspana>
eeeeee1" *eee1" Yank bine the headers [hope the device set this 3126        return 120ode=Wpspana>
eeeeee1" *eee1" right orekerboom...] 3127}
eeeeee1" * 3128
eeeeee1" *eee1" Incoming line" s have ll header pulled, 3129static void 1289ass=pspana>
eeeeee1" *eee1" push it bine. 3120{
eeeeee1" * 3121        union {
120et/afpspana>
eeeeee1" *eee1" Foreoutgoing ones ekbclassdatasrreekb_mac_header(ekb) 3122                str122120ket.cpspana>
eeeeee1" *eee1" so that this  _ocedure is noop. 3123                str1231293f="+pspana>
eeeeee1" */ 3124                voi124129llers#L273" id="L273" class="line" name1295300"> 3125        } ->tp_verspk="typ . 3126
 3127         3128        switch (1298ass="sref">hsref!s="sref">packet"L3_eq1.c#L242ete"L3_eqt_socpo,
,
po,
 *_ne= 3129        case 129ode=__unregister_protgoto>po);
 313"L30>        case 130 313"        union {
130et/af_packet.class="sref">prs*"net/packet/af_pekbket.sre.,
po,
 313"                str13"130ode=flush_dcasrefpo->. 313"                str13"130ref="+code=h" class="goto>po);
 313"                voi13"130llers#L273" id="L273" class="line" name13"5300"> 313"        } 1305class="sref"sspana>
/* drop any rou=ing info */ 313"
130ode=WARN" clac>sync) {
 313"        1307et.c#L354" id="L354" class="line" name13"8300"> 313"        switch (130a href="net/psspana>
/* drop conntrine " ierence */ 313"        case 1309ass="sref">h.,
 3130                131 3131        }
prs=ktref="net/packets=ktt_sosreref">po->,
tp_versianet/packet/af_peaket.ref">buffer)=ktref="net/packet ktt_soc#L271" id="L271" class="line" name1312300"> 3132
 3133        spin_uskb_pushpo,
tp_versdataref="net/packetdataspin_uskb_mac_header 3134}
 3135

/* 3136static int 131ode=Wpspana>
eeeeee1" *eee1" The SOCK_PACKET ss="ethreceives _all_ fr hrs. 3137{
eeeeee1" */ 3138        union {
1318t/af#L271" id="L271" class="line" name1309300"> 3139                str1391319ass="sref">h.tp_versipklafamilynet/packet/af_pipklafamilyket.sre.tp_verstyp ref="net/packettyp ket.c#L271" id="L271" class="line" name132L300"> 3130                str1301320ass="sref">h.tp_versipkladevice1.c#L242eteipkladeviceket.">po,
tp_vers    kizeof(po,
tp_versipkladevice1.c#L242eteipkladeviceket...c#L271" id="L271" class="line" name1321300"> 3131                voi131132et/af_packet.class="sref">prs=ktref="net/packets=ktt_soclass="sref">tp_versipkla _otocol1.c#L242eteipkla _otocolket.sre.tp_versp_otocol1.c#L242ete _otocolket.c#L271" id="L271" class="line" name1322300"> 3132        }  3133

/* 3134        
eeeeee1" *eee1" Charge the memory to the ss="et. This is done specifically 3135

eeeeee1" *eee1" to prevent ss="ets using all the memory up. 3136        eeeeee1" */ 3137        switch (1327et.c#L354" id="L354" class="line" name1328300"> 3138        case 1328ass="sref">hsrefpo,
 *_queue"rcv"skbnet/packet/af_pe> *_queue"rcv"skbt_socpo,
po,
 3139                132ode=__unregister_protprburna0c#L271" id="L271" class="line" name133L300"> 3130                ret130133 3131        case 133et/afpo);
 3132                133 class="sref"s="sref">spin_ukfree"skbnet/packet/af_pkfree"skbt_socpo,
 3133                ret133133ref="po);
 3134        case 1334class="sref"prburna0c#L271" id="L271" class="line" name1335300"> 3135        default:
1335clasc#L273" id="L273" class="line" name1336300"> 3136                133ode=W#L273" id="L273" class="line" name1337300"> 3137                1337et.c#L354" id="L354" class="line" name1338300"> 3138                ret1381338ass=pspana>
/* 3139        }
e*eee1" Output a raw line"  to a device layer. This byp 3130}
e*eee1" p_otocol layers and you must the" iore supply it with a complete fr hr 3131
e*/ 3132static void *134ket.c#L313" id="L313" class="line" name1303300"> 3133                str1331343clasill_rxhlass="sref">pg_vec_line" _sendmsg"s=ktref="net/packet href="sendmsg"s=ktt_sock" class="sref">packetkiocbnet/packet/af_pkiocbsref">po,
k" class="sref">packetss="etnet/packet/af_pe> *etsref">po,
 * 3134                uns134134ef="+code=raw" class================k" class="sref">packetmsghdrpo,
po,
,
 3135                int1351345clasc#L328" id="L328" class="line" name1346300"> 3136{
packets> *po,
 *tp_versik 3137        unsigned in1371347de=WARN" clak" class="sref">packets> *addr_=ktref="net/packetss="addr_=ktsref">po,
packets> *addr_=ktref="net/packetss="addr_=ktsref">)po,
tp_versmsg"     3138        union {
1348de=WARN" clak" class="sref">packetsk_buffpo,
-> 3139                str139134=TPACKET_V1" k" class="sref">packet"L3_device1.c#L242ete"L3_devicesref">po,
 3130                str1301350ass="sref">h.,
e _otoket.sr=0c#L271" id="L271" class="line" name1351300"> 3131                voi131135et/af_packet.lass="sref">pg_vec_errref="net/packeterrt_soc#L271" id="L271" class="line" name1352300"> 3132        } pg_vec_extra_lennet/packet/af_pextra_lenket.sr=0c#L271" id="L271" class="line" name1353300"> 3133
 3134        
/* 3135        
eeeeee1" *eee1" G"  and verify the address. 313we will tempora"net/pack13we >135ode=Wpspana>
eeeeee1" */ 3137{
 3138        struct 1358ass="sref">hsrefpo,
 3139
pg_vec_msgtp_versmsg"    lennet/packet/af_pmsg"    lende=__<>ekizeof(k" class="sref">packets> *addrref="net/packetss="addrket...#L328" id="L328" class="line" name136L300"> 3130         3131        if (136et/af_packet.s="sref"lref="sref">pg_vec_msgtp_versmsg"    lennet/packet/af_pmsg"    lende=__rreeizeof(k" class="sref">packets> *addr_=ktref="net/packetss="addr_=ktsref..#L328" id="L328" class="line" name1362300"> 3132                136ode=flush_dcache_page"sref">h.tp_versipkla _otocol1.c#L242eteipkla _otocolket.c#L271" id="L271" class="line" name1363300"> 3133        else
1363f="+code=rawc else#L271" id="L271" class="line" name1364300"> 3134                136ef="+code=raw" class=prburna-.
/* SOCK_PACKET must be seassgiving an address */ 3135         3136

/* 3137        if (136ode=Bpspana>
eeeeee1" *eee1" Find the device firs  to eize che * i=t_spanW#L273" id="L273" class="line" name1368300"> 3138                1368ass=pspana>
eeeeee1" */ 3139                1369et.c#L273" id="L273" class="line" name137L300"> 3130                1370ass="sref">h.tp_versipkladevice1.c#L242eteipkladeviceket.[kizeof(po,
tp_versipkladevice1.c#L242eteipkladeviceket.) - 1]sr=0c#L271" id="L271" class="line" name1371300"> 3131        }
 3132}
spin_urcu_read_ea>enet/packet/af_prcu_read_ea>et_soc.c#L271" id="L271" class="line" name1373300"> 3133
spin_udevref="net/packetdevket.sre.,
 *_ne=po,
tp_versipkladevice1.c#L242eteipkladeviceket.)c#L271" id="L271" class="line" name1374300"> 3134static void 1374class="sref"="sref">pg_vec_errref="net/packeterrt_sosre-. 3135{
-> 3136        struct 137ode=WARN" class="srefgoto>po);
enet/packet/af_pou=_unea>eket.c#L271" id="L271" class="line" name1377300"> 3137
 3138        if (1378class="sref"="sref">pg_vec_errref="net/packeterrt_sosre-. 3139                1379ass="sref">hsref!fpo->tp_versflaghref="net/packetflaghde=__&ef">spo,
 3130}
 3131
 3132static 
/* 3133{

eeeeee1" * You may not queue a fr hr bigger thaa the mtu. This is the lowes  levelt_spanW#L273" id="L273" class="line" name1384300"> 3134        if (138ef="+pspana>
eeeeee1" *eraw l_otocol and you must do your own fr gmentation at this level. 3135                ret135130="+copspana>
eeeeee1" */ 3136        return 138ode=W#L273" id="L273" class="line" name1387300"> 3137}
->,
 *_flagpo,
 3138
packet"L3if_supports_nofchref="net/packet"L3if_supports_nofcht_socpo,
 3139static void 138ode=__unregister_prot class="po,
 3130{
 3131        union {
139et/af_packet.s="sref"c#L273" id="L273" class="line" name1392300"> 3132                str132139ode=flush_dcache_pagepo,

/* We're doing our own CRC */ 3133                str1331393f="+code=rawc#L273" id="L273" class="line" name1394300"> 3134                voi134139llers#L273" id="L273" class="line" name1395300"> 3135        } ,
 3136
->po,
tp_versmtunet/packet/af_pmtut_so +>po,
tp_vershard_header_lennet/packet/af_phard_header_lent_so +>po,
 3137        po);
enet/packet/af_pou=_unea>eket.c#L271" id="L271" class="line" name1398300"> 3138        switch (1398t/af#L271" id="L271" class="line" name1399300"> 3139        case 1399ass="sref">hsref!po,
 314"L30>        case 140Lde=__unregister_prot.,
 314"        union {
140et/af_packet.s="sref"lass="sref">pg_vec_tlennet/packet/af_ptlenket.sr=po,
tp_versneeded_tailroom 314"                str14"140ode=flush_dcache_pageunsigned"lass="sref">pg_vec_hhlennet/packet/af_phhlenket.sr=po,
tp_versheader_ophref="net/packetheader_ophket.s?>po,
tp_vershard_header_lennet/packet/af_phard_header_lent_so :=0c#L271" id="L271" class="line" name14"3300"> 314"                str14"140ket.c#L354" id="L354" class="line" name14"4300"> 314"                voi14"140ef="+code=raw" class=po->enet/packet/af_prcu_read_unea>et_soc.c#L271" id="L271" class="line" name14"5300"> 314"        } 1405class="sref"ter_prot.. *_wmalea>t_socpo,
po,
po,
po,
 314"
140ode=WARN" class="srefsrefpo->. 314"        140ode=BUG" class="sref"""""""""prburna-. 314"        switch (140a href="net/packet/afpspana>
/* FIXME: Save some space for broken drivers that write a hard 314"        case 1409ass=pspana>
eeeeee1"         * header at transmission tihr by themselves. PPP is the notablr 3140                141
eeeeee1"         * one he" . This should"prally be fixed"at the driver level. 3141        }
eeeeee1"         */ 3142
po,
 3143        ,
 3144}
 3145

/* Try to align data part correctly */ 3146static int 141ode=WARN" class="srefsrefpo-> 3147{
->tp_versdataref="net/packetdata. 3148        union {
141a href="net/packet/af" class=.tp_verstailnet/packet/af_ptail. 3149                str149141ode=__unregister_prot class="srefpo->e. 3140                str140142Lde=__unregister_prottttttttt class="po,
 3141                voi141142et/af_packet.s="sref"c#L273" id="L273" class="line" name1422300"> 3142        } tp_versmemcpy_fromiove>,
po,
po,
tp_versmsg"iovpo,
 3143
 3144        po);
eou=_freeket.c#L271" id="L271" class="line" name1405300"> 3145
po);
 3146         3147        switch (1427et.c#L354" id="L354" class="line" name1428300"> 3148        case 1428ass="sref">hsrefpo,
fpo->tp_versmtunet/packet/af_pmtut_so +>po,
tp_vershard_header_lennet/packet/af_phard_header_lent_so +>po,
 3149                142ode=__unregister_prot
/* Earlier  hre  3140                ret140143
eeeeee1"         * doublr-che * this now that we have the actualt_spanW#L273" id="L273" class="line" name1431300"> 3141        case 143et/afpspana>
eeeeee1"         * line"  in hand. 3142                143ket.cpspana>
eeeeee1"         */ 3143                ret143143ref="+code=h" class="k" class="sref">packetethhdrpo,
 3144        case 143ef="+code=raw" class=po-> 3145        default:
1435class="sref"ter_prot.tp_verseth_hdr,
 3146                143ode=WARN" class="srefsrefpo->tp_versh_p_oto1.c#L242eteh_p_otode=WA!re. 3147                143ode=BUG" class="sref"""""""""po-> 3148                ret148143a href="net/packet/af" class=goto>po);
enet/packet/af_pou=_unea>eket.c#L271" id="L271" class="line" name1439300"> 3149        }
 3140}
 3141
 3142static void *144 class="sref"s="sref">spin_us*bnet/packet/af_pekbket.class="sref">tp_versp_otocol1.c#L242ete _otocolket.sre. 3143                str1431443class="sref"s="sref">spin_uskbnet/packet/af_pekbket.class="sref">tp_versdevref="net/packetdevket.sre. 3144                uns1441444class="sref"="sref">pg_vec_s*bnet/packet/af_pekbket.class="sref">tp_versp_ioritynet/packet/af_pp_iorityket.sre.tp_versik_p_ioritynet/packet/af_pik_p_iorityket.c#L271" id="L271" class="line" name1405300"> 3145                int1451445de=WARN" clapo,
tp_versmarenet/packet/af_pmareket.sre.tp_versik_marenet/packet/af_pik_mareket.c#L271" id="L271" class="line" name1406300"> 3146{
,
tp_verss> *_tx_tihrstampref">po->,
tp_verstx_flaghref="net/packettx_flaghket.)c#L271" id="L271" class="line" name1447300"> 3147        unsigned in1471447de=WARN" clasrefpo-> 3148        union {
144a href="net/packet/afgoto>po);
enet/packet/af_pou=_unea>eket.c#L271" id="L271" class="line" name1449300"> 3149                str1491449et.c#L273" id="L273" class="line" name145L300"> 3140                str1401450ass="sref">hsrefpo->,
 3141                voi141145et/af_packet.s="sref"po,
tp_versno_fchref="net/packet"o_fcht_sosre1c#L271" id="L271" class="line" name1452300"> 3142        }  3143
spin_udev_queue"xmi=,
 3144        pg_vec_rcu_read_unea>enet/packet/af_prcu_read_unea>et_soc.c#L271" id="L271" class="line" name1455300"> 3145        ,
 314we will tempora"net/pack14we >145ode=W#L273" id="L273" class="line" name1457300"> 3147{
 3148        struct 1458class="sref"="sref">pg_vec_rcu_read_unea>enet/packet/af_prcu_read_unea>et_soc.c#L271" id="L271" class="line" name1459300"> 3149
 3140        h.,
 3141        if (146et/af_packet.prburnapo,
 3142                146ode=fc#L273" id="L273" class="line" name1463300"> 3143        else
146ket.c#L354" id="L354" class="line" name1464300"> 3144                146ef="+ill_rxhunsigned"lass="sref">pg_vec_run_filterpacketsk_buffpo,
 3145        packets> *po,
 3146
pg_vec_rehref="net/packetreht_so.#L271" id="L271" class="line" name1467300"> 3147        if (146ode=Bc#L328" id="L328" class="line" name1468300"> 3148                1468de=WARN" clak" class="sref">packetsk_filterpo,
 3149                1469et.c#L273" id="L273" class="line" name147L300"> 3140                1470ass="sref">h. 3141        }
prfiltertp_versrcu_de" ierencenet/packet/af_prcu_de" ierencet_socpo,
tp_versik_filter 3142}
-> 3143
tp_versSK_RUN_FILTERref="net/packetSK_RUN_FILTERt_socpo,
po,
 3144static void 1474class="sref"="sref">pg_vec_rcu_read_unea>enet/packet/af_prcu_read_unea>et_soc.c#L271" id="L271" class="line" name1475300"> 3145{
 3146        struct 147ode=WARN" claprburnapo,
 3147
 3148        if (1478t/af#L271" id="L271" class="line" name1479300"> 3149                1479ass=pspana>
/* 3140}
e*eThis function makes lazy ekba>
oning in hope that mostaof line" s 3141
e* are discarded"by BPF. 3142static e* 3143{

e* Note tricky part: we DO mangle shared ekb! ekbclassdata, ekbclasslent_spanW#L273" id="L273" class="line" name1484300"> 3144        if (148ef="+pspana>
e* and ekbclasscb are mangled. It works because (and until) line" s 3145                ret145140="+copspana>
e* falling he"  are owned"by curreassCPU. Output line" s are >
oned 3146        return 148ode=Wpspana>
e*"by dev"queue"xmi=_nit(), input line" s are processed"by nL3_bh 3147}
e* sequencially, eo that srewe prburnaekbato original ill_e on exit, 3148
e*ewe will not harm anyone. 3149static void 1489ass=pspana>
e*/ 3140{
 3141        union {
149et/afill_rxhlass="sref">pg_vec_line" _rcvref="net/packetline" _rcvt_sock" class="sref">packetsk_buffpo,
packet"L3_device1.c#L242ete"L3_devicesref">po,
 3142                str142149ode=flush_dcache_pageN" clak" class="sref">packetline" _typ ref="net/packetline" _typ sref">po,
packet"L3_device1.c#L242ete"L3_devicesref">po,
 3143                str1431493f="+c#L328" id="L328" class="line" name1494300"> 3144                voi1441494class="sref"k" class="sref">packets> *po,
 3145        } packets> *addr_ll1.c#L242etei> *addr_llsref">po,
eillket.c#L271" id="L271" class="line" name1496300"> 3146
packetline" _s> * *sref">po,
e oket.c#L271" id="L271" class="line" name1497300"> 3147        ->eu8sref">po,
tp_versdataref="net/packetdata 3148        switch (1498ass="sref">hsass="sref">pg_vec_skb_lennet/packet/af_pskb_lenket.sre.tp_verslennet/packet/af_plent_soc#L271" id="L271" class="line" name1499300"> 3149        case 1499ass="sref">hunsigned"lass="sref">pg_vec_snaplennet/packet/af_psnaplensref">po,
 315"L30>        case 150 315"        union {
150et/af_packet.srefpo->tp_verspk _typ ref="net/packetlk _typ sref"rre. 315"                str15"150ode=flush_dcache_pagegoto>po);
 315"                str15"150ket.c#L354" id="L354" class="line" name15"4300"> 315"                voi15"1504class="sref"="sref">pg_vec_s*tp_verss="line" _p_ivref="net/packets="line" _p_ivt_soc#L271" id="L271" class="line" name15"5300"> 315"        } 1505de=WARN" clapo,
e oket.sre.,
 315"
150ode=W#L273" id="L273" class="line" name15"7300"> 315"        1507de=WARN" clasref!s="sref">packet"L3_eq1.c#L242ete"L3_eqt_socpo,
,
po,
 *_ne= 315"        switch (150a href="net/packet/afgoto>po);
 315"        case 1509et.c#L273" id="L273" class="line" name151L300"> 3150                1510ass="sref">h.tp_versdevref="net/packetdevket.sre. 3151        }
 3152
->tp_versheader_ophref="net/packetheader_ophket.. c#L328" id="L328" class="line" name1503300"> 3153        /* The device has an explicit notion of ll header, 3154}

eeeeee1"         * exported to higher levels. 3155

eeeeee1"         * 3156static int 151ode=Wpspana>
eeeeee1"         * Othe"wise, the device hides details of its fr hr 3157{
eeeeee1"         * k" claure, eo that corresponding line"  head is 3158        union {
1518ass=pspana>
eeeeee1"         * never delivered to user. 3159                str1591519ass=pspana>
eeeeee1"         */ 3150                str150152Lde=__unregister_protsrefpo->tp_versik_typ ref="net/packetik_typ srefs!re. 3151                voi151152et/af_packet.s="sref" class="p"sref">pg_vec_skb_pushnet/packet/af_pskb_pusht_socpo,
po,
tp_versdataref="net/packetdatapg_vec_skb_mac_header 3152        } tp_verspk _typ ref="net/packetlk _typ sref"rre. 3153

/* Special case: outgoing line" s have ll header"at head */ 3154        pg_vec_skb_pull1.c#L242eteikb_pullt_socpo,
po,
,
 3155
 3156         3157        switch (1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaplennet/packet/af_psnaplensrefsre.tp_verslennet/packet/af_plent_soc#L271" id="L271" class="line" name1529300"> 3159                1529et.c#L273" id="L273" class="line" name153L300"> 3150                ret1501530ass="sref">h.tp_versrun_filterpo,
po,
 3151        case 153et/af_packet.sref!s="sref">packetrehref="net/packetreht_so.#L271" id="L271" class="line" name1532300"> 3152                153ode=flush_dcache_pagegoto>po);
 3153                ret153153ref="+code=h"srefpo->po,
 3154        case 153ef="+code=raw" class=po->. 3155        default:
153ket.c#L326" id="L326" class="line" name1536300"> 3156                153ode=WARN" clasrefpo->po->tp_versik_rmem_alea>tp_versik_rcvbuf 3157                153ode=BUG" class="sref"goto>po);
 3158                ret1581538t/af#L271" id="L271" class="line" name1539300"> 3159        }
hsrefpo,
,
 3150}
packetsk_buffpo,
.
one
onet_socpo,
po,
 3151
,
. 3152static void *154ode=flush_dcache_pageN" claf"goto>po);
 3153                str153154ket.c#L354" id="L354" class="line" name1504300"> 3154                uns154154ef="+code=raw" class=srefpo,
tp_versdataref="net/packetdata 3155                int1551545class="sref"ter_protttttttttpo,
tp_versdataref="net/packetdata. 3156{
tp_verslennet/packet/af_plent_so re. 3157        unsigned in157154ode=BUG" class="sref"c#L273" id="L273" class="line" name1548300"> 3158        union {
154a href="net/packet/af.,
 3159                str159154ode=__unregister_prot,
. 3150                str150155Lde=__unregisc#L273" id="L273" class="line" name1551300"> 3151                voi151155ket.c#L342" id="L342" class="line" name1552300"> 3152        } spin_uBUILD_BUG_ONref="net/packetBUILD_BUG_ONt_soceizeof(>po,
po,
 3153
tp_verscbnet/packet/af_pcbket.).c#L271" id="L271" class="line" name1554300"> 3154         3155        ,
eillket. reref">po->tp_versiaref="net/packetsatp_versll1.c#L242etellket.c#L271" id="L271" class="line" name1556300"> 315we will tempora"net/pack15we >1556de=WARN" clapo,
eillket.class="sref">tp_versill_familynet/packet/af_pill_familyket. re. 3157{
->eillket.class="sref">tp_versill_hatyp ref="net/packetill_hatyp ket.sre.tp_verstyp ref="net/packettyp ket.c#L271" id="L271" class="line" name1558300"> 3158        struct 1558class="sref"="sref">pg_vec_sll1.c#L242eteillket.class="sref">tp_versill_p_otocol1.c#L242eteill_p_otocolsrefsre.tp_versp_otocol1.c#L242ete _otocolket.c#L271" id="L271" class="line" name1559300"> 3159
pg_vec_sll1.c#L242eteillket.class="sref">tp_versill_pkttyp ref="net/packetill_pkttyp srefsre.tp_verspk _typ ref="net/packetlk _typ srefc#L271" id="L271" class="line" name156L300"> 3150        hsrefpo->,
e oket.class="sref">tp_versorigdevref="net/packetorigdevket.).#L271" id="L271" class="line" name1561300"> 3151        if (156et/af_packet.s="sref"po,
eillket.class="sref">tp_versill_ifindexref="net/packetill_ifindexsrefsre.tp_versifindexref="net/packetifindexsrefc#L271" id="L271" class="line" name1562300"> 3152                156 class="sref"else#L271" id="L271" class="line" name1566L24272o,
 3147                143ode=BU"> 3147     3156st9ame1556300[a href="152155 class="ue_4="net/pack="lin56sk"net/packet/af_pekbket.class="sref">tp_filtert_so5constak" class="sref">pac5etsk_561" class="line" name1554300"> 3154        154ode=71" it/pa>,
,
 3150                ret1501530ass="sref">h. 3154        154ode=71"ksre 3158        union {
154a hretttttttttt5ttttttttconstak" class="s5ef">p56k _s* 3155        ,
1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaplenec_rehref=5net/packetreht_so.#L271" 5d="L256ss="sref"goto>po);
packetsk_filt5r 31p=WARtri"140et/af_pacp=WARtri"53L300"> 3150                ret1501530ass="sref">h.sref">tp_versrun_filterhsrefpo->. 3152stat"> 31405470as57"line" name155L300"> 3150            u_de" iere5cet_socpo,
 3150                ret1501530ass="sref">h.5"        } 1505de=WARN" clapo,
147 clas5="sref"srefpo->e _otocolket.sre. 3" class="line" name1541300"="15"1505de=WARN" clapo,
 3158        union {
154a hre144sta5ic void 14745lass=5sref"="sref">pg_vec_rcu_read_unea>enet/pa5ket/af_prc5_read_unea>et_soc.c#L271"5id="L571" class="linGOINGref="net/packetPACKEhrefrefsntrea> r 3141 3153
 3146        st5uct <57pill_familyket. re. 3158        union {
154a hre1c_rehref=5net/packetreht_soc#L271" 5d="L251" class="line" name1477300"> 3147
1477et.cc#L273"5id="L57ket/af_pekbket.class="sref">tpina>                   273" 26" id="L326" class="line" name1536300"> 3156                po->                   273"8        union {
154a hreL271" id="5271" class="line" name1475300">581" class="line" name1529300"271" class="line" name156L300"> 3150   ass=lass="line" nameass=lt. reref">po->tp5815e*58"sref">h.e _otoket.c#L2refcounketNULLt_so.#L326" icounk"line" name1403300"> 355        default:
153ket.c#L326" id="L326" class="line" name1536300"> 3156                <6" ilass="line" namea <6" il273"8        union {
154a hreL_de" iere51481300"> 3141
 3156                ,
tp_versSK_RUN_FILTERref="ne5L273" id="5273" class="line" name1405300">58L242ete _otocolket.sre 3156                po->                   273"8        union {
154a hreLref="152
 315"             56                <6ata53kets*bnet/packet/af_pe6ata53kets273" id="L273" class="315"             /a>                voi151152et/af_packet.s="sref" class="p",
po,
e58ref"="sref">pg_vec_r0/af_plent_so.">po,
e58k _s*et_soc.c#L271" id="L271" cla5pack147548ode=Bpspana>
e*58vref="net/packetdevket.class=pina>                   273" 26" id="L326" class="line" name1536300"> 3156                po->                   273"8        union {
154a hreLref="net/58300"> 3148
271" class="line" name156L300"> 3150   ass=lass="line" nameass=lt. reref">po->tp56" ilass="line" nametp56" ilt. r++        union {
154a hre273" id="L573" class="line" name1409500"> 591" class="line" name1529300"5515in53ode=WARN" clas5515in5.c#L326" id="L326" class="line" name1536300"> 3156                <6" ilass="line" namea <6" il273"8        union {
154a hrepana>
e*/h. 3156                po->                   273"8        union {
154a hre_pekbket.c5k" class="sref">packet"L35devic59ket/af_pekbket.class="sref">tp_versno_fc5 k" class=5sref">packet"L3_device1.c5L242e5e"ass="line" namef="net/ref="net/packetreht_so.#L271" id="L271" ad_unea>et_soc.c#L271" id="L271" cla5vref="net/5acketorig_devt_so.#L326" 5d="L356" class="line503300"> 3153                str153154ket.c#L354" id="L354" class="line" name1504300"> 3154                uns154154ef="+code=raw" +c154                ret1581538t/af#L271" id="L271" class="line" name1539300"> 3159        }
p59et/packet/af_pekbket.d="L354" class="line" name1504300"> 3154                uns154154ef="+code=raw" +55                int1551545class="sref"ter_protttttttttpo,
packets> *a5dr_ll59et/packetdata                voi151152et/af_packet.s="sref" class="p",
{
packetlin5" _s>5*et_soc.c#L271" id="L271" cla5vref="net/5af_pskb_lenket.sre.d in157154ode=BUG" class="sref"c#L273" id="L273" class="line" name1548300"> 3158        union {
154a hr6ss="sref">6unsigned"lass="sref">pg_v6c_sna601" class="ling_vec_r0/af_plent_so.">po,
.tp_ver6pk _typ ref="net/packetlk6_typ 60ket/af_pekbket.class="sref">tp_versno_fc615"2300"> 615"                st615" 3tp_vers>{
 3141        union {
149et/afill_rxhlass="sref">pg_vec_line" _rcvref="net/packetline" _rcvt_sock" class="sref">packetsk_buffpo,
/* Special case: outgoif">po,
 3142                str142149ode=flush_dcache_pageN" clak" class="sref">packetline" _typ ref="net/packetline" _typ sref">po,
1536efpo1.c#L262ete oket.sre.po                str1431493f="+c#L328" id="L328" class="line" name1494300"> 3144               6 hrefikpo,
eillket.c#L271" id="L271" class="line" name1496300"> 3146
po,
 *60" class="line" name1467300"> 3147,
 3145        }  615"        switch (        }
,
hreack156154odetp_vers>hreL271" id="L271" classh1ack156154odeh1 3145        } tp_61242ete oket.classdt_socpo,
hreack156154odetp_vers2>hreL271" id="L271" classh2ack156154odeh2 3145        } tp_ver6"net/packetdevket.c#L271"6id="L671" class="linet.classdt_socpo,
hreack156154odetp_vers3>hreL271" id="L271" classh3ack156154odeh3 3145        }  6efpo->154oderaw 3145        } /* Speci}po,
        } 1516f="+p611" class="line" name1554300"ef">po,
e oket.c#L271" id="L271" class="line" name1497300"> 3147        ->eu8sref">po,
 3155
6a hre611" class="line_pekbket.class="sref">tp_versdataref="net/packetdata 3148        switch (1498ass="sref">hsass="sref">pg_vec_skb_le6href=156
e617k"net/packet/af_pekbket.class="sref">tp_verslennet/packet/af_plent_soc#L271" id="L271" class="line" name1499300"> 3149        case 14996t/pack157<6>151ode=Bpspana>
618k"net/packet/af_pekbklongclass="sref">tp_vss=ulass="line" nameass=u      1529et.cTP_STATUS_USass="line" name14TP_STATUS_USas"> 3149        case 14996t5"8300"> 6       union {
1618ass61sk"net/packet/af_pekbkshor.class="sref">tp_macoe" name1491300"> macoe"c#L271" id="L271" cla   oe" name1491300">    oe"c#L271" id="L271" clahrelennet/packet/af_phrelen"> 3149        case 14996lass="line6 name1509300"> 3159  6     6       str159<#L326" id="L326" class="line" name1491300"> 3141        union {
154ode=BUG" class=py1     1529et.c" class="line" name1541300"="15"1505de=WARN" clapo,
tp_versik_typ ref="n6t/pac6etik_typ srefsdt_socpo,
,
h.pg_vec_skb_mac_head6r,
 3149        case 14996">tp_versp6 _typ ref="net/packetlk _6yp sr6f"rre.1538_hwtassmilpo1.c#L242ete okethhwtassmilass="line" nameahhwtassmilpo1.c55                wtassmilass="line" namea 8 3158        union {
154a hr6f="+code=h6 class=" class="pspana>
<6 hrco62sk"net/packet/af_pekbket.class="sref">tp6>po,
<6 hrefs*"_ne=work_offse= 315"L30>        case 150 315"        union {
150et/af_packet.srefpo->,
 3156         315"                str15"150ket.c#L354" id="L354" class="line" name15"4300"> 315"                voi15"1504class="sref"="sref">pg_vec_s*271" class="line" name1ts="line" _p_ivt_soc#L271" id="L271" class="line" name15"5300"> 315"        } 1505de=WARN" clapo,
po,
po,
po,

150ode=W#L273" id="L273" class="line" name15"7300"> 315"        1507de=WARN" clasref!s="sref">packet"L3_eq1.c#L242ete"L3_eqt_socpo,
,
 3151        6ase <6 hre151153et/af_packet.sref!s="sref">packetik153ode=flush_6cache63eN" claf"goto>po);
-> 3153  51        }
 3152
->
eeeeee1"         */ 3150                str150152Lde=__unregister_protsrefpo-> 3151                voi151152et/af_packet.s="sref" class="p"sref">pg_vec_skb_pushnet/packet/af_pskb_pusht_socpo,
po,
...#L328" id="L328" class="line" nam6 lass="sre6. lassre.,
 3152        }  3157/a>. 3153
. 3154        pg_vec_skb_pull1.c#L242eteikb_pullt_socpo,
,
.
o6et_socpo,
.,
tp_versno_fc6ic void *<6 hre152154ode=flush_dc6che_p64agegoto>po);
        } ->tp_vss=ulass="line" nameass=u      |1529et.cTP_STATUS_CSUMNOTREADYs="line" name14TP_STATUS_CSUMNOTREADYsref...#L328" id="L328" class="line" nam6f="+code=s6b_headket.s!re.pg_vec_rcu_read_unea>enet/pa6et/af_pekb6et.class="sref">tp_versda6aref=64>tp_versiaref="net/packetsa        switch (1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaple6packet/af_6ekbket.class="sref">tp_ve6slenn64"line" name1506300"> 3156         3159                1529et.c#L273" id="L273" class="line" name153L300"> 3150                ret1501530ass="sref">h.tp_versrun_filter.po,
154od6=__unregister_prot,6. 3152 6/packet/af6pnekbket.c#L271" id="L2716 clas651" class="line" name15"L300"> 315tor ref="net/packetdrop_n_restor t_soc#L271" id="L271" class="line" name1533300"> 3153                ret153155Lde=__unregisc#L273"6id="L65hre151153et/af_pac="net/packetsa        switch (1527et.c#L354" iss="line" name1499300"> 3149        case 14996socpo,6po);
 3153    t">eeeeee1"         */ 31     }  macoe"c#L2pekbket.)c#L271" id  oe" name1491300">    oe"c#L2 1529et.cTPe.srefALIGBUG_ONt_soceizeoTPe.srefALIGB53L300"> 3150   271" class="line" name156L300"> 3150   tp_hrelennet/packet/af_ptp_hrelenotsre + 16 +s*"net/packet/af_pekbket.class="sre6vt/af_pekb6t/packet/af_pekbket.)clas6="sre65et/packetdata. 3150   tp_1" irvlass="line" nametp_1" irvl"> 3149        case 14996sacket/af_6">tp_versill_familynet/pa6ket/a6_pill_familyke}sert_shs*"net/packet/af_pekbket.class="sre6vskb_lenke6ll_hatyp ket.sre. 3157/af_pekbket.class="sref">tp_maclennet/packet/af_pmaclenpo1.c55               c154152ef="+code=raw" class=========p"sref">pg_vec_skb_pull1.c#L242eteikb_pullt_socpo<149        case 14996s="net/pac6lsrefsre.,d  oe" name1491300">    oe"c#L2 1529et.cTPe.srefALIGBUG_ONt_soceizeoTPe.srefALIGB53L300"> 3150   271" class="line" name156L300"> 3150   tp_hrelennet/packet/af_ptp_hrelenotsr +s*"net/packet/af_pekbket.class="sre6till_pktty6 srefsre. 3150   maclennet/packet/af_pmaclenpo1.c&lsoc16 ?c16 :class="sref">tp_maclennet/packet/af_pmaclenpo1.ILD_s*"net/packet/af_pekbket.class="sre6tpacket/af6eikelyt_socpo,
e oket.classpekbket.d="L354" class=271" class="line" name156L300"> 3150   tp_1" irvlass="line" nametp_1" irvl"> 3149        case 14996ndexsrefsr6.153et/af_pac="net/packetsa macoe"c#L2pekbket.)c#L271" id  oe" name1491300">    oe"c#L2 ket/af_pskb_pushtmaclennet/packet/af_pmaclenpo1.149        case 14996nocpo,6exsrefc#L271" id="L271" c6ass="6ine" name15623/af_pekbket. re. 3153  271" class="line" name156L300"> 3150   tp_versionnet/packet/af_ptp_versionpo1.c&lso1529et.cTPe.srefV2ack156154odeTPe.srefV2otsre hs*"net/packet/af_pekbket.class="sre6filtert_so6constak" class="sref">pac6etsk_66et/packet/af_pekbket.s=pspana>
 macoe"c#L2p_BUG_ONref="net/p5tor ref="net/packetdrop_n_restor t_soc#L271" id="L271271" class="line" name156L300"> 3150   rx_ring"line" name14993x_ringame1eref">po->lass=_R_LE"line" name1499lass=_R_LEotsre hs*"net/packet/af_pekbket.class="sre6ft/af_pekb6ttttttttconstak" class="s6ef">p66et/packetdata. 3153  271" class="line" name156L300"> 3150   s=py        default:
153ket.c#L326" id="L326" class="line" name1536300"> 3156                153ode=WARN" clasrefpo->po->tp_ve hs*"net/packet/af_pekbket.class="sre6fskb_lenke6net/packetreht_so.#L271" 6d="L266ame1507300"> 3157/a>.. 3153  158                ret1581538t/af#L271" id="L271" class="line" name1539300"> 3159        }
packetsk_filt6r.154ode=BUG" class=py1     1529et.csack150154Lde=__unregister_protk" class="sref">packetsk_buffpo,
.
one 31406470as67242ete oket.classpekbket.s="s153et/af_pac="net/packetsa154ode=BUG" class=py1     1529et.csackg="+code=raw" class===g">pg_vec_skb_pull1.c#L242eteikb_pullt_socpo<149        case 14996u_de" iere6cet_socpo,
153et/af_pacpekbket.s="s153et/af_pac="net/packetsa 3147        ->eu8sref">po,
147 clas6="sref"srefpo->eu8sref">po,
/* Special case: outgoiiiiiiiiii503300"> 3153  copy154ode=BUG" class=py1    0"> 3153                ret153sta6ic void 14746lass=67et/packet/af_pekbket.class="ss="s153et/af_pac="net/packetsa 3150   copy154ode=BUG" class=py1    0ass="sref">h.5"        } 1505de=WARN" clapo,
et_soc.c#L271"6id="L67et/packetdata.eu8sref">po,
 3146        st6uct <67"+code=sksrefclass="s153et/af="net/packetsa        switch (1527et.c#L354" i271" class="line" name156L300"> 3150   rx_ring"line" name14993x_ringame1eref">po->lass=_R_LE"line" name1499lass=_R_LEotsr ket/af_pskb_pushtmacoe" name1491300"> macoe"c#L2="15"1505de=WARN" clapo,
 3157/a>. 3153                ret1531477et.cc#L273"6id="L67t/packet/af_pconsume"/a>.        switch (10/af_plent_so.">po,
68href="+code=s*"_share/af_pekbket. re. 3140
e*68t/af_pekbket./af_pekbket. re. 3141
                   273" 26" id="L326" class="line" name1536300"> 3156                po->                   273"8        union {
154a hr6L273" id="6273" class="line" name1406300">68L242ete _otocolket.srepo->rawack156154oderaw 314/>1527et.c#L354" i2150current_3x_lass=1" class="line" 150current_3x_lass=53L300"> 3150   271" class="line" name1/a>                voi151152et/af_packesref">po,

/* Special case: outgoiiiiiiiiiite _otocolket.sre
 macoe"c#L2+cketreht_sosre="sref">tp_versrun_filter
e68code=s*"_ne=we" nef">po,
po->rawack156154oderaw 3140"> 3153                ret153
e68et/packetdata,
1505de=WARN" clapo,
148ode=Wpspana>
 3153  271" class="line" name156L300"> 3150   tp_versionnet/packet/af_ptp_versionpo1.c&lso1529et.cTPe.srefV2ack156154odeTPe.srefV2otsre hs*"net/packet/af_pekbket.class="sre6pack147648ode=Bpspana>
e*68ame1507300"> 3157        unsigne 150increment_3x_L271" id="L271" cla 150increment_3x_L27153L300"> 3150   271" class="line" name1/a26" id="L326" class=271" class="line" name156L300"> 3150   rx_ring"line" name14993x_ringame18        union {
154a hr6LN" clak" 68300"> 3148
 3153
 691" cltOINGref="net/packetPA 3157* LOSING will be reported till you 3ket the ass=l,00"> 3153
e*/* becaut_sot's COR keClear On Rket.00"> 3153
packet"L36devic69ket/atOINGref="net/packetPA 3157* Anyways, mov328"it for V1/V2 only as V3 doesn't need this00"> 3153
packet"L3_device1.c6L242e6e"aOINGref="net/packetPA 3157* at" id="L level.00"> 3153
 3153
p69et/packet/af_pekbket.e" n00"> 3153  271" class="line" name156L300"> 3150   ass=lass="line" nameass=lt. reref">po->tp56" ilass="line" nametp56" ilt. r0"> 3153                ret153packets> *a6dr_ll69et/packetdata        unsignevss=ulass="line" nameass=u      |1529et.cTP_STATUS_LOSINGass="line" nameTP_STATUS_LOSINGc#L2="15"1505de=WARN" clapo,
packetlin6" _s>6* 3150   ass=lass="line" nameass=lt. reref">po->tp5815. 31copy154ode=BUG" class=py1    0 hs*"net/packet/af_pekbket.class="sre7ss="sref">7unsigned"lass="sref">pg_v7c_sna70href="+code=s*"_share        unsignevss=ulass="line" nameass=u      |1529et.cTP_STATUS_COPYs="line" name14TP_STATUS_COPYc#L2="15"1505de=WARN" clapo,
tp_vers_"c#LU. Outplass="line" name140_"c#LU. Outplass273" 26" id="L326" class="line" name1536300"> 3156                ,
154ode=BUG" class=py1    0="15"1505de=WARN" clapo,
packet"L37_typ 702a href="+cod/af_pekbket. re. 715"                st715"e _otocolket.sre 3156                po->                   273"8        union {
1nik"ne714"2300"> 71cketorig_devt_so.#L326" 7id="L70sk"net/packet/af_pekbket.class="sref">tp7sksrefsre<7a>.ster=pypacketsk_buffpo->rawack156154oderaw 314/_BUG_ONref="net/pmacoe" name1491300"> macoe"c#L271" id="L271" cla"sref">tp_versrun_filter 3153  271" class="line" name156L300"> 3150   tp_versionnet/packet/af_ptp_versionpo1.0 hs*"net/packet/af_pekbket.class="sre7s8refik. *70" class="lineNGkea 1591529et.cTPe.srefV1ack156154odeTPe.srefV1 claad_unea>et_soc.c#L271" id="L271" cla715"8300"> 715"        switch (,hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_lennet/packet/af_ptp_1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaple7redrop,hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_"sref">tp_versrun_filttp_"sref">1571527et.c#L354" idsref">tp_versrun_filterpg_vec_snaple7rrefrehref7ket/af_pekbket.class="sre7">tp_71242ete oket.classskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_mactp_versrun_filttp_mac1571527et.c#L354" imacoe" name1491300"> macoe"c#L2="15"1505de=WARN" clapo,
tp_ver7"net/packetdevket.c#L271"7id="L771" class="linet.classskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_>packet"L3_eq1.c#Ltp_>pa1571527et.c#L354" id  oe" name1491300">    oe"c#L2="15"1505de=WARN" clapo,
 7efpo-> 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153151ref="+code=h" class="7spana71ent">/* Special case: outgoiiiiiiiiiic154               ystassmicket"L3_eq1.c#L ystassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret1531517f="+p71et/packet/af_pekbket.class="sref">po->tv55 class=q1.c#Ltv1571527et.c#L354" iktime_to_timevaline" name149530ktime_to_timevaltk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56               ystassmicket"L3_eq1.c#L ystassmit. r+code=run_filtert_socpo,
 3155
7a hre71et/packetdata 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153
e71"+code=sksrefclass="s153et/af_paciiiic154              hwtassmiack156154odehwtassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153151ode=Bpspana>
71ame1507300"> 3157/a>.po->tv55 class=q1.c#Ltv1571527et.c#L354" iktime_to_timevaline" name149530ktime_to_timevaltk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56              hwtassmiack156154odehwtassmit. r+code=run_filtert_socpo,
 7       union {
1718ass71t/packet/af_pconsume"ert_socpo,
po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153 3159  7     72href="+code=s*"_shareeeeeeeeeref">po->tv55 class=q1.c#Ltv1571527et.c#L354" iktime_to_timevaline" name149530ktime_to_timevaltk" class="sref">packnet/packet/af_pekbket.).c#L271" id="L271" cltassmicket"L3_eq1.c#Ltassmit. r+code=run_filtert_socpo,
tp_versik_typ ref="n7t/pac72242ete oket.classert_ode=run_filtert_socpo,
tp_ver7sref">pg_vec_skb_mac_head7r153et/af_pacpekbket.1" id="L271" cldo=g">timeofdas*bnet/packet/afdo=g">timeofdas273" 26" id="L326" class=tv55 class=q1.c#Ltv157<+code=run_filtert_socpo,
 7 _typ ref="net/packetlk _7yp sr72etdevket.class="sref"skbt_socpo,hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_"e53ode=WARN" clastp_"e51571527et.c#L354" itv55 class=q1.c#Ltv157po->tv_"e53ode=WARN" clastv_"e5157,

<7 hrco721" class="line" name1lass="sref">tp_hcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 31456L300"> 3150   tp_u"e53ode=WARN" clastp_u"e51571527et.c#L354" itv55 class=q1.c#Ltv157po->tv_u"e53ode=WARN" clastv_u"e5157,
 3/>1R_LEof( id="L271" classhcketSOCK_DGRAMth 314eref">po->h1ack156154odeh1 314+code=run_filtert_socpo,
,
1529et.cTPe.srefV2ack156154odeTPe.srefV2otsrad_unea>et_soc.c#L271" id="L271" cla7ref="+c1567/>152ode=WARN" clac#L273"7id="L72ame1507300"> 3157        unsignehcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_lennet/packet/af_ptp_1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaple7net/packet7af_psnaplensrefsre.,hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_"sref">tp_versrun_filttp_"sref">1571527et.c#L354" idsref">tp_versrun_filterpg_vec_snaple7verslennet7packet/af_plent_soc#L271"7id="L73href="+code=s*"_shareskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_mactp_versrun_filttp_mac1571527et.c#L354" imacoe" name1491300"> macoe"c#L2="15"1505de=WARN" clapo,
po,
e oket.classskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_>packet"L3_eq1.c#Ltp_>pa1571527et.c#L354" id  oe" name1491300">    oe"c#L2="15"1505de=WARN" clapo,
 3151        7ase <7 hre151153et/af_pacocpo(00"> 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153153ode=flush_7cache73etdevket.class="sref"eeeeeeeeeeeeeeeec154               ystassmicket"L3_eq1.c#L ystassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153->/* Special case: outgoii1" id="L271" cltacket"L3_eq1.c#Lta1571527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56               ystassmicket"L3_eq1.c#L ystassmit. r+code=run_filtert_socpo,
-> 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153.              hwtassmiack156154odehwtassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153.1527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56              hwtassmiack156154odehwtassmit. r+code=run_filtert_socpo,
      7         153ode=7UG" c73ame1507300"> 3157ert_socpo,
po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153.1527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packnet/packet/af_pekbket.).c#L271" id="L271" cltassmicket"L3_eq1.c#Ltassmit. r+code=run_filtert_socpo,
,
,

o7et_socpo,
e oket.classpekbket.d="L354" class=getnstimeofdas*bnet/packet/afgetnstimeofdas273" 26" id="L326" class=tacket"L3_eq1.c#Lta157<+code=run_filtert_socpo,
,
po->h2ack156154odeh2 31456L300"> 3150   tp_"e53ode=WARN" clastp_"e51571527et.c#L354" itacket"L3_eq1.c#Lta157po->tv_"e53ode=WARN" clastv_"e5157,
154ode=flush_dc7che_p74etdevket.class="sref"skbt_socpo,hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_>"e53ode=WARN" clastp_n"e51571527et.c#L354" itacket"L3_eq1.c#Lta157po->tv_>"e53ode=WARN" clastv_n"e5157,
,
packnet/packet/af_pekbket.)."> 3159        }
.po->hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_vlan_tci3ode=WARN" clastp_vlan_tci1571527et.c#L354" ivlan_tx_tag_g="+code=raw" clasvlan_tx_tag_g="tk" class="sref">packnet/packet/af_pekbket.)."code=run_filtert_socpo,
tp_versda7aref=74et/packetdata        unsignevss=ulass="line" nameass=u      |1529et.cTP_STATUS_VLAN_VALIDack156154odeTP_STATUS_VLAN_VALID157,
tp_ve7slenn74"+code=sksrefclass="s}sert_shs*"net/packet/af_pekbket.class="sre7pskb_lenke7.c#L271" id="L271" class=7line"74ame1507300"> 3157/a>.po->hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_vlan_tci3ode=WARN" clastp_vlan_tci15710/af_plent_so.">po,
.154od7=__unregister_prot,7po->hcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_padding"line" name1499tp_padding15710/af_plent_so.">po,
 3/>1R_LEof( id="L271" classhcketSOCK_DGRAMth 314eref">po->h2ack156154odeh2 314"code=run_filtert_socpo,
155Lde=__unregisc#L273"7id="L75hre151153et/af_pacbreakcode=run_filtert_socpo,
,71529et.cTPe.srefV3ack156154odeTPe.srefV3otsrad_unea>et_soc.c#L271" id="L271" cla7"+code=h" 7lass=" claseizeof(.,vlan are al3kety populated above.00"> 3153
>>>>>>>>* So DONTrefear thokeafields heL271"> 3153
>>>>>>>>*300"> 3153
tp_versill_familynet/pa7ket/a75"+code=sksrefclass="sid="L271" classhcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_"ss=ulass="line" nametp_"ss=ul     |1529et.cvss=ulass="line" nameass=u     code=run_filtert_socpo,
. 3157id="L271" classhcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_lennet/packet/af_ptp_1527et.c#L354" id="L354" class="line" name1528300"> 3158        case 1528class="sref"="sref">pg_vec_snaple7s="net/pac7lsrefsre.,hcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_"sref">tp_versrun_filttp_"sref">1571527et.c#L354" idsref">tp_versrun_filterpg_vec_snaple7till_pktty7 srefsre.,hcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_mactp_versrun_filttp_mac1571527et.c#L354" imacoe" name1491300"> macoe"c#L2="15"1505de=WARN" clapo,
,
e oket.classskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_>packet"L3_eq1.c#Ltp_>pa1571527et.c#L354" id  oe" name1491300">    oe"c#L2="15"1505de=WARN" clapo,
.153et/af_pacocpo(00"> 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153,7exsrefc#L271" id="L271" c7ass="76etdevket.class="sref"eeeeeeeeeeeeeeeec154               ystassmicket"L3_eq1.c#L ystassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153155 class="ue_4="net/pac7="lin76ent">/* Special case: outgoii1" id="L271" cltacket"L3_eq1.c#Lta1571527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56               ystassmicket"L3_eq1.c#L ystassmit. r+code=153                ret153pac7etsk_76et/packet/af_pekbket.ert_socpo(00"> 3153  271" class="line" name156L300"> 3150   tp_tassmicket"L3_eq1.c#Ltp_tassmipo1.c&154 3153                ret153p76et/packetdata.              hwtassmiack156154odehwtassmit. reref">po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153146ode=WARN" class="s7effff76"+code=sksrefclass="s153et/af1" id="L271" cltacket"L3_eq1.c#Lta1571527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packhhwtassmilass="line" nameahhwtassmilpo1.56              hwtassmiack156154odehwtassmit. r+code=run_filtert_socpo,
 3157ert_socpo,
po->tv>155 class=q1.c#Ltv6" cla0"> 3153                ret153packetsk_filt7r.1527et.c#L354" iktime_to_timespe53ode=WARN" clasktime_to_timespe5tk" class="sref">packnet/packet/af_pekbket.).c#L271" id="L271" cltassmicket"L3_eq1.c#Ltassmit. r+code=run_filtert_socpo,
,
 31407470as77242ete oket.classpekbket.d="L354" class=getnstimeofdas*bnet/packet/afgetnstimeofdas273" 26" id="L326" class=tacket"L3_eq1.c#Lta157<+code=run_filtert_socpo,
,
153et/af_pacskbt_socpo,hcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_"e53ode=WARN" clastp_"e51571527et.c#L354" itacket"L3_eq1.c#Lta157po->tv_"e53ode=WARN" clastv_"e5157,
147 clas7="sref"srefpo->,hcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 31456L300"> 3150   tp_>"e53ode=WARN" clastp_n"e51571527et.c#L354" itacket"L3_eq1.c#Lta157po->tv_>"e53ode=WARN" clastv_n"e5157,
/* Special case:skbt_socpo,hrelennet/packet/af_phrelen"> 3/>1R_LEof( id="L271" classhcketSOCK_DGRAMth 314eref">po->h3ack156154odeh3 314+code=run_filtert_socpo,
14747lass=77et/packet/af_pekbket.breakcode=run_filtert_socpo,
et_soc.c#L271"7id="L77et/packetdatadefaultad_unea>et_soc.c#L271" id="L271" cla7/acket/af_76300"> 3146        st7uct <77"+code=sksrefclass="sref">po->BUGass="line" nameBUG273" +code=run_filtert_socpo,
 /af_pekbket. re.1477et.cc#L273"7id="L77t/pacaf_pekbket. re.78href="+code=slass="sref">packder"at head */1527et.c#L354" ihcketSOCK_DGRAMth 314eref">po->rawack156154oderaw 314/_BUG_ONref="net/pTPe.srefALIGBUG_ONt_soceizeoTPe.srefALIGB53L300"> 3150   hrelennet/packet/af_phrelen"> 3+code=run_filtert_socpo,
 3140
e*78t/af_pekbket.lass="sref">packder"at head */               ll_haf">tp_versrun_filtell_haf">c#L2/>1527et.c#L354" ideva>,rse_L271d="L273" class="ldeva>,rse_L271d=tk" class="sref">packnet/packet/af_pekbket.).71" id="L271" cla"der"at head */               ll_adda hrefik"net/packll_adda"> 3+code=run_filtert_socpo,
 3141
               ll_famils*bnet/packet/af ll_familsc#L2/>1527et.c#L354" iAF_Pe.sre*bnet/packet/afAF_Pe.sre157,
78L242ete _otocolket.sre               ll_ha" class="line" name1ll_ha" clc#L2/>1527et.c#L354" idev"L273" class="ldev 31456L300"> 3150   t class="line" name" clc#L2code=run_filtert_socpo,

/* Speciotocolket.sre               ll_protocoer"at head */1527et.c#L354" id="L354" class="line" name1528300"> 3158 protocoer"at head */,
e781" class="line" name1554300">der"at head */               ll_pkt" class="line" name1ll_pkt" cl1571527et.c#L354" id="L354" class="line" name1528300"> 3158 pkt3" class="line" namepkt3" cl157,
e78et/packetdataocpo,
pac271" class="line" name156L300"> 3150   origdev"L273" class="lorigdev"> 3+0"> 3153                ret153148ode=Wpspana>
po->>der"at head */               ll_ifindexass="line" name1ll_ifindex1571527et.c#L354" iorig_dev"L273" class="lorig_dev 31456L300"> 3150   ifindexass="line" nameifindex157,

e*78ame1507300"> ert_ode=run_filtert_socpo,
 3148
,>der"at head */               ll_ifindexass="line" name1ll_ifindex1571527et.c#L354" idev"L273" class="ldev 31456L300"> 3150   ifindexass="line" nameifindex157,
 791" clode=run_filtert_socpo,
 3140e*/packmp_m"L354" class="linmp_m"273" +code=run_filtert_socpo,
packet"L37devic79ket/a#ocp527et.c#L354" iARCH_IMPLEMENTS_FLUSH_DCACHE_PeGEcket"L3_eq1.c#LARCH_IMPLEMENTS_FLUSH_DCACHE_PeGE157= 1ode=run_filtert_socpo,
packet"L3_device1.c7L242e79L242ete _hs*"net/packet/af_pekbket.class="sre72ref="152<7acketorig_devt_so.#L326" 7d="L379ent">/* Special case:skbt_socpo,u8*bnet/packet/afuame150 id="L271" classstar"+code=raw" classtar"t.).71 id="L271" classen1" id="L271" claen1157,
p79et/paode=run_filtert_socpo,
packets> *a7dr_ll79et/packetdata 3153  271" class="line" name156L300"> 3150   tp_versionnet/packet/af_ptp_versionpo1.c&lso1529et.cTPe.srefV2ack156154odeTPe.srefV2otsre hs*"net/packet/af_pekbket.class="sre7e=WARN" cl7k" class="sref">packetlin7" _s>79"+code=sksrefclass="s153et/af1" id="L271" clen1" id="L271" claen11571o,
po->rawack156154oderaw 314s*"net/packet/af_pekbket.class="sre7eskb_lenke7=skb_headket.sre. 3157/a>. macoe"c#L2p_BUG_ONref="net/p5tor ref="net/packetdrop_n_restor+code=run_filtert_socpo,
..packtar"+code=raw" classtar"t.)./>1527et.c#L354" ihcketSOCK_DGRAMth 314eref">po->rawack156154oderaw 3141527et.c#L354" iPeGEfSIZEcket"L3_eq1.c#LPeGEfSIZE cla0"> 3153                ret1538unsigned"lass="sref">pg_v8c_sna80href="+code=s*"_shareclass="s153et/af1" id="L271" clflush_dcache   glass="line" nameflush_dcache   gltk" class="sref">pac2gv_to_  glass="line" name2gv_to_  gltk" class="sref">packtar"+code=raw" classtar"t.).+8        union {
154a hr8hrefrehref8"net/packetreht_soc#L271"8id="L80242ete oket.class/af_pekbket. re.packet"L38_typ 80hre151153et/af_pacskbt_socpo,nmp_wm"L354" class="linmp_wm"273" +code=run_filtert_socpo,
 815"                st815"e _/af_pekbket. re. 81cketorig_devt_so.#L326" 8id="L80sk"ne#en1ifaf_pekbket. re. 814class="sref"k" class="s8cket 80code=s*"_ne=we" n00"> 3153  271" class="line" name156L300"> 3150   tp_versionnet/packet/af_ptp_versionpo1.c&lso1529et.cTPe.srefV2ack156154odeTPe.srefV2otsreaf_pekbket. re. 81class="sref">packets> *a8ref="80et/packetdata1529et.c_ref="+n//et_vss=ulass="line" name_ref="+n//et_vss=ultk" class="sref">pac271" class="line" name171" id="L271" clahcketSOCK_DGRAMth 314eref">po->rawack156154oderaw 31471" id="L271" cla"ss=ulass="line" nameass=u     +code=run_filtert_socpo,
 81" class="sref">packetlin8id="L871" class="linert_ode=run_filtert_socpo,
. *80ame1507300"> 3157id="L271" classprter_ear_blk_fill_"ss=ulass="line" nameprter_ear_blk_fill_"ss=ul273" 26" id="L326" class=271" class="line" name156L300"> 3150   rx_ring"line" name14993x_ringame18        union {
154a hr815"8300"> 815"        switch (.packline" name1536300"> 3156                packnine" name1536300"> 31, 08        union {
154a hr8rrefrehref8ket/af_pekbket.class="sre8">tp_81242et/a>        union {
154a hr8r2efrehref8"net/packetdevket.c#L271"8id="L871" cl527et.c#L354" idrop_n_3kstorlass="line" namedrop_n_3kstorl" clad_unea>et_soc.c#L271" id="L271" cla8+5"2300"> 8efpo-> 3147        ->packnet/packet/af_pekbket.)."> 3159        }
/* Special case:497300"> 3147        -> 3147 #L271" id="L271" class="line" na        union {
154a hr8r5"2300"> 8a href="net/pack1541518f="+p81et/packet/af_pekbket.497300"> 3147        1ee1497300"> 3147 # ref="net/packetdro> # re" na        union {
154a hr8r6"2300"> 8" name1505300"> 3155
8a hre81et/packetdata/af_pekbket. re.
e81"+cod527et.c#L354" idropass="line" namedrop" clad_unea>et_soc.c#L271" id="L271" cla8+8refik151ode=Bpspana>
81ame1507300"> 527et.c#L354" ikfree154ode=BUG" claskfree1tk" class="sref">packnet/packet/af_pekbket.)."        union {
154a hr8r5"8300"> 8       union {
1818ass81t/packet/af_preturn10/af_plent_so.">po,
 3159  8     821" clode=run_filtert_socpo,
tp_versik_typ ref="n8t/pac82242et0"> 3150   ring_is_f/der"at head */et_soc.c#L271" id="L271" cla8rf">tp_ver8sref">pg_vec_skb_mac_head8r 3150   ass=lass="line" nameass=lt. reref">po->tp56" ilass="line" nametp56" ilt. r++        union {
154a hr8r5"2300"> 8 _typ ref="net/packetlk _8yp sr82L242ete _otocolket.sre 3156                po->                   273"8        union {
1nik"ne8redrop
<8 hrco82sk"net/packet/af_pekbket.class="sref">tp8rksrefsre<8 hrefs*"_ne=work_offse=sine" name1536300"> 3156                packnine" name1536300"> 31, 08        union {
154a hr8rlass="lin8.c#L271" id="L271" class=8line"82et/packetdata527et.c#L354" ikfree154ode=BUG" claskfree1tk" class="sref">paccopy154ode=BUG" class=py1    0="15"1505de=WARN" clapo,
,
1505de=WARN" clapo,
152ode=WARN" clac#L273"8id="L82ame15/af_pekbket. re...s_bue" name1491300"> >s_bue"me150 id="L271" classsnet/packet/af_pekbket.)."af_pekbket. re.po,
 83242et,
 815"    3ref="8551300"1et//harline" name156L300"> 3150   ass=lass="line" nameass=lt. reref">po->t/packet/afl145reref">po->t/packet/afl145reref">po->t/packet4"+c7d#L273.po->t>,hck>et_soc.c#L271" id="L271" cla7ref="e" name156L300"> 3150   tp_tassmicu)1#Lta157     t/packet/af_ptp_1527et.c#L3/af_p7kbket75etdevket.clas155 claf_p7kbket75etdevet/packetreht_soc#L271"7id="L70242ete oket.class="sref">tp_vers_"c#LU. Outplass="line" name140_"c#LU. Outplass273" 26" id="L326" class="line" name153rha>.packhhw8assmilass="line" nameahhw8assmi833ketytk" class="sref">packnine" name15363SOF_TIMEST8MPING_RAW_HARDWAREcket"L38eq1.c83a>. 81po->>der"at head */          tid="L81href="+code=sltss="sref">k_offse= 3147 #L271" id="L271" clwtassmit. 8eref">po->tv>155 cl8ss=q18c#Ltv6" cla0"> 3153.<8151ode=Wpspana>
der"at head */a hrshinftine8 name1509300"> 3159  8     821" clode=f_pekbket.497300"> 3183242etor_ar81href="+code=sl183242etor_ar8a>.            bket.497300"> 3BUG_Oa h7ef="+79ame15BUG_Oaine8 name1509300"> 3atomic/>1tk h7ef="+79ame15atomic/>1tkekbket. re.k_offse=1    0="15"1505de=WARN" clapo,s=q1.c#Ltv8" cla0"> 3153        8     8 ret153 3atomic/d271" classhcketSOatomic/d27ekbket. re.k_offse=1505de=WARN" clapo,slastef="+npacket/af_pekbket.).c#L278" id=8L271" cltassmicket"L3_" id="L271" cla"ss=ulass="line" nameass=u     +code=run_filtert_socpo,
 81" class="sref">packetlin8id="L87ss="line" name153rha>.1505de=WARN" clapo,=getnstime8fdas*bnet/packet/afgetnst8meofd8s273" 26" id="354" itef="+n/dkstruct154ode=BUG" tert_socpo8/a>,
 8efpo->,
  8     821"id=_wass=ine8 name1509300"> 3159  8     821" clode=run_filtert_socpo,
1527et.8#L354" itacket"L3_eq1.c#L8a157<8ref">p354" itef="+n/dkstruct154ode=BUG" t">packhhw8packnine" name15363astp_vlan_8ci1571527et.c#L354" iv8an_tx8tag_g=ket. reinnameass=lt. reref80t/paekbket.">po,
80t/paek,
 815"po->t>,hck>et_soc.c#L271" id="L271" cla7ref="e" name156L300"> 3150   ,line" nameass=lt. rerefa>    3ref="8551300"1et//harline" name156L300"> 3150   ass=lass="line" ,tk" class="sref">packnine" name15363atassmit. 8un_filtert_socpo,
,/a>   ass=lass=fra>,>   ,line" nameass=lt. rerefn/a> 8vic,/a>   ass=lass=n/a> 8vic,ine" name156L300"> 31a hrefi72> 3140 791de=_manne" ,tk" class="sref">packnine" name15363a273"8id="LOCK_DGRAMth 314eref">po->82ack156154odeh2 314" id="L271" cla"sbe271" id="L2   +codebe27ck156  union {
 3150. 31mils*bnet/packet/affamilsc#,einnameass=lt. rerefhtp_versrun_filtell_CK_DGRAMtk" class="sref">packnine" name15363a=q1.c#Ltv8ci15710/af_plent_so.">8o8
 3147 #L271" id="L271" clDGRAMth 318eref">po->h2ack156<8>154o8eh2 31456L300"union1497300"> 3147 #L271" id="L271" cling15718/af_plent_so.">po,
hls*bnet/packet/afhlsine" name156L300"> 3173" id="L2737 clas72"+crun_filtert_socpo,
,
155Lde=__ine" nameass=lt. rerefhls*bnet/packet/afhlsine" name156L300"> 317packet/af_p7kbket75etdrun_filtert_socpo,
et_8oc.c#L271" id="L271" c73" 26" id="L326" claket"L3_eq1.c#LPeGEfSIZE clun_filtert_socpo,
1527et.8ss="line" name1lOINGref="8et/pa8ketPACKEtp_nxt}acketlin8id="L87ss="line" name153rha>.,
packhhw8ket.).c#L271"7id="L75et/p8aOING8ef="net/packetinnameass=lt. reref.. 79 hr_mana>.,
  8     821"id=e" namename156L300"> 315        union {id="L271p_tassmicu)1#Lta15tlk _8yp sr82L242ete _otocolket.sre  8     821"//aorefia>.,
...         3158innameass=lt. rerefers*bnet/packet/afers"+c1lun_filtert_socpo,
tp_v8rsrun85554300">s_bue" name1491300"> >s_bue"me150>1527et.c#8354" imacoe" name1491300"8 maco86 hr8rrefrehref8ket/af_pekbkess="line" name153rha>.<3140
e*78tp_tassmicu)1#Lta1fra>,/a>   ass=lass=fra>,>   lun_filtert_socpo,
1527et.c#8354" id  oe" name1491300"8    o862300"> 8efpo->,
               ll_pkt" class="line" name1ll_pkt" cl11p_tassmicu)1#Lta15 3150,
/>1527et.8 reref">po->tv>155 8lass=86->                 />1518f="+p81et/packet/af_pekbket.497300"> 31 hrefi72> 3140,
 3140,
">packhhw8assmilass="line" nameahhw8assmi86head */               ll_pioritco7ment"78"+code_pioritc"L271p_tassmicu)1#Lta15tlk _8yp sr82L242ete _otocolket.sre,
stp_vlan_8MPING_RAW_HARDWAREcket"L38eq1.c86 hr8rlass="lin8.c#L271" id="L2at head */               llmarevet/packetreht_mare"L271p_tassmicu)1#Lta15tlk _8yp sr82L242ete _otocolket.sre,
tassmit. 8eref">po->tv>155 cl8ss=q186clas82"+code=sksref_ne=t_soca hrshinft>der"at head */a hrshinftine8 name1509300"> 3159  8     821" clode=f_pekbket.497300"> 3183242etor_ar81href="+code=sl183242etor_ar8a>.<1p_tassmicu)1#Lta15s="line" name153rha>.<3140
e*78lun_filtert_socpo,
273"8id="Lassmilass="line" nameahhw8assmi8po1.56un_filtert_socpo,
=q1.c#Ltv8" cla0"> 3153        8     8 ret153 81class="sref">packets> *a8ref="80et/packetdata1529et.c_ref="+n//et_ve1497300"> 3147 #L271" id="L271" clf">packnet8packet/af_pekbket.).c#L278" id=8L271" cltassmih 314eref">po->h2ack156154odeh2 31456L300"> 3150   tp_lennet/packet/af_ptp_.<3140.,
,
,
po->BUGass="li8/>1527et.c8L354" itacket"L3_eq1.c#Lt8157po->_lenke7net/packetreht_soc#L271" 7d="L277ame81527et.8#L354" itacket"L3_eq1.c#L8a157<8ref">po->tv_>"e53ode=WARN" clas7net/p75t/packet/af_pconsume"sk1p_tassmicu)1#Lta15s="line" name153rha>.<3140,
packhhw8run_filtert_socpo,
po->BUGass="li8/stp_vlan_8 cla7/acket/af_76300"> 31868       st7uct 354" itef="+n/dkstruct154ode=BUG" e" nameBUG873" +code=run_filtert_soc8o8753148ode=Wpspana>
po-&7net/p75t/packet/af_pconsume"sk1refsameass=lt. rerefode=_maname1409700"> 791de=_manne" ee1497300"> 3147 #L271" id="L271" cl507300"> /8f_pekbket. re.1477et.cc#L27pr_ers*bnet/packet/afpr_erslass="->h3ac324pL81>"id="L2code= is toohhhhh (%d1refsa%d)\n"3150 791de=_manne" erefclass="sref">po->BUGass="li8/=q1.c#Ltv8ine" name1477300">78href=8+code87ret153,
packnet8etSOCK_DGRAMth 314eref">p8-879     st7uct 354" itef="+n/dkstruct154ode=BUG" t/pTPe.sre8ALIGBUG_ONt_soceizeoTPe.s8efALI88ver8sref">pg_vec_skb_mac_head8rpacknet/packet/af_pekbket.).7 hrAMthrv"sref">tp8rksrefsrhrAMthrv"ine8 name1509300"> 3159  8     821" clodepacketlin8id="L871tp_versrun_filtell_CK_DGRAMlun_filtert_socpo,
,
,
 3159  8     821" clode=run_filtert_socpo,
 3150   t class="8ine" 8ame" cun_filtert_socpo,
packhhw8e1528300"> 3158 proto8oer"a8 head */        .<3140
e*78traw" classtar"t.)class="sref">packets> *a8ref="80et/packetdatatp_versrun_filtelltatp_e*78t-code=runine" nameass=lt. rerefaorefami_ltert_socpo,
,
 3158 pkt3" c8ass="8ine" namepkt3" cl157.,hrel=,
 8+0"> 3153            8   re8153,
 /8s="lorig_dev 31456L300"> 8150   ifindexass" class="/hare1tk" c        union {id="L27          ll_protocoer"at head */ 3147 #L271" id="L271" cl               ll_if8ndexa88ret153 3ers*bnet/packet/afers"+c1packll_adda"> 3+code=rhardltert_socpo,
 3159  8     821" clodepacketlin8id="L87a hrefi72> 3140 35 3150 3147 #L271" id="L271" cl<">packnet8ev 31456L300"> 3150  8ifind8xass="line" nameifinde3 3NULL*bnet/packet/afNULLk,
,
148ode=Wpspana>
po-&ers*bnet/packet/afers"+c1p">8un0_ifindex1571527et.c#L354" iorig_de8ocp527et.c8L354" iARCH_IMPLEMENTS_FL8SH_DC89o,
,
packet"L3_device18c7L2489>,
packetsk_filta hrefi72> 3140e*/ 3147 #L271" id="L271" clame150 id=8L271" classstar"+code=raw8 clas89ef">po->tv_>"e53a>>>>>>>>>* So DONTrefea47<  8vic, doesn't ksre empty tert"> 3150   tp_"ss=ulass="line" nametp_"ss=8code=run_f8ltert_socpo,
148ode=Wpspana>
po-&7net/p75t/packet/af_pconsume"sk1r=ulass="line" name_ra hrefi72> 3140e*/ 3147 #L271" id="L271" clastp_vlan_850   tp_versionnet/pa8ket/a89ag_g="+code=raw" clasvlan_tx_tag_g="tk" claspr_ers*bnet/packet/afpr_erslass="->h3ac324pL81>"id="L2code= is toohshort (%d1rlfsa%d)\n"3150 3147 #L271" id="L271" clarigdev"> 86154odeTPe.srefV2otsre8hs*"n8t/packet/af_pekbket.clw" clasvlan_tx_tag_g="tk" clas7net/p75t/packet/af_pconsume"skpacketlin8id="L87a hrefi72> 3140e*/,
 /8ALIGB273" (unsigned long)8G_ONr8f="net/phcketSOCK_DGRAMth 314e  ring_-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
,
.s_bue" name1491300"> >s_bue"me159gv_to_  gl9k" class="sref">packtar"+9ode=r9w" classtar"t.).+8273" id="7273" crhrpuss="line" name153crhrpussine8 name1509300"> 3159  8     821" clodepacketlin8id="L87a hrefi72> 3140e*/,
,
 3ers*bnet/packet/afers"+c1packll_adda"> 3+coa hrsre 3159  8     821" clodepa0packetlin8id="L87a47         3147 #L271" id="L271" c9e _/af_pekbket. re9 8a>,
 3a hrefi72> 3140e*/,
po->tv_>"e5467/>148ode=Wpspana>
po-&ers*bnet/packet/afers"+c1_ifindex1571527et.c#L354" iorig_de9L300"> 3159   tp_versionnet/pack9t/af_90o1.56               ystas  ring_"sref">po-&ers*bnet/packet/afers"+c1lun_filtert_socpo,
 3159<0   tp_versionnet/pa9t. re90ptp_versionpo1.c&lso1529et.cTPe9ahcketSOCK9DGRAMth 314eref">po-&9trawa9k156154oderaw 31471" id="L271" cla147         3140e*/,
1477et.cc#L27.e*/,
,
packnine" name1536900"> 31, 09        union {
159a hr8rrefrehref8ket/af_pekbkeers*bnet/packet/afers"+c1pac-cketlin8id="L87EFAULlass="line" nameEFAULlet_vlun_filtert_socpo,
et_soc.c#L271" id="L271"9cla8+91packnet/packet/af_pekbket.).afieldt head */.<07300"> ert_ode=runfield_in_mt. re.po-&147        ,
 79 hr_mana>.<07300"> ert_ode=ruline" nameflush_dcache   gltk" class= -et/af_pekbket.).afieldt head */.,
->                 href="+nik"ne8+hrefik 3153 . 79 hr_mana>.<) ?L273" id="7273"  hr_maname1409700"> 79 hr_mana>.<0:1477et.cc#L27.,
 3159na        union {
913ketytk" class="sref">packnine" name15369 # re" na<9a>        union {
154a91 hr8rlass="lin8.c#L271" id="L2at head */               llree.,hrelo_writat head */.,
91clas82"+code=sksref_ne=t_soca ht head */               ll href="+nik"ne8+hrefik1t917las82"+code=sksref_ne=t_soca ht head */               lltrueode=t head */po-&7o_writat head */...,
packnine" name15369ad_unea>et9soc.c#L271" id="L271" cla9rf">t92 hr8rrefrehrewhilek"ne8h6"2300"> 81po-&. 3147 #L271" id="L271" c9lass="line9 name1551300"271" class="9ine" 92cpo,
 3nr_fragameass=u     +conr_fragaa>.<8151ode=Wpspana>
der"at head */a hrshinftine8 name1509300"> 3159  8     821" clode=f_pekbket.497300"> 3nr_fragameass=u     +conr_fragaa>.,
 9      union {
159a hr895"2300un_filtert_socpo,
92ef">po->tv_>"e5467/>148ode=Wpspana>
po-&nr_fragameass=u     +conr_fragaa>.<8_pek151ode=Wpspana>
. 3147 #L271" id="L271" c9l300"> 3159L242_3ketyine" name1536309"               ystastag_g="tk" claspr_ers*bnet/packet/afpr_erslass="->h3ac324pL81>"Pd="L2cexceed the number of " c fraga(%lu)\n"3150 3147 #L271" id="L271" c900"> 31, 09        union {
1592ag_g="+code=raw" clasvlan_tx_  ystastag_g="tk" clasMAX_SKB_FRAGSmeass=u     +coMAX_SKB_FRAGSa>.,
,
1tk" cstructn9" nam92271" cltassmicket"L3_" id="L271" claet. re..,
273" id="7273" 147        ,
po->t/packet/afl945rer93cpo,
 3r8hrefrehref8"net/packetreht_soc#L271"8id="L80242ete oket.class/aft. re. 8>e oket.class/aget8"net/packetreht_socget8"netete oket.class/aft. re.po->tv_>"e53ode=WARN" clasa hr80t/p"8h2_des71" classhcketSOt/hr80t/p"8h2_des7ine8 name1509300"> 3159  8     821" clodepacketlin8id="L87nr_fragameass=u     +conr_fragaa>...,
 3159assmilass="line" nameahhw9assmi934a hr8r5"2300"> 8a href="net/pack154.,
 31, 09MPING_RAW_HARDWAREcket"L39eq1.c93ag_g="+code=raw" clast/af_pekbket.).afieldt head */.<073is_f/der"at head */po->tv>155 cl9ss=q19c#Ltv6" cla0"> 3153 79 hr_mana>.<07300"> ert_ode=ruline" nameflush_dcache   gltk" class=s_f/der"at head */            bket.497300"> 3 href="+nik"ne8+hrefik 3153 . 79 hr_mana>.<) ?L273" id="7273"  hr_maname1409700"> 79 hr_mana>.<0:1477et.cc#L27. 3153        9     93x_ringame18154ode=BUG"9slastef="+9packet/af_pekbket.).c#L279" id=933ketytk" class="sref">packnine" name15369=getnstime9fdas*bnet/packet/afgetnst9meofd9s273" 26" id="  ring_"sref">po-&l=,
,
1527et.c#9354" itacket"L3_eq1.c#Lta957,
1527et.9#L354" itacket"L3_eq1.c#L9a157<9ref">pket. reinnameass=lt. rerefsf">pg_v8c_sna80hrsf"ine8 hrefi815"2300"> 815"po->t>,hck>et_soc.c#L271" id="L271" cla7ref="e" name156L300"> 3150   ,line" nameass=lt. rerefmsghls*bnet/packet/afmsghls"L271" cla7ref="e" namsg*bnet/packet/afmsga>.,
 3159 3147 #L271" id="L271" c9astp_vlan_9ci1571527et.c#L354" iv9an_tx94a>.    3ref="8551300"1et//harline" name156L300"> 3150   ass=lass="line" lun_filtert_socpo,
,
. 8vic,/a>   ass=lass=n/a> 8vic,ine" name156L300"> 31a hrefi72> 3140,
po->947las82"+code=sksref_ne=t_soc"sbe271" id="L2   +codebe27ck156  union {
 3150,
10/af_plent_so.">9o94cket/af_preturn10/af_plent_sboclass="line" nameboclck156  union {
 3140.<07300"> ert_ode=rufalst/packetreht_soc#alstmmenlun_filtert_socpo,
po->h2ack156<9>154o9eh2 31456L300"innameass=lt. rerefers*bnet/packet/afers"+c1packetlin8id="L87AMthrv"sref">tp8rksrefAMthrv"ine8073is_f/der"at head */19/af_plent_so.">po,
.,
1ine" nameass=lt. rerefaorefami_ltert_socpo,
 315mils*bnet/packet/afsfamilsc#815 ine" nameass=lt. rerefaorefami_ltert_socpo,
et_9oc.c#L271" id=innameass=lt. reref 791de=_manne" a href="+nik"ne8verslennet8packet/af92/>1527et.9ss="line" name1lOINGref="9et/pa9ketPACKEtp_nxt/a>. 31mils*bnet/packet/affamilsc#a href="+nik"ne8verslennet8packet/af92300"> 3159ket.).c#L271"7id="L75et/p9aOING9ef="net/packetinnameass=lt. reref hr_sumame1409700"> 79 hr_sumine8073is_f/der"at head */. *80ame1507300"> 07300"> ert_ode=ru="L271" clAVAILABLmeflush_dcache  ="L271" clAVAILABLmuames_f/der"at head */.,
,
..tp_v9rsrun95554300">s_bue" name1491300"> >s_bue"me159>1527et.c#9354" imacoe" name1491300"9 maco96 hr8rrefrehref8ket/af_pekbkeers*bnet/packet/afers"+c1pac-cketlin8id="L87EBUSYass="line" nameEBUSYe"sklun_filtert_socpo,
1527et.c#9354" id  oe" name1491300"9    o96   str1507/>1" class="/hare1tk" cmils*bnet/packet/afsfamilsc#817300"> ert_ode=ruNULL*bnet/packet/afNULLk 3147 #L271" id="L271" c9IMESTAMPIN9_SYS_HARDWAREcket"L3_eq1.9#LSOF96="+nik"ne8h4"2300"> 8>e oket.class/a1 hrefi72> 3140,
 3140,
/>1527et.9 reref">po->tv>155 9lass=96ef">po->tv_>"e53ode=WARN" clas8 3150,
 79numine8lun_filtert_socpo,
300"> 3159assmilass="line" nameahhw9assmi964a hr8r5"2300"> 8a href="net/pack154mils*bnet/packet/affamilsc# "e5tert_socpo,
,
stp_vlan_9MPING_RAW_HARDWAREcket"L39eq1.c96 hr8rlass="li}lass="497300"> 3147 #L271" id="L271" c9Itassmit. 9eref">po->tv>155 cl9ss=q196#Ltv6" cla0"> 3153,
273"8id="9assmilass="line" nameahhw9assmi96o1.56            " class="/hare1tk" msg*bnet/packet/afmsga>.               llmsg_na>,t/p75t/packet/af_pmsg_na>,t/pa>.,
,
=q1.c#Ltv9" cla0"> 3153        9     96_lenket.sre..,
packnet9packet/af_pekbket.).c#L279" id=96271" cltassmicket"L3_" class="/hare1tk" msg*bnet/packet/afmsga>.               llmsg_na>,t/p75t/packet/af_pmsg_na>,t/pa>.e81"+cod52ll_hacom54300">s_bue" name1491300"> >s_bue"me159=getnstime9fdas*bnet/packet/afgetnst9meofd9s273" 26" id="L326" clllllllllllllllllllllllllraw" classtar"t.)afieldo3ref="8551300"1eafieldo3ine8 hrefi815"2300"> 815",
 3147 #L271" id="L271" c9tert_socpo9/a>,
,
,
1527et.c9L354" itacket"L3_eq1.c#Lt9157 8a>,
.,
1527et.9#L354" itacket"L3_eq1.c#L9a157<9ref">po->tv_>"e53ode=WARN" clas8 3150,
.,
 3159run_filtert_socpo,
,
,
 319697ag_g="+code=raw" clast/af_pekbket.).1 hrefi72> 3140,
 79a h_get8by_indenine8 name1509300"> 31id=_nfi  8     821"id=_nfiine8 t. re. 79pll_ifindena>.97#Ltv6" cla0"> 3153 3140.<07300"> ert_ode=ru_rue75t/packet/af_pcru,a>. /9f_pekbket. re.78href=9+code97t.c#L54" itef="+n/dkstruct154ode=BUG"9t">packnet9etSOCK_DGRAMth 314eref">p9-979     st7uct " id="L326" claers*bnet/packet/afers"+c1pac-cketlin8id="L87ENXIO*bnet/packet/afENXIOa>.po-&1 hrefi72> 3140 ert_ode=ruNULL*bnet/packet/afNULLk,
,
.,
,
 3150   t class="9ine" 98->                AMthrv"sref">tp8rksrefAMthrv"ine8073"sref">po-&1 hrefi72> 3140e*/,
packhhw9e1528300"> 3158 proto9oer"a983ketytk" class="sref">packnine" name15369dstp_vlan_9528300"> 3158 pkt3" c9ass="9ine" namepkt3" cl157,
 3153            9   re9853148ode=Wpspana>
packetsk_filta hrefi72> 3140e*/.,
 /9s="lorig_dev 31456L300"> 9150            t/packet8af_psnaplenoud_pudt head */,
               ll_if9ndexa98t.c#L54" itef="+n/dkstruct154ode=BUG"9<">packnet9ev 31456L300"> 3150  9ifind989     st7uct " id="L326" claode=_maname1409700"> 791de=_manne" 5tert_socpo,
k_offse=,_ode=t head */,_ode=.c#L54" itef="+n/dkstruct154ode=BUG"9de=run_fil9ert_socpo,
 81class="sref">packets> *a8ref="80et/packetdatatp_versrun_filtelltatp_e*78t-code=runine" nameass=lt. rerefaorefami_ltert_socpo,
 8efpo->packet"L3_device19c7L2499>,
 791de=_manne" 5refsameass=lt. rerefa hrefi72> 3140e*/tp8rksrefAMthrv"ine8eun_filtert_socpo,
po->tv_>"e53 id="L326" claode=_maname1409700"> 791de=_manne" 5tert_socpo,
 3140e*/tp8rksrefAMthrv"ine8lun_filtert_socpo<packhhw9ltert_socpo,
packnine" name15369astp_vlan_950   tp_versionnet/pa9ket/a99ag_g="+code=rdo"497300"> 3147 #L271" id="L271" c9arigdev"> 96154odeTPe.srefV2otsre9hs*"n9t/packet/af_pekbket.clne8h6"2300"> 81cs="line" name153rha>.<8151ode=Wpspana>
,/a>   ass=lass=c#L271"current_fra>,lass="sref">po-&me156L300"> 3150   ,lt. re.p97300"> 3147 #L271" id="L271" c9i07300"> /9ALIGB273" (unsigned long)9G_ONrp97300"> 3147 #LlWpspana>
SEND_REQUES="L87EFAULlass="e1409700">SEND_REQUES=ll_ifindena>.,
 81cs="line" name1a7commenlt7300"> ert_ode=ruNULL*bnet/packet/af"+code=rdo"497300"> 3147 #L271" 20_bue"me1520_buew 3148ne" name15513020_bu>20_b)9G_ONrp97300"> 3147 #Ll>tv_>"e53 id="chedulrrent_fra>,/a>  "chedulrde=skfind/pre>do nam"me1f3/06/caea> 23624ec1289d4af21547564e02e84a_3/20_bu>ode=rdo"497300"> 3147 #L271" 20_1ue"me1520_p527et.c9L354" iARCH_IM20_p5>20_e79et_so9po,
.packet20_22>20_Lt915720_="8ine" 8ame" cun_filtert_socpo,
packhhw9ltert_socpop>20_ 07300"> ert_ode=ruSEND_REQUES="L87EFAULlass="e1409700">SEND_REQUES=ll_iindena>.   tp_ve20_tp>20_319697ag_g="+code=raw" clast/af_=lt. rerefhtp_versrun_filte1507300"> 07300"> LL_RESERVED_SPACclAVAILABLmeflusLL_RESERVED_SPACcde=sksrefclass="sref">po-&1 hrefi72> 3140findena>. 96154odeTPe.20_ig>20_re9hs*"n9t/packet/af_pekbket.clne8h6in8id="L877t/p75t/packet/afe=_manne" 5tert_socpo,
 3140e*/ 3ed_tailroooc#L271"numame140> 3ed_tailroooll_iindena>. /9ALIGB273" (uns20_73>20_hw9assmi9po1.56            bket.6L300"> 3150   ass=laamilsc# "e5tert_soc8   SOt//_send 880t/paekbket.c8   SOt//_send 8.p97300"> 3147 #L271" 20_8ue"me1520_spdec#L28,
20_  9     96_lenket.sre.,
p97300"> 3147 #L271" 20_9ue"me1520_eraw 3148ne" name15513020_er>20_  8ifind8xass="line" nameifinde3   ,lt. re.">po-&ers*bnet/packet/indena>. 31, 09        un200">>200""8ine" 8ame" cun_filtert_socpo,
et_soc.c#L27120 cl>200e79et_so9po,
 3150   ass=laama7commenlt7300"> ert_ode=ruNULL*bnet/packet/afNULLk,
,
200Lt9157 8a>,
..200="8ine" 8ame" cun_filtert_socpo,
 3159na        20300>200hw9assmi934a hr8r5"2300"> 8a href="neARN" clas7net/p75t/packet/af_pconsume"sk1p_tassm8c_sna80cketS6L300"> 3150  8c_sna80cketS6L3rent_fra>,lass="sref">po-&me156L300"> 315srefclass="sref6L300"> 3150   ass=la_fragaa>. 81cs="line" nam821" clodepacketlin8id="L87a hrefi72> 3140 791d_fragaa>. 3150ss="sref">p97300"> 3147 #L271" 2015ue"me1520# re" na<9a>        unio20# r>2001591592ag_g="+code=raw" clasvlan_ic void 200  8   re8153,
154ode=BU207ck>200hw9assmi96o1.56            " class="de=Wpspana>
po-&7net/p75t/packet/af_pconsus"+c"+code=rdo"497300"> 3147 #L271" 2018ue"me15208cketSOCK9   union {
200  9     96_lenket.sre. 81class="sref">packets> *a8ref="80et/plosrerefo. 3147 #L271" 2019ue"me1520         9tp_versik_typ 20   >200  8ifind8xass="line" nameifinde3 #L2_a hr=lt. rerefo. #L2_a hr=lt. rrent_fra>,lass="sref">po-&me156L300"> 315srefclass="srefi2300"> 81cs="line" nam8code=rdo"497300"> 3147 #L271" 202bue"me1520d_unea>et9soc.c#L271" id20d_u>20d_ 8ifind8xass="line" nameifinde3,
20de79et_so9po,
.<8151ode=Wpspanaincre>>>>t/af_rent_fra>,/a>   ass=laincre>>>>t/af_21"id=_nfiine8 t. re.,
 9      union {
20 r+>20da>9 8a>,
 3150  kfreeS6L3de=sksrefclass="sref6L300"> 3150   ass=lall_CK_DGRAMlun_filtert_socpo,
20daw9 clas99ef">po-----------------continueindena>. 3159L242_3ketyine"20300>20d309"          8rlass="li}lass="497300"> 3147 #L271" 20d5ue"me15200"> 31, 09        un200">>20d1591592ag_g="+code=raw" clasvlan_ic void  07300"> ert_ode=ruWRONG_FORMA="L87EFAULlass="e1409700">WRONG_FORMA=ll_iindena>.20dre8hs*"n8t/packet/af_pekbket.clw" cl" namepkt3" cl157po-&7net/p75t/packet/af_pindena>. 3147 #LlWpspana> 8a>,
..1t20   >20d  8ifind8xass="line" N" clak" 7354" itef="+n/dkstruct203bue"me1520id="L271"9classsnet/pack20id=>20id 8   re8153,
po->t20ass>20ifl945rer93cpo,
+code=slaf_pconsume"sk1p_tassm8c_sna802>+code=S6L300"> 3150  8c_sna802>+code=S6L3ll_iindena>. 9ic79ket/a#oc2420 r+>20i1.9#LSOF96="+nik"ne8h4"2300"> 8>e ok_/a> #L2_a hr=lt. rerefo. #L2_a hr=lt. rrent_fra>,lass="sref">po-&me156L300"> 315srefclass="srefi2300"> 81cs="line" nam807300"> 07300"> ert_ode=ruSENDING"L87EFAULlass="e1409700">SENDINGs=lall_CK_DGRAMlun_filtert_socpo,
20iaw9 clas99ef">po->tv_>"e53 id=="+79amincack154mils*bnet/"+79aminc21"id=_nfiine8 t. re.k_offspend#L271"tid="L81hrefpend#L2s=lall_CK_DGRAMlun_filtert_socpo,
 3159assmilass="lin20300>20ifi92ersc993ketytk" class="sref">packnin20i5ue"me15200"> 31, 09MPING_RAW_HARD200">>20i319697ag_g="+code=raw" clast/af_=lt. rerefo. *80ame1507300"> 07300"> ert_ode=ruSEND_REQUES="L87EFAULlass="e1409700">SEND_REQUES=ll_iindena>.po-&20tas>20icl9ss=q196#Ltv6" cla0"> 3153 3150   ass=lall_CK_DGRAMlun_filtert_socpo,
20ihw9assmi96o1.56            " class="de=Wpspana>
po-&ers*bnet/packet/agsus"+c"+code=rdo"497300"> 3147 #L271" 2038ue"me1520lent_soc#9" cla0"> 3153<20len>20i  9     96_lenket.sre. 3153po-&ers*bnet/packetll_CK_DGRAMlun_filtert_socpo,
20i  8ifind8xass="line" nameifin          " class="">po-&ers*bnet/packet/a_nfiflagaa>. #L2_g hr=lt. rerefo. #L2_g hr=lt. rrent_fra>,lass="sref">po-&me156L300"> 315srefclass="srefi2300"> 81cs="line" nam) ==_CK_DGRAMlun_filtert_socpo,
20ge 8ifind8xass="line" nameifinde3 3147 #L271" 2041ue"me1520ert_socpo9/a>,
20ge79et_so9po,
"e53a>>>>>>>>>* Sonumbwas 2>+code=ed alreadyempty tert"> 3150   tp_"ss=ulass="line" 20g2ue"me15201527et.c#9354" itacket"L20152>20ga>9 8a>,
 3150   ass=laamilsc# "e5tert_socpo,
,
1527et.9#L354" itacket20/>1>20gaw9 clas99ef">po----------------- 8a>,
.. 3159          8ndena>.1527et20stp>20gpa8ket/a89ag_g="+code=raw" clagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 20g6ue"me1520tassmit. 9un_filtert_soc20tas>20gcl9ssagttv_>"e53a>>>>>>>>>*">po-----------------Sonumbwas 2ropped but not 2>+code=ed ye;lu)\n&qu"> 3150   tp_"ss=ulass="line" 20g7ue"me1520273"8id="9OCK_DGRAMth 3120273>20g7l9ssagttv_>"e53a>>>>>>>>>*">po-----------------Soletvic, s treat idoesn&#cong>+cion or /paconsus"u)\n&qu"> 3150   tp_"ss=ulass="line" 20g8ue"me1520lent_soc#9ci15710/af_20len>20g8l9ssagttv_>"e53a>>>>>>>>>*">po-----------------Spty tert"> 3150   tp_"ss=ulass="line" 20g9ue"me1520lastef="+9eref">po-&20las>20g  8ifind8xass="line" nameifin"> 315319/af_plent_so."20ng1>20ng 8ifind8xass="line" N" clak" 7354" itef="+n/dkstruct2051ue"me1520 314"code9run_filtert_so20 31>20nfl945rer93cpo,
>>>t/af_rent_fra>,/a>   ass=laincre>>>>t/af_21"id=_nfiine8 t. re.,
20n1.9#LSOF96="+nik"ne8h4"2300"> 8>e ok=lt. reref hr_sumame1409700"> 79 heode=kpo-&7net/p75t/packet/af_pindena>.1527et.9ss="line" name20/>1>20naw9 clas99ef"}r8rrefrehrewhilek"ne8h6"2300"> 81 81cs="line" name!familsc#817300"> ert_ode=ruNULL*bnet/packet/af||ndena>. 3159ket.).c#L271"720300>20n309"          (ksrefclass=!f">pac/hare1tk" msg*bnet/packet/afmsga>.           anW#L273"7flagameass    anW#Lcket/a_nfiamilsc#817300"> MSG_DONTWAI="L87EFAULlass="MSG_DONTWAI=ket/af/a_nfiflagandena>.20n1591592ag_g="+code=raw" clarefclass=!f">pac/"+79amraf_rent_fra>,/a>  /"+79amraf_21"id=_nfiine8 t. re.k_offspend#L271"tid="L81hrefpend#L2s=lalIFF_UPlode=eeun_filtert_socpo,
20ncl9ss=q196#Ltv6" cla0ll_CK_DGRAMlun_filtert_socpo,
1529et.cv20273>20n"l9ne" n95o1.56un_filtert_socpo,
20nin9" nam95cket/af_preturn10/"L326" claers*bnet/packet/af1" clodepacketl=lt. reref hr_sumame1409700"> 79 l_CK_DGRAMlun_filtert_socpo,
20n  8ifind8xass          t/packet8af_psnaplenoud_pudt head */,
2015l9ne" n95o1.56un_filtert_socpo,
201fl945
.,
201e#9271" 91>,
 #L2_a hr=lt. rerefo. #L2_a hr=lt. rrent_fra>,lass="sref">po-&me156L300"> 315srefclass="srefi2300"> 81cs="line" nam807300"> 07300"> =lt. rerefo. *80amell_CK_DGRAMlun_filtert_socpo,
1527et.9 reref">po20/>1>201="9ine" 98->         kfreeS6L300"> 3150  kfreeS6L3de=sksrefclass="sref6L300"> 3150   ass=lall_CK_DGRAMlun_filtert_socpo,
 3159assmilass="lin20300>2014l945
,
201/p9cketP95a>.<         " class=""L326" claneed_rls_a hrefi72> 3140,
po-&20tas>201-&9trawa9k156154oderaw 31471" id="ev_naplenoud_pudt hea"ev_napde=sksrefclass="sref">po-&1 hrefi72> 3140findena>.2017l945
,
 3153<20=q1>201in9" nam95cket/af_preturn10/af_pleunnt_smutex_821" class="linunnt_s21"id=_nfiine8 t. re..packnet9packet/af_pekb20">p>201  8ifind8xass     ystas  ring_"sref">po-&ers*bnet/packet/afers"+c1lun_filtert_socpo,
20gecketN" clak" 7354" itef="+n/dkstruct2071ue"me1520ert_socpo9/a>,
20gFL9SH_DC992300"> 8efpo->1527et.c9L354" itacket"20>15>20ge#92757<9ref    3ref="8551300"1et//harline" name15a> #L2_SOt//_sL300"> 3150  a> #L2_SOt//_sL321"idt-code=runine" nameass=lt.refa>    3ref="8c.c#L271" id="L271" cla7_soc#L271"devet/packetrs/a7commen,ecketl"L326> 31id=_nfi  L326>#L271harline" name15arepf_rent_fra>,/a>   repf_ketrs_DC992300"> 8efpo->1527et.9#L354" itacket20/>1>20gaw9 clas99ef">po-----------------nam95cket/af_preturn10/"L326> 31id=_nfi  L326>#L271harline" name15asstar"t.)AMthrv"sref">tp8rksrefAs/a7commen,ecketl"L326> 31id=_nfi  L326>#L271harline" name15497300"> 3 href="+nik"ne8s_DC992300"> 8efpo-> 3159run_filtert_so20300>20g309"          --------nam95cket/af_preturn10/"L326> 31id=_nfi  L326>#L271harline" name15un_fapo-&ers*bnetun_faprefAs/ 8efpo->20g1591592ag_g="+code=raw" clasvlan_iiiiiiiiipo-&ers*bnet/packetl_DC992300"> 8efpo->20g-&9tr+code=rdo"497300"> 3147 #L271" 2077ue"me152007300"> /9f_pekbket. re<20073>20ghw9assmi96o1.    3ref="8551300"1et//harline" name156L300"> 3150   ass=lass="line" lun_filtert_socpo,
20gif9ndexa98t.c#L54" itef="+n/dkstruct20g9ue"me1520">packnet9etSOCK_DGRAMth20">p>20g  9ifind989   gttv_>"e53a>>>>>>>>>* SoUnder a >.. 3150   tp_"ss=ulass="line" 208bue"me1520/pTPe.sre9ALIGBUG_ONt_so20/pT>20/pp9cketP95a>.<         " class="arepf_rent_fra>,/a>   repf_ketr1_pmtune" 5raw" cl497300"> 3 href="+nik"ne8+onsusmtune" 5raw" clert_ode=ruline" nameflush_dcache   gl || !harline" name15un_fapo-&ers*bnetun_faprefAl_DC992300"> 8efpo->20/fl945rer93cpo,
-&ers*bnetun_faprefA/af1" clodepacketl=lt300"> 3 href="+nik"ne8ss="line" lun_filtert_socpo,
20/t_9ocpo<98"2300un_filtert_socpo,
 3150 20ev >20/="9ine" 98->         6L300"> 3150   ass=laamilsc# "e5tert_soc8   SOt//_send p880t/paekbket.c8   SOt//_send p6L3de=sksrefclass="sref6Loc#L271"devet/packetrs/a7commen,ecketlarepf_rent_fra>,/a>   repf_ketr1_pmtune" 5raw" cl4n_fapo-&ers*bnetun_faprefAs/mtune" 5raw" cl497300"> 3 href="+nik"ne8+-pmtune" 5raw" cl4n_fapo-&ers*bnetun_faprefAs/mtune" 5raw" clnob71"pg_v27_821" clasnob71"p"ne8s_DC992300"> 8efpo->packhhw9e1528300"> 31520">p>20/309"          --------namsrefclass="sref">po-&ers*bnet/packetll_CK_DGRAMlun_filtert_socpo,
 3158<20stp>20//p9cketP95a>.<   !harline" name156L300"> 3150   ass=lal_CK_DGRAMlun_filtert_socpo,
 3153 20" n>20/-&9trawa9k156154od     ystas  ring_"srefcpo,
,
 /9s="lorig_dev 320073>20/"l9ne" n95o1.56un_filtert_socpo,
         20=q1>20/in9" nam95cket/af_preturn10/asshasstar"t.)AMthrv"sref"asshasstar"de=sksrefclass="sref6L300"> 3150   ass=la/afers"+c1packetlin8id="L87AMthrv"sref">tp8rksrefAll_CK_DGRAMlun_filtert_socpo,
packnet9ev 31456L300">20">p>20/  9ifind989     st7uct " id="sshnaplenoud_pudt hea"sshnapde=sksrefclass="sref6L300"> 3150   ass=la/afers"+c1packetlun_fapo-&ers*bnetun_faprefAll_CK_DGRAMlun_filtert_socpo,
,20e=r>20e="9ine" 98->         6L300"> 3150   ass=lapdec#L256        atapo-&7net/p75t/p atapo 3 href="+nik"ne8+-pmtune" 5raw" cl4n_fapo-&ers*bnetun_faprefAl_CK_DGRAMlun_filtert_socpo,
20e1"9ine" 98->         6L300"> 3150   ass=lapdec#L256       =lt300"> 3 href="+nik"ne8+href="+c14h_dcache   glass=" href="+nik"ne8+-pmtune" 5raw" cl4n_fapo-&ers*bnetun_faprefAl_CK_DGRAMlun_filtert_socpo,
packet20722>20et_9ocpo<98"2300un_filtert_socpo,
20e="9ine" 98 3150   ass=lass="line" lun_filtert_socpo,
packhhw9ltert_socpop>20e4cketN" clak" 7354" itef="+n/dkstruct2095ue"me1520stp_vlan_950   tp_ve20stp>20e5_9ocpo<98"2300un_filtert_socpo,
 96154odeTPe.20rig>20e6#92757<9refpg_va> #L2_af<21"idt-code=runine" nameass=lt."> 31id=_nfi  8      3ref="8c.c#L27s_DC992300"> 8efpo-> /9ALIGB273" (uns20073>20eg)9G_ONrp97300"> 3147 #LlWp0   ,line" nameass=lt. rerefmsghls*bnet/packet/afmsghls"L271" cla7ref="e" namsg*bnet/packets/a7commen,ecketl"L326> 31id=_nfi  L326>#L271harline" name15497300"> 3 href="+nik"ne8l_CK_DGRAMlun_filtert_socpo,
,
20e8&9tr+code=rdo"497300"> 3147 #L271" 2099ue"me1520deraw 3148ne" name15513020der>20e  9ifind989  t-code=runine" nameass=lt.refa>    3ref="8c.c#L271" id="L271" cla7_soc#L271"devet/packetramilsc# "e5tert_soc8  refa>    3ref="8c.c#L27,
21_b)9G_ONrp9730str1507/>1ine" nameass=lt. rerefaorefami_ltert_socpo,
 315mils*bnet/packet/afsfamilsc#815 ine" nameass=lt. rerefaorefami_ltert_socpo,
2101ine" nameass=lt. rerefa>    3ref="8551300"1et//harline" name156L300"> 3150   ass=lass="line" lun_filtert_socpo,
packet21_22>21_Lt9157 8vic,/a>   ass=lass=n/a> 8vic,ine" name156L300"> 31a hrefi72> 3140,
210="9ine" 98->         f_ne=t_soc"sbe271" id="L2   +codebe27ck156  union {
 3150,
packhhw9ltert_socpop>21_ 3140.<07300"> ert_ode=rufalst/packetreht_soc#alstmmenlun_filtert_socpo,
   tp_ve21_tp>21_319697ag_ACKEtp_nxt/a>. 31mils*bnet/packet/affamilsc#a href="+nik"ne8verslenne21_6ue"me1521_igdev"> 96154odeTPe.21_ig>21_re9hs*"n9t/pa31456L300"innameass=lt. rerefers*bnet/packet/afers"+c1packetlin8id="L87AMthrv"sref">tp8rksrefAMthrv"ine8073is_f/der"at head */ /9ALIGB273" (uns21_73>210hw9assmi96o1.,
21_  9     96_le31456L300"innameass855130lenoud_pudt head55130refAMthrv"ine8073is_f/der"at head */2106<9>154o9eh2 31456L300"innameassv  8_. rpo-&7net/p75t/pv  8_. rpo 31, 09        un210">>211b)9G_ONrp9730str1507/>1ine" nameassa> #L2_a1"pg_v27_821" class> #L2_a1"p"1et//harline" name15aa href="+nik"ne8redrope153rha>.<8151ode=Wk=S6L href="+nik"ne8rk=S6Lde=sksrefclass="sref6Loc#L271"devet/packetrll_CK_DGRAMlun_filtert_socpo,
et_soc.c#L27121 cl>210e79et_so9po1ine" nameassgso_typ"L87AMthrv"sref"gso_typ"refAMthrv"ine8073is_f/der"at head */,
210Lt9157,
2113e9hs*"n9t/pa31456L300"innameass=xtrapo-&7net/p75t/p=xtrapo 3159na        21300>211fi92ersc993ketytk" class="sref">packnin2115ue"me1521# re" na<9a>        unio21# r>2101591592ag_agttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2106ue"me1521hcketSOCK9271" id="L271"21hck>211cl9ssagttv_>"e53a>>>>>>>>>*">po-*o-Get and verify the /pacess.ty tert"> 3150   tp_"ss=ulass="line" 2107ue"me15217cketSOCK9ee154ode=BU217ck>2117l9ssagttv_>"e53a>>>>>>>>>*">po-Spty tert"> 3150   tp_"ss=ulass="line" 2118ue"me15218cketSOCK9   union {
211if9ndexa98t.c#L54" itef="+n/dkstruct2119ue"me1521         9tp_versik_typ 21   >210  8ifind8xassstr1507/>1" class="/hare1tk" cmils*bnet/packet/afsfamilsc#817300"> ert_ode=ruNULL*bnet/packet/afNULLk 3147 #L271" 212bue"me1521d_unea>et9soc.c#L271" id21d_u>21d_ 8ifind8xass="line" vic,ine" name156L300"> 31a hrefi72> 3140,
 3140,
21de79et_so9po,
 3150 /,
 79numine8lun_filtert_socpo,
 9      union {
21 r+>21da>9 31mils*bnet/packet/  /,
,
212aw9 clas99ef"}rlass="li}lass="497300"> 3147 #L271" 2124ue"me1521300"> 3159L242_3ketyine"21300>21d309"  6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
 31, 09        un210">>21d1591592ag_g="+code          " class="/hare1tk" msg*bnet/packet/afmsga>.               llmsg_na>,t/p75t/packet/af_pmsg_na>,t/pa>.,
,
21dre8hs*"n8t/packet/af_pekbket.refik<7 hrt/packet8af_psnaplenoudt head */.,
21dg)9G_ONrp97300"> 3147micket"L3_" class="/hare1tk" msg*bnet/packet/afmsga>.               llmsg_na>,t/p75t/packet/af_pmsg_na>,t/pa>.e81"+cod52lllllllllllllraw" classtar"t.)afieldo3ref="8551300"1eafieldo3ine8 hrefi815"2300"> 815",
,
21d  9     96_lenket.sre..,
1t21   >21d  8ifind8xass="line" ebe27ck156  union {
 3150 /,
.,
213_ 8ifind8xass="line" vic,ine" name15et/pack154mils*bnet/packet/affamilsc# "e5tert_socpo,
,
po->t21ass>21ifl945rer93cpo,
 3140,
 79a h_get8by_indenine8 name1509300"> 31id=_nfi  8     821"idsrefclass="sref6Loc#L271"devet/packetrlht_soc#L27packetlin8id="L87omils*bnet/packet/afsfamilsc#code=dropt_soc#L271"pll_ifindename1409700"> 79pll_ifindena>. 9ic79ket/a#oc2421 r+>21i1.9#LSOF96="+nik"ne8h4"2300"> 8>e ok"L326" claneed_rls_a hrefi72> 3140.<07300"> ert_ode=ru_rue75t/packet/af_pcru,a>.21iaw9 clas99ef"N" clak" 7354" itef="+n/dkstruct2134ue"me1521300"> 3159assmilass="lin21300>21ifi92ersc993ketytk" class="sref">packnin21i5ue"me15210"> 31, 09MPING_RAW_HARD210">>21i319697ag_6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlin8id="L87ENXIO*bnet/packet/afENXIOa>.po-&21tas>21icl9ss=q196#Ltmicket"L3_" class="">po-&1 hrefi72> 3140 ert_ode=ruNULL*bnet/packet/aENXIOa>.21ihw9assmi96o1.56            t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>. 3153<21len>21i  9     96_lestr1507/>1" class="/8  refa>    3ref="8c.c#L27 SOCK_RAWL87AMthrv"sref"SOCK_RAWket/aENXIOa>.tp8rksrefAMthet"L3_" class="">po-&1 hrefi72> 3140e*/,
2145l9ne" n95o1.56un_filtert_socpo,
,
2141"9ine" 98->         7,
21ga>9packetsk_filta hrefi72> 3140e*/.,
1527et.9#L354" itacket21/>1>21gaw9 clas99ef">po-          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>. 3159packnin2145ue"me1521stp_vlan_9ci1571527et21stp>214/p9cketP95a>.<         " class="cpo,
 3147 #L271" 21g6ue"me1521tassmit. 9un_filtert_soc21tas>214-&9trawa9k156154oderaw 31471" id=v  8_. rpo-&7net/p75t/pv  8_. rpo..,
10/af_21len>214  9     96_lenket.sre6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
po-&21las>21g  8ifind8xass="line" <         " class="497300"> 3 href="+nik"ne8+onsusmtune" 5raw" clv  8_. rpo-&7net/p75t/pv  8_. rpo,
19/af_plent_so."21ng1>21ng 8ifind8xass="line" >po-          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>.215FL9SH_DC992300"> 8efpo->21n1.9#LSOF96="+nik"ne8h4"2300"> 8>e ok=lt300"> 3 href="+nik"ne8+-thet"L3_" class="v  8_. rpo-&7net/p75t/pv  8_. rpo1527et.9ss="line" name21/>1>215="8ine" 8ame" cun_filtert_socpo,
 3159ket.).c#L271"721300>21n309"  6L300"innameass=lt. rerefers*bnet/packet/afga>.        emcpy_fromiovecack154mils*bnet emcpy_fromiovec21"id(void *)=_nfiine8 t. re.v  8_. rerefmsghls*bnetv  8_. r" naht_soc#L27packetl/hare1tk" msg*bnet/packet/afmsga>.           iovsg_na>,t/p75t/packeiov" nahe" 8ame" cun_filtert_socpo,
21n1591592ag_g="+code=raw" claa9k156154oderaw 31471" id=v  8_. rpo-&7net/p75t/pv  8_. rpo.21ncl9ss=q196#Ltv6" cla0          " class="">po-&ers*bnet/packet/ansus"+ndena>. 3147 #Ll          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>.215if9ndexa98t.c#L54" itef="+n/dkstruct2159ue"me1521GRAMth 31927et.c#L354" i21GRA>215  8ifind8xass="line" <   leboclck156  univ  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsanW#L273"7flagameass=u     +coflagaa>..216g 8ifind8xass="line" >po 31id=_nfi csumr=ltr>52lllllllllllllraw" clv  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offscsumr855130lenoud_pudt heacsumr85513052lllll2/agsundena>.216e79et_so9po,
-&7net/p75t/p. rpo.2161.9#LSOF96="+nik"ne8h hrefik-&7net/p75t/p. rpo.       v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offscsumr=ltr> 31id=_nfi csumr=ltr>52llllndena>.1527et.9 reref">po21/>1>216aw9 clas99ef">po-----------------nam95ckeh hrefik. 3159assmilass="lin21300>216fi92ersc993ketytk" class="sref">packnin2165ue"me1521stp_vlan_9MPING_RAW_HARD21stp>2161591592ag_g="+code6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
po-&21tas>211-&9trawa9k156154od          " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offs. rpo-&7net/p75t/p. rpo 8>e ok=lt300"> 3 href="+nik"ne8+ndena>.216g)9G_ONrp97300"> 3147 #Ll          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>. 3153<21=q1>216if9ndexa98t.c#L54" itef="+n/dkstruct2119ue"me1521">packnet9packet/af_pekb21">p>216  8ifind8xass="line" <         " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsgso_typ"L87AMthrv"sref"gso_typ"refAM!familsc#817300"> VIRTIO_"+7_HDR_GSO_"ONruline" nameflusVIRTIO_"+7_HDR_GSO_"ONrket/afNULLk 3147 #L271" 217bue"me1521getnstime9fdas*bnet/pack21get>217g 8ifind8xass="line" >po-switch        " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsgso_typ"L87AMthrv"sref"gso_typ"refAMflagaa~milsc#817300"> VIRTIO_"+7_HDR_GSO_ECL87ENETDOWa h7efVIRTIO_"+7_HDR_GSO_ECLket/afNULLk 3147 #L271" 2171ue"me1521ert_socpo9/a>,
217e79et_so9po,
 VIRTIO_"+7_HDR_GSO_TCPV487ENETDOWa h7efVIRTIO_"+7_HDR_GSO_TCPV479et:" n95o1.56un_filtert_socpo,
1527et.c9L354" itacket"21>15>217a>9 8a>,
 SKB_GSO_TCPV487ENETDOWa h7efSKB_GSO_TCPV4et/afENXIOa>.1527et.9#L354" itacket21/>1>21gaw9 clas99ef">po-----------------breakfENXIOa>. 3159run_filtert_so21300>21g309"          caseamilsc#817300"> VIRTIO_"+7_HDR_GSO_TCPVt_soc"sbe271" idVIRTIO_"+7_HDR_GSO_TCPVt79et:" n95o1.56un_filtert_socpo,
21g1591592ag_g="+code=raw" clasvlan_i hrefi815"name1gso_typ"L87AMthrv"sref"gso_typ"refAMthcommenlt7300"> SKB_GSO_TCPVt_soc"sbe271" idSKB_GSO_TCPVtet/afENXIOa>.217re8hs*"n8t/packet/af_pekbket.clw" cl"breakfENXIOa>. /9f_pekbket. re<21073>217g)9G_ONrp97300"> 3147 #Llcaseamilsc#817300"> VIRTIO_"+7_HDR_GSO_UDe=runIFF_UPmeassVIRTIO_"+7_HDR_GSO_UDe79et:" n95o1.56un_filtert_socpo,
217  9     96_lenket.sre. SKB_GSO_UDe=runIFF_UPmeassSKB_GSO_UDeet/afENXIOa>.packnet9etSOCK_DGRAMth21">p>217  8ifind8xass="line" nameifinde3.218g 8ifind8xass="line" >po-default:" n95o1.56un_filtert_socpo,
21/fl945rer93cpo,
.218a>9N" clak" 7354" itef="+n/dkstruct21/3ue"me1521ev 31456L900"> 3150 21ev >218="8ine" 8ame" cun_filtert_socpo,
packhhw9e1528300"> 31521">p>21/309"          <         " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsgso_typ"L87AMthrv"sref"gso_typ"refAMflagaa>.,
 3158<21stp>2181591592ag_g="+code=raw" clasvlan_i hrefi815"name1gso_typ"L87AMthrv"sref"gso_typ"refAM|thcommenlt7300"> SKB_GSO_TCP_ECL87ENETDOWa h7efSKB_GSO_TCP_ECLet/afENXIOa>. 3153 21" n>21/-&9trENXIOa>. /9s="lorig_dev 321073>218g)9G_ONrp97300"> 3147 #Ll<         " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsgso_a>...         21=q1>218  9     96_lenket.sre..packnet9ev 31456L300">21">p>21/  9ifENXIOa>.,21e=r>219g 8ifind8xass="line" N" clak" 7354" itef="+n/dkstruct2191ue"me1521cp527et.c9L354" iARCH_IM21cp5>21e1"9ine" 98packet21722>21et_9ocpo<98"2300un_filtert_socpo,
21e="9ine" 98
 3147 #L271" 2194ue"me1521">packhhw9ltert_socpop>219309"  <   !harline" name15973if_supports_nofcL273"7flagameass973if_supports_nofcLde=sksrefclass="sref">po-&1 hrefi72> 3140fafNULLk 3147 #L271" 2195ue"me1521stp_vlan_950   tp_ve21stp>219pa8ket/a89ag_g="+code=raw" claL300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketliPROTONOSUPPOR="L87EFAULlass="iPROTONOSUPPOR=et/afENXIOa>. 96154odeTPe.21rig>219re8hs*"n8t/packet/af_pekbket.refik<7 hrt/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>. /9ALIGB273" (uns21073>21eg)9G_ONrp97300"> 3147N" clak" 7354" itef="+n/dkstruct2198ue"me1521/spdec#L28,
219  9     96_lenket.sre6L300"innameass=xtrapo-&7net/p75t/p=xtrapo"e53a>>>>>>>>>* SoWevic, re doing our own CRC-Spty tert"> 3150   tp_"ss=ulass="line" 2199ue"me1521deraw 3148ne" name15513021der>21e  9ifind989  N" clak" 7354" itef="+n/dkstruct22_bue"me1522_buew 3148ne" name15513022_bu>2205l9ne" n95o1.56un_filtert_socpo,
2201"9ine" 98->         7.packet22_22>220a>9 3 href="+nik"ne8+ogsus4"2300"> 8>e okketsk_filta hrefi72> 3140e*/,t/p75t/patu52lllllllllllllraw" clin8id="L87AMthrv"sref">tp8rksrefAMllllllllllraw" clVLAN_HLEL87ENETDOWa h7efVLAN_HLELrefAMllllllllllraw" cl=xtrapo-&7net/p75t/p=xtrapo.220aw9 clas99ef">po-          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>.packhhw9ltert_socpop>220fi92ersc993ketytk" class="sref">packnin22_5ue"me1522_tp_vlan_950   tp_ve22_tp>220319697ag_6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlinOBUFS87ENETDOWa h7efinOBUFSet/afENXIOa>. 96154odeTPe.22_ig>22_re9hs*"n9t/pa_hoo"c#L2k_offs.lt. rerefhtp_versrun_filteMthcommenlt7300"> LL_RESERVED_SPACruline" nameflusLL_RESERVED_SPACrde=sksrefclass="sref">po-&1 hrefi72> 3140ffENXIOa>. /9ALIGB273" (uns22_73>220hw9assmi96o1.srefclass="srefin8id="L877t/p75t/packet/afMthet"L3_" class="">po-&1 hrefi72> 3140e*/ 3ed_tailroooc#L271"numame140> 3ed_tailroooet/afENXIOa>.,
220in9" nam95cket/af_preturn10/assoc#L271"devet/pacss=laamilsc# "e5tert_so8versl_SOt//_sL300"> 3150  a> #L2_SOt//_sL321"idsrefclass="sref Loc#L271"devet/packetrs/a7commen,ecketl.lt. rerefhtp_versrun_filteMllllllllllraw" clin8id="L877t/p75t/packet/afs/a7commen,ecketl.lt. rerefhtp_versrun_filtes/mtune" 5raw" cl497300"> 3 href="+nik"ne8s/mtune" 5raw" clv  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offs. rpo-&7net/p75t/p. rpo,
220  8ifind8xass="line" nameifinde3e*/.           anW#L273"7flagameass    anW#Lcket/a_nfiamilsc#817300"> MSG_DONTWAI="L87EFAULlass="MSG_DONTWAI=ket/, =_nfiine8 t. re.">po-&ers*bnet/packetll_CK_DGRAMlun_filtert_socpo,
 31, 09        un220">>221pp9cketP95a>.<         " class="assoc#L271"devet/pacss=laama7commenlt7300"> ert_ode=ruNULL*bnet/packet/aENXIOa>.et_soc.c#L27122 cl>221fl945rer93cpo,
.,
221t_9ocpo<98"2300un_filtert_socpo,
221="9ine" 98->         6L3_a hrun_workt/af_phoc#L271"devet/pacs_a hrun_workt/af_ph21"idsrefclass="sref L300"> 3150   ass=la/afers"+c1packetlin8id="L87AMthrv"sref">tp8rksrefAll_CK_DGRAMlun_filtert_socpo,
 3159na        22300>221fi92ersc993ketytk" class="sref">packnin2215ue"me1522# re" na<9a>        unio22# r>221319697ag_6L300"innameass=lt. rerefers*bnet/packet/afers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
221cl9ss=q196#Ltmicket"L3_" class="/8  refa>    3ref="8c.c#L27 SOCK_DGRAM273"7flagameassSOCK_DGRAMrefAMflagaflagaINVALe"sklun_filtert_socpo,
154ode=BU227ck>221g)9G_ONrp97300"> ket"L3_" class="855130lenoud_pudt head55130refAMthet"L3_" class="">p_acket/af_pho-&1 hrefi72> _acket/af_ph21"idsrefclass="sref L300"> 3150   ass=la/afers"+c1packetl">po-&1 hrefi72> 3140s/mtune" 5raw" clntohL273"7flagameass9tohL21"idsrefclass="srefon {
 3150lht_soc#L27packetlet/pack154mils*bnet/packet/ht_soc#L27packetlert_ode=ruNULL*bnet/packet/s/mtune" 5raw" cl497300"> 3 href="+nik"ne8af/ansus"+ndena>.221  9     96_lenket.sre          t/packet8af_psfreemutex_821" clasf_psfreet/afEINVALe"sklun_filtert_socpo,
221  9ifENXIOa>.et9soc.c#L271" id22d_u>22d_ 8ifind8xass gttv_>"e53a>>>>>>>>>* SoR    ys -EFAULT on /paor-Spty tert"> 3150   tp_"ss=ulass="line" 22d1ue"me1522ass="line9 name1551300"222ass>2221"9ine" 98->         7->         6L3_copy_ atagram_from_iovecack154mils*bnet6L3_copy_ atagram_from_iovec21"idsrefclass="sref L300"> 3150   ass=la/afers"+c1packetl855130lenoud_pudt head55130refAht_soc#L27packetl/hare1tk" msg*bnet/packet/afmsga>.           iovsg_na>,t/p75t/packeiov" nah 0s/mtune" 5raw" cl497300"> 3 href="+nik"ne8aEINVALe"sklun_filtert_socpo,
 9      union {
22 r+>222a>9po-&ers*bnet/packetlINVALe"sklun_filtert_socpo,
222aw9 clas99ef">po-          t/packet8af_psfreemutex_821" clasf_psfreet/afEINVALe"sklun_filtert_socpo,
 3159L242_3ketyine"22300>222->         68   tx_timestlagna>
.acs_ahinf
 3150   ass=la),
 31, 09        un220">>22d1591592ag_          " class="">po-&ers*bnet/packet/ansus"+ndena>.22dre8hs*"n8t/packet/af_          t/packet8af_psfreemutex_821" clasf_psfreet/afEINVALe"sklun_filtert_socpo,
222"l9ne" n95o1.56un_filtert_socpo,
222  9     96_lestr1!_hoo"c#L2k_offsgso_typ"L87AMthrv"sref"gso_typ"refAMflagaflagaa       " class="497300"> 3 href="+nik"ne8+ogsus4"2300"> 8>e okketsk_filta hrefi72> 3140e*/,t/p75t/patu52lllllllllllllraw" clin8id="L87AMthrv"sref">tp8rksrefAMllllllllllraw" cl=xtrapo-&7net/p75t/p=xtrapo 3147 #L271" 22d9ue"me1522         9/dkstruct1t22   >22d  8ifind8xass="line" egttv_>"e53a>>>>>>>>>* SoEarlier w" c e53umed this would bc e VLAN pkt,ty tert"> 3150   tp_"ss=ulass="line" 223bue"me1522id="L271"9classsnet/pack22id=>223_ 8ifagttv_>"e53a>>>>>>>>>*">po---------* double-check this now that we have the /ctualty tert"> 3150   tp_"ss=ulass="line" 2231ue"me1522ass="line9f">po->t22ass>22ifl945agttv_>"e53a>>>>>>>>>*">po---------* ss="li in hand.ty tert"> 3150   tp_"ss=ulass="line" 22i2ue"me1522 r++ 9ic79ket/a#oc2422 r+>22i1.9#Lagttv_>"e53a>>>>>>>>>*">po---------*pty tert"> 3150   tp_"ss=ulass="line" 22i3ue"me1522380L242et9c#LU. Outplass22380>223aw9 clas99ef">po-eldo3ine8 hrefi815"230eth. rerefmsghls*bneteth. rw9 cl/harline" name15e. rerefmsghls*bneteht/afsll_milslodelun_filtert_socpo,
 3159assmilass="lin22300>223309"  6L300"innameassasshasstt_mact/af_phoc#L271"devet/pacs_asstt_mact/af_ph21"idsrefclass="sref L300"> 3150   ass=la)l_milslodelun_filtert_socpo,
 31, 09MPING_RAW_HARD220">>223pa8ket/a89ag_g="+codeharline" name15e. rerefmsghls*bneteht/afsl/af>->         eth_. rerefmsghls*bneteth_. r21"idsrefclass="sref L300"> 3150   ass=la)l_milslodelun_filtert_socpo,
po-&22tas>223cl9ss=q196#Ltv6" cla0          " class="". rerefmsghls*bneteht/afsl htonL273"7flagameasshtonL21"idsrefclass="srefETH_P_8021Q"L87EINVAL*bnet/TH_P_8021QrefAf+fNULLk 3147 #L271" 22i7ue"me1522273"8id="9assmilass="lin22273>22ihw9assmi96o1.56  g="+codeharline" name15e. 3153<22len>223  9     96_lenket.sre.,
22i  8ifind8xass="line" N" clak" 7354" itef="+n/dkstruct224bue"me1522getnstime9fdas*bnet/pack22get>224_ 8ifind8xassN" clak" 7354" itef="+n/dkstruct2241ue"me1522ert_socpo9/a>,
224FL9SH_DC992300"> 8efpo->22ga>9 3150   ass=la 3150,
1527et.9#L354" itacket22/>1>224="9ine" 98->         6L300"> 3150   ass=lapdec#L256        ekbket.).1 hrefi72> 3140 3140,
 3159 3150   ass=la1527et22stp>224319697ag_6L300"innameass L300"> 3150   ass=la->         6Loc#L271"devet/packetr,
224-&9trENXIOa>. 3147 #L271" 22g8ue"me1522lent_soc#9ci15710/af_22len>224  9     96_lenket.sre<         " class="v  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offsanW#L273"7flagameass=u     +coflagaa>. 3147 #L271" 22g9ue"me1522lastef="+9eref">po-&22las>22g  8ifind8xass="line" nket.sre<   !harline" name156L3/a>rtial_csumr="> 31id=_nfi  L3/a>rtial_csumr=">21"idsrefclass="sref L300"> 3150   ass=la/afers"+c1packetlv  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offscsumr=ltr> 31id=_nfi csumr=ltr>52llhe" 8ame" cun_filtert_socpo,
19/af_plent_so."22ng1>22ng 8ifind8xass="line" >po---------------------------fers"+c1packetlv  8_. rerefmsghls*bnetv  8_. r" nat_hoo"c#L2k_offscsumr855130lenoud_pudt heacsumr85513052llf+fNULLk 3147 #L271" 2251ue"me1522 314"code9run_filtert_so22 31>225fl945rer93cpo,
,
22n1.9#LSOF96="+nik"ne8hhhhhhhhhhhhhhhhhrefik<7 hrt/packet8af_psfreemutex_821" clasf_psfreet/afEINVALe"sklun_filtert_socpo,
1527et.9ss="line" name22/>1>225aw9 clas99ef">po---------N" clak" 7354" itef="+n/dkstruct2254ue"me1522300"> 3159ket.).c#L271"722300>22n309"  N" clak" 7354" itef="+n/dkstruct2255ue"me1522stp_vlan_9sre75et/paaOIN22stp>2255_9ocpo<98"2300un_filtert_socpo,
22ncl9ss=q196#Ltv6" cla0ine8 t. re.acs_ahinf
 3150   ass=la)...,
1529et.cv22273>225g)9G_ONrp97300"> 3147ine8 t. re.acs_ahinf
 3150   ass=la) gso_typ"L87AMthrv"sref"gso_typ"refAEINVALe"sklun_filtert_socpo,
225if9ndexa98t.c#L54" itef="+n/dkstruct2259ue"me1522GRAMth 31927et.c#L354" i22GRA>225  8ifind8xass="line" egttv_>"e53a>>>>>>>>>* SoHaf_ph must bc checked, and gso_aegs >>>puted.-*pty tert"> 3150   tp_"ss=ulass="line" 226bue"me15221527et.c#9354" imacoe" n22152>226g 8ifind8xass="line" ine8 t. re.acs_ahinf
 3150   ass=la) SKB_GSO_DODGYL87AMthrv"sref"SKB_GSO_DODGYrefAEINVALe"sklun_filtert_socpo,
226e79et_so9po,
.acs_ahinf
 3150   ass=la)226t_9ocpo<98"2300un_filtert_socpo,
1527et.9 reref">po22/>1>226aw9 clas99ef">po-      " class="497300"> 3 href="+nik"ne8++thet"L3_" class="v  8_. rpo-&7net/p75t/pv  8_. rpo 3159assmilass="lin22300>226309"2265_9ocpo<98"2300un_filtert_socpo,
po-&22tas>226cl9ss=q196#Ltmicket"L3_" class="de=Wpspana>
-&7net/p75t/p=xtrapo.226g)9G_ONrp97300"> 31476L300"innameass L300"> 3150   ass=la 3153<22=q1>226if9ndexa98t.c#L54" itef="+n/dkstruct2219ue"me1522">packnet9packet/af_pekb22">p>226  8ifind8xassagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 227bue"me1522getnstime9fdas*bnet/pack22get>227_ 8ifagttv_>"e53a>>>>>>>>>*">po-*o-Now send itty tert"> 3150   tp_"ss=ulass="line" 2271ue"me1522ert_socpo9/a>,
227fl945agttv_>"e53a>>>>>>>>>*">po-*pty tert"> 3150   tp_"ss=ulass="line" 22g2ue"me1522>1527et.c9L354" itacket"22>15>227t_9ocpo<98"2300un_filtert_socpo,
1527et.9#L354" itacket22/>1>227="9ine" 98->         7->         2> _queue_xmi0lenoud_pudt hea2> _queue_xmi021"idsrefclass="sref L300"> 3150   ass=la)l_milslodelun_filtert_socpo,
 3159run_filtert_so22300>22g309"po-&ers*bnet/packet/agsus0Mflagaflagaa       " class="7->           8_xmi0_/pan
po-&ers*bnet/packetl)=!fa"+ndena>.22g1591592ag_g="+code          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>.227-&9trENXIOa>. /9f_pekbket. re<22073>227hw9assmi96o1.<         " class=""L326" claneed_rls_a hrefi72> 3140.227  9     96_lenket.sre>->         2> _p_psnaplenoudt hea2> _p_pde=sksrefclass="sref">po-&1 hrefi72> 3140ffENXIOa>.packnet9etSOCK_DGRAMth22">p>227  9ifENXIOa>.228g 8ifind8xassr    y-      " class="497300"> 3 href="+nik"ne8fENXIOa>.228FL9SH_DC992300"> 8efpo->228a>9,
 3150 22ev >228="9ine" 98->         kfree_sL300"> 3150  kfree_sL321"idsrefclass="sref L300"> 3150   ass=la)l_milslodelun_filtert_socpo,
packhhw9e1528300"> 31522">p>22/309"<     t/packet8af_psunnt_smutex_821" clasf_psunnt_set/a:" n95o1.56un_filtert_socpo,
 3158<22stp>2281591592ag_          " class=" ekbket.).1 hrefi72> 3140 3140. 3153 22" n>228cl9ss=q196#Ltv6" cla0ine8 t. re.2> _p_psnaplenoudt hea2> _p_pde=sksrefclass="sref">po-&1 hrefi72> 3140ffENXIOa>. /9s="lorig_dev 322073>228g)9G_     t/packet8af_pmutex_821" clasf_pet/a:" n95o1.56un_filtert_socpo,
         22=q1>228  9     96_ler    y-      " class="=>po-&ers*bnet/packetfENXIOa>.packnet9ev 31456L300">22">p>22/  9ifN" clak" 7354" itef="+n/dkstruct229bue"me1522e=run_fil9ert_socpo,22e=r>2295l9ne" n95o1.56un_filtert_socpo,
22e1"9instatic inine8 hrefi815"230po_send/hare1tk" msg*bnetpo_send/hade=skeldo3ine8 hrefi815"230kioc300"> 3150  kioc3 9   /harline" name15ioc300"> 3150  ioc3 9  ,-eldo3ine8 hrefi815"230 8  "> 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27he" 8ame" cun_filtert_socpo,
packet22722>2291.9#LSOF96="+nik"ne8heldo3ine8 hrefi815"230/ha. rerefmsghls*bnet/ha. rrefAM/harline" name15/hare1tk" msg*bnet/packetht_soc#L27packetliize_> 31id=_nfi  ize_>refAM      " class="497300"> 3 href="+nik"ne8+ndena>.22e="9inNULLk 3147 #L271" 2294ue"me1522">packhhw9ltert_socpop>229309"    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr/af>->         68  refa>    3ref="8c.c#L27.   tp_ve22stp>229pa8ket/a89ag_eldo3ine8 hrefi815"230po_s8  refa>    3ref="po_s8  #L27M/harline" name15cpo,
_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>. 96154odeTPe.22rig>229cl9ss=q196#Ltmicket"L3_" class="cpo,
. /9ALIGB273" (uns22073>22eg)9G_ONrp97300"> 3147r    y-      " class="tpo_sndre1tk" msg*bnettpo_snd21"idsrefclass="srefcpo,
.,
229  9     96_leelseENXIOa>.229  8ifind8xass="line" r    y-      " class="po_sndre1tk" msg*bnetpo_snd21"idsrefclass="sref/8  refa>    3ref="8c.c#L27ht_soc#L27packetl/hare1tk" msg*bnet/packets/mtune" 5raw" cl497300"> 3 href="+nik"ne8aEINVALe"sklun_filtert_socpo,
2305l9neN" clak" 7354" itef="+n/dkstruct23_1ue"me1523_p527et.c9L354" iARCH_IM23_p5>230FL9SH_DC992300"> 8efpo->packet23_22>2301.9#Lagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 23_3ue"me1523_e150 id=9L271" classsta23_e1>230aw9 cagttv_>"e53a>>>>>>>>>*"*o-Closc e PACKET  8  30. This is fairly simple. We i>>>diately goty tert"> 3150   tp_"ss=ulass="line" 23_4ue"me1523_>packhhw9ltert_socpop>230fi92eagttv_>"e53a>>>>>>>>>*"*o-to vic, closcdvic,  state and remove our " namepl >>>ry in the 2> ice list.ty tert"> 3150   tp_"ss=ulass="line" 23_5ue"me1523_tp_vlan_950   tp_ve23_tp>2303196"e53a>>>>>>>>>*"*pty tert"> 3150   tp_"ss=ulass="line" 2306ue"me1523_igdev"> 96154odeTPe.23_ig>230-&9trENXIOa>. /9ALIGB273" (uns23_73>230hw9asstatic inine8 hrefi815"230po_releasemutex_821" claspo_releasede=skeldo3ine8 hrefi815"230 8  "> 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27+ndena>.,
230in9" NULLk 3147 #L271" 23_9ue"me1523_eraw 3148ne" name15513023_er>230  8ifind8xasseldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr/af>->         68  refa>    3ref="8c.c#L27. 31, 09        un230">>231pp9cketP95a>.eldo3ine8 hrefi815"230po_s8  refa>    3ref="po_s8  #L27M/harline" name15cpo,
.et_soc.c#L27123 cl>231fl945rer93cpoeldo3ine8 hrefi815"230n"> 31id=_nfi n30refAM/harline" name15n"> 31id=_nfi n30refAfENXIOa>.,
2311.9#LSOF96="+unioy-      " class="tpo_req_usg_na>,t/p75t/ptpo_req_urefAM      " class="req_usg_na>,t/p75t/preq_urefAfENXIOa>.231="8ine" 8ame" cun_filtert_socpo,
 3159na        23300>231309",
        unio23# r>2311591592ag_g="+coder    y-rv"ine8073is_f/der"at head */231-&9trENXIOa>.154ode=BU237ck>231hw9assmi96o1.srefclass="srefn"> 31id=_nfi n30refAMaf>->         68   n"> 31id=_nfi 68   n">21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.231in9" nam95cket/af_preturn10/cpo,
_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.231  9ifENXIOa>.et9soc.c#L271" id23d_u>23d_ 8ifind8xass soc#L27packetl/utex_nt_smutex_821" clas/utex_nt_s21"id=_nfiine8 t. re.n"> 31id=_nfi n30refA 31id=_nfi _a  ">" nat_hoo"c#L2k_offssklist_nt_smutex_821" classklist_nt_sketrffENXIOa>.2321"9ine" 98->         sk_del_n   _ini>_rcusg_na>,t/p75t/psk_del_n   _ini>_rcu21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>. 9      union {
23 r+>232a>9.n"> 31id=_nfi n30refA 31id=_nfi _a  ">" nat_hoo"c#L2k_offssklist_nt_smutex_821" classklist_nt_sketrffENXIOa>.232="8ine" 8ame" cun_filtert_socpo,
 3159L242_3ketyine"23300>232. 31, 09        un230">>232319697ag_6L300"innameass 8   " na_inuse_addre1tk" msg*bnet 8   " na_inuse_add21"idsrefclass="srefn"> 31id=_nfi n30refAht_soc#L27packetliLoc#L271"devet/packetr232re9hs*"n9t/pa_hoo"c#L2k_offspreempt_enablemutex_821" claspreempt_enable21"idffENXIOa>.,
232in9" nam95cket/af_preturn10/apin_nt_smutex_821" classpin_nt_s21"id=_nfiine8 t. re.cpo,
.1t23   >23d  8ifind8xassef="+code=droptunregister " na_hoosmutex_821" clasunregister " na_hoos21"idsrefclass="sref Loc#L271"devet/packetrht_soc#L27packetlfalsemutex_821" clasfalseketrffENXIOa>.233pp9cketP95a>.<         " class="cpo,
po-&1 hrefi72> 3140ffNULLk 3147 #L271" 2331ue"me1523ass="line9f">po->t23ass>233e79et_so9po,
.2> _p_psnaplenoudt hea2> _p_pde=sksrefclass="srefcpo,
po-&1 hrefi72> 3140ffENXIOa>. 9ic79ket/a#oc2423 r+>2331.9#LSOF96="+nik"ne8hsrefclass="srefcpo,
po-&1 hrefi72> 3140amilsc# "e5tert_soert_ode=ruNULL*bnet/packet/fENXIOa>.233aw9 clas99ef"N" clak" 7354" itef="+n/dkstruct2334ue"me1523300"> 3159assmilass="lin23300>233.cpo,
. 31, 09MPING_RAW_HARD230">>2335_9ocpo<98"2300un_filtert_socpo,
po-&23tas>233re9hs*"n9t/pa_hoo"c#L2k_offspo_flush_mclistrefa>    3ref="po_flush_mclist21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.233"l9ne" n95o1.56un_filtert_socpo,
 3153<23len>233in9" nam95cket/af_preturn10/mem130lenoud_pudt heamem13021"id=_nfiine8 t. re.req_usg_na>,t/p75t/preq_urefAh 0s/ izeofdsrefclass="srefreq_usg_na>,t/p75t/preq_urefA)ffENXIOa>.234pp9cketP95a>.<         " class="cpo,
.,
234e79et_so9po,
.po_set_rinare1tk" msg*bnetpo_set_rina21"idsrefclass="sref Loc#L271"devet/packetrht=_nfiine8 t. re.req_usg_na>,t/p75t/preq_urefAh 1h 0ffENXIOa>.234t_9ocpo<98"2300un_filtert_socpo,
1527et.9#L354" itacket23/>1>234="9ine" 98. 3159_set_rina21"idsrefclass="sref Loc#L271"devet/packetrht=_nfiine8 t. re.req_usg_na>,t/p75t/preq_urefAh 1h 1ffENXIOa>.1527et23stp>2345_9ocpo<98"2300un_filtert_socpo,
234re9hs*"n9t/pa_hoo"c#L2k_offsfanf_psreleasemutex_821" clasfanf_psrelease21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.,
10/af_23len>234in9" nam95cket/af_preturn10/aynchronize_n"> 31id=_nfi 6ynchronize_n">21"idffENXIOa>.po-&23las>234  8ifind8xassagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 235bue"me1523ng15719/af_plent_so."23ng1>235_ 8ifagttv_>"e53a>>>>>>>>>*">po-*o-Now the  8  30 is dead.-No more inp_p will appear.ty tert"> 3150   tp_"ss=ulass="line" 2351ue"me1523 314"code9run_filtert_so23 31>235fl945agttv_>"e53a>>>>>>>>>*">po-*pty tert"> 3150   tp_"ss=ulass="line" 2352ue"me15231527et.c#9154odeTPe.sref23152>235a>9 3 href="+ 8   orpha721"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.1527et.9ss="line" name23/>1>235="9ine" 98->         68  refa>    3ref="8c.c#L27. 3159ket.).c#L271"723300>235fi92ersc993ketytk" class="sref">packnin2355ue"me1523stp_vlan_9sre75et/paaOIN23stp>2355 8ifind8xassagttv_>"e53a>>>>>>>>>* S Purge queues-*pty tert"> 3150   tp_"ss=ulass="line" 2356ue"me1523tassmit. 9271" classhcke23tas>235-&9trENXIOa>..iLoc#L271"devet/packetr235in9" nam95cket/af_preturn10/as_refcnt_debugsreleasemutex_821" clasas_refcnt_debugsrelease21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.235  9ifENXIOa>.236_ 8ifind8xass soc#L27packetl 8   "_psnaplenoudt hea 8   "_p21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.236e79et_so9po236t_9ocN" clak" 7354" itef="+n/dkstruct2363ue"me1523/>1527et.9 reref">po23/>1>236="8ine" 8ame" cun_filtert_socpo,
 3159assmilass="lin23300>236fi92eagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2365ue"me1523stp_vlan_9MPING_RAW_HARD23stp>2363196"e53a>>>>>>>>>*"*o9po 3150   tp_"ss=ulass="line" 2366ue"me1523tassmit. 9eref">po-&23tas>236cl9ssagttv_>"e53a>>>>>>>>>*"*pty tert"> 3150   tp_"ss=ulass="line" 2367ue"me1523273"8id="9assmilass="lin23273>236"l9ne" n95o1.56un_filtert_socpo,
 3153<23=q1>236if9ndstatic inine8 hrefi815"230po_do_bindre1tk" msg*bnetpo_do_bind21"ideldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr,-eldo3ine8 hrefi815"230  8_2> ice 31id=_nfi n30_2> ice#L27M/harline" name15">po-&1 hrefi72> 3140s/mtune" 5raw" cl__behcketSOCK92hrefi7__behc#L27Mef="+code=dropt" na1"pll__pkt" class="" namepll__p+ndena>.packnet9packet/af_pekb23">p>236  8ifNULLk 3147 #L271" 237bue"me1523getnstime9fdas*bnet/pack23get>237pp9cketP95a>.eldo3ine8 hrefi815"230po_s8  refa>    3ref="po_s8  #L27M/harline" name15cpo,
_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.,
237FL9SH_DC992300"> 8efpo->1527et.c9L354" itacket"23>15>237a>9 3147 #L271" 23g3ue"me1523/>1527et.9#L354" itacket23/>1>237aw9 clas99ef">po-          " class=" ekbket.).1 hrefi72> 3140+ndena>. 3159run_filtert_so23300>237,
 _p_psnaplenoudt hea2> _p_pde=sksrefclass="sref">po-&1 hrefi72> 3140ffENXIOa>.2375_9ocpo<98"2300un_filtert_socpo,
237cl9ss=q196#Ltv6" cla0r    y-ers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
 /9f_pekbket. re<23073>237hw9assmi96o1.N" clak" 7354" itef="+n/dkstruct23g8ue"me1523=q1.c#Ltv9ine" name1477323=q1>237if9ndexa98t.c#L54" itef="+n/dkstruct23g9ue"me1523">packnet9etSOCK_DGRAMth23">p>237  8ifind8xassef="+code=droptnt_s_s8  refa>    3ref="nt_s_s8  21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.2385l9ne" n95o1.56un_filtert_socpo,
2381"9ine" 98->         spin_nt_smutex_821" classpin_nt_s21"id=_nfiine8 t. re.cpo,
.238a>9 ldoeketrffENXIOa>. 3150 23ev >238="9ine" 98->         cpo,
.packhhw9e1528300"> 31523">p>238,
. 3158<23stp>2381591592ag_          " class="cpo,
po-&1 hrefi72> 3140fENXIOa>. 3153 23" n>238cl9ss=q196#Ltv6" cla0ine8 t. re.2> _p_psnaplenoudt hea2> _p_pde=sksrefclass="srefcpo,
po-&1 hrefi72> 3140ffENXIOa>. /9s="lorig_dev 323073>238hw9assmi96o1.srefclass="srefcpo,
po-&1 hrefi72> 3140amilsc# "e5tert_socpobket.).1 hrefi72> 3140,
         23=q1>238if9ndexa98t.c#L54" itef="+n/dkstruct2389ue"me1523">packnet9ev 31456L300">23">p>238  8ifind8xassef="+code=droptcpo,
 3140 ?s4"2300"> 8>e okketsk_filta hrefi72> 3140e*/,
,23e=r>2395l9ne" n95o1.56un_filtert_socpo,
2391591592ag_          " class="csoc1"pll__pkt" class="" namepll__pamfa"+ndena>.packet23722>2391.9#LSOF96="+nik"ne8h          t/packet8af_psunnt_smutex_821" clasf_psunnt_set/afENXIOa>.239="8ine" 8ame" cun_filtert_socpo,
packhhw9ltert_socpop>239309" 3140 ||        " class=" ekbket.).1 hrefi72> 3140. 3147 #L271" 2395ue"me1523stp_vlan_950   tp_ve23stp>2391591592ag_g="+codeine8 t. re.register " na_hoosmutex_821" clasregister " na_hoos21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>. 96154odeTPe.23rig>239cl9ss=q196#Lt}eelsefNULLk 3147 #L271" 2397ue"me152307300"> /9ALIGB273" (uns23073>23eg)9G_ONrp97300"> 3147ine8 t. re.iLoc#L271"devet/packetr.,
239  9     96_lenket.sre<   !harline" name156t_s_=u  snaplenoudt hea 8   =u  21"idsrefclass="sref Loc#L271"devet/packetrht_soc#L27packetlSOCK_DEADoc#L271"devet/pSOCK_DEAD3140ffENXIOa>.239  8ifind8xass="line" 0"> 3147ine8 t. re.iLoc#L271"devet/packetr.240_ 8ifind8xassN" clak" 7354" itef="+n/dkstruct24_1ue"me1524_p527et.c9L354" iARCH_IM24_p5>240FL9SH_DC992300"> 8efpo->packet24_22>240a>9,
240="9ine" 98->         6pin_unnt_smutex_821" classpin_unnt_s21"id=_nfiine8 t. re.cpo,
.packhhw9ltert_socpop>240    3ref="release_s8  21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.   tp_ve24_tp>2401591592ag_r    y-rv"ine8073is_f/der"at head */ 96154odeTPe.24_ig>240-&9trN" clak" 7354" itef="+n/dkstruct24_7ue"me1524_7300"> /9ALIGB273" (uns24_73>240"l9ne" n95o1.56un_filtert_socpo,
,
240in9" agttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 24_9ue"me1524_eraw 3148ne" name15513024_er>240  8ifagttv_>"e53a>>>>>>>>>*"*o9po 3150   tp_"ss=ulass="line" 241bue"me15240"> 31, 09        un240">>241_ 8ifagttv_>"e53a>>>>>>>>>*"*pty tert"> 3150   tp_"ss=ulass="line" 2411ue"me1524 clad_une9>et_soc.c#L27124 cl>241FL9SH_DC992300"> 8efpo->,
2411.9#Lstatic inine8 hrefi815"230po_bind_spktrefa>    3ref="po_bind_spkt21"ideldo3ine8 hrefi815"230 8  "> 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27hseldo3ine8 hrefi815"230 8  ad rerefmsghls*bnet 8  ad rrefAM/harline" name15uad rerefmsghls*bnetuad rrefAhe" 8ame" cun_filtert_socpo,
241aw9 clas99ef">po---------.sre-&7net/p75t/pad rpo. 3159na        24300>241309" 3147 #L271" 2405ue"me1524# re" na<9a>        unio24# r>2411591592ag_eldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr/af>->         68  refa>    3ref="8c.c#L27.241cl9ss=q196#Ltcharne8 hrefi815"230 "L2c#L271"numame140"L2l9ss[15]fENXIOa>.154ode=BU247ck>241hw9assmi96o1.eldo3ine8 hrefi815"230  8_2> ice 31id=_nfi n30_2> ice#L27M/harline" name15">po-&1 hrefi72> 3140fENXIOa>.241in9" nam95cke.241  9ifENXIOa>.et9soc.c#L271" id24d_u>24d_ 8ifind8xass gttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 24d1ue"me1524ass="line9 name1551300"224ass>242fl945agttv_>"e53a>>>>>>>>>*">po-*o-Check legalita31 tert"> 3150   tp_"ss=ulass="line" 24d2ue"me1524 r++ 9      union {
24 r+>2421.9#Lagttv_>"e53a>>>>>>>>>*">po-*pty tert"> 3150   tp_"ss=ulass="line" 24d3ue"me1524380L242et9ekbket.)aeceiv24380>242="8ine" 8ame" cun_filtert_socpo,
 3159L242_3ketyine"24300>242309"-&7net/p75t/pad rpo. 31, 09        un240">>2421591592ag_g="+coder    y-ers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
242re9hs*"n9t/pa_hoo"c#L2k_offseldlcpana>
.,
242in9" nam95cket/af_preturn10/">po-&1 hrefi72> 3140amilsc# "e5tert_socpo_ga>_by_ "L2c#L271"numame14cpo_ga>_by_ "L221"idsrefclass="sref 8   n"> 31id=_nfi 68   n">21"idsrefclass="sref Loc#L271"devet/packetrfht_soc#L27packetl "L2c#L271"numame140"L2l9ss)fENXIOa>.1t24   >24d  8ifind8xass          " class=" ekbket.).1 hrefi72> 3140+ndena>.243g 8ifind8xass="line" ine8 t. re.7->         po_do_bindre1tk" msg*bnetpo_do_bind21"idsrefclass="sref Loc#L271"devet/packetrht_soc#L27packetl">po-&1 hrefi72> 3140s/mtune" 5raw" cl8k>_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrf.po->t24ass>243e79et_so9po.7. 9ic79ket/a#oc2424 r+>243t_9ocN" clak" 7354" itef="+n/dkstruct2433ue"me1524380L242et9c#LU. Outplass24380>243="8ine" 8ame" cun_filtert_socpo,
 3159assmilass="lin24300>243_bindrefa>    3ref="po_bind21"ideldo3ine8 hrefi815"230 8  "> 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27hseldo3ine8 hrefi815"230 8  ad rerefmsghls*bnet 8  ad rrefAM/harline" name15uad rerefmsghls*bnetuad rrefAhe-&7net/p75t/pad rpo. 31, 09MPING_RAW_HARD240">>2435_9ocNULLk 3147 #L271" 2436ue"me1524tassmit. 9eref">po-&24tas>243re9hs*"n9t/paeldo3ine8 hrefi815"230 8  ad r_lll__pkt" class=" 8  ad r_llrefAM/harline" name15/lll__pkt" class=" llrefAM= deldo3ine8 hrefi815"230 8  ad r_lll__pkt" class=" 8  ad r_llrefAM/)harline" name15uad rerefmsghls*bnetuad rrefAfENXIOa>.243hw9assmi96o1.eldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr/af>->         68  refa>    3ref="8c.c#L27. 3153<24len>243in9" nam95ckeeldo3ine8 hrefi815"230  8_2> ice 31id=_nfi n30_2> ice#L27M/harline" name15">po-&1 hrefi72> 3140amilsc# "e5tert_soert_ode=ruNULL*bnet/packet/fENXIOa>..2445l9ne" n95o1.56un_filtert_socpo,
,
244FL9SH_DC992300"> 8efpo->244a>9>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2443ue"me1524/>1527et.9#L354" itacket24/>1>244aw9 cagttv_>"e53a>>>>>>>>>*">po-*o-Check legalita31 tert"> 3150   tp_"ss=ulass="line" 2444ue"me1524300"> 3159>>>>>>>>*">po-*pty tert"> 3150   tp_"ss=ulass="line" 2445ue"me1524stp_vlan_9ci1571527et24stp>2445_9ocpo<98"2300un_filtert_socpo,
244re9hs*"n9t/pa    e8 hrefi815"230ad rpo-&7net/p75t/pad rpo. 3147r    y-ers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
10/af_24len>244in9" nam95cke    e8 hrefi815"230/lll__pkt" class=" llrefA
.po-&24las>244  8ifind8xass="line" r    y-ers"+c1pac-cketlin8id="L87EINVAL*bnet/packet/afEINVALe"sklun_filtert_socpo,
19/af_plent_so."24ng1>2455l9ne" n95o1.56un_filtert_socpo,
2451591592ag_          " class="/lll__pkt" class=" llrefA 3147 #L271" 2452ue"me15241527et.c#9154odeTPe.sref24152>2451.9#LSOF96="+nik"ne8hsrefclass="sref=lt. rerefers*bnet/packet/afers"+c1pac-cketliNODEV"L87EINVAL*bnet/NODEV3140fENXIOa>.1527et.9ss="line" name24/>1>245aw9 clas99ef">po-t/af_preturn10/">po-&1 hrefi72> 3140amilsc# "e5tert_socpo_ga>_by_indexo,
_by_index21"idsrefclass="sref 8   n"> 31id=_nfi 68   n">21"idsrefclass="sref Loc#L271"devet/packetrfht_soc#L27packetl/lll__pkt" class=" llrefA. 3159ket.).c#L271"724300>245,
.2451591592ag_g="+codeeeeeeeee          t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>.245cl9ss=q196#Lt}ENXIOa>.->         po_do_bindre1tk" msg*bnetpo_do_bind21"idsrefclass="sref Loc#L271"devet/packetrht_soc#L27packetl">po-&1 hrefi72> 3140s/mtune" 5raw" cl/lll__pkt" class=" llrefA_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrf.245if9ndexa98t.c#L54" itef="+n/dkstruct2459ue"me1524GRAMth 31927et.c#L354" i24GRA>245  9if     t/packet8af_pode=ruNULL*bnetf_p3140:" n95o1.56un_filtert_socpo,
246g 8ifind8xassr    y-      " class="=lt. rerefers*bnet/packetfENXIOa>.246e79et}ENXIOa>.246t_9ocpo<98"2300un_filtert_socpo,
1527et.9 reref">po24/>1>246="8instatic eldo3ine8 hrefi815"230psoc1refa>    3ref="psoc1 8ifi>->         po_psoc1refa>    3ref="po_psoc1cket/afNULLk 3147 #L271" 2464ue"me1524300"> 3159assmilass="lin24300>246"e53a>eldinar>"PACKET"ty terthe" 8ame" cun_filtert_socpo,
2465a9hrefi9uerst_hoo"c#L2k_offsownet. rerefers*bnetowneta9hrefi9af>->         THIS_MODULE. rerefers*bnetTHIS_MODULE3140se" 8ame" cun_filtert_socpo,
po-&24tas>2466a9hrefi9uerst_hoo"c#L2k_offsobj_ ize. rerefers*bnetobj_ izecket/af izeofdeldo3ine8 hrefi815"230po_s8  refa>    3ref="po_s8  #L27)se" 8ame" cun_filtert_socpo,
246"l9ne}fENXIOa>. 3153<24=q1>246if9ndexa98t.c#L54" itef="+n/dkstruct2419ue"me1524">packnet9packet/af_pekb24">p>246  8ifagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 247bue"me1524getnstime9fdas*bnet/pack24get>247_ 8ifagttv_>"e53a>>>>>>>>>*"*i9uersCreate a ss="li of typ" SOCK_PACKET.ty tert"> 3150   tp_"ss=ulass="line" 2471ue"me1524ert_socpo9/a>,
247fl945agttv_>"e53a>>>>>>>>>*"*pty tert"> 3150   tp_"ss=ulass="line" 24g2ue"me1524>1527et.c9L354" itacket"24>15>247t_9ocpo<98"2300un_filtert_socpo,
1527et.9#L354" itacket24/>1>247="8instatic inine8 hrefi815"230po_createrefa>    3ref="po_create21"ideldo3ine8 hrefi815"230n"> 31id=_nfi n30refAM/harline" name15n"> 31id=_nfi n30refA,-eldo3ine8 hrefi815"230 8  "> 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27h inine8 hrefi815"230psoc1"pll__pkt" class="" namepll__pse" 8ame" cun_filtert_socpo,
 3159run_filtert_so24300>247,
-&7net/p75t/pker/ket/fENXIOa>.2475_9ocNULLk 3147 #L271" 24g6ue"me1524" nameBUG973" +code=run_24" n>247re9hs*"n9t/paeldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetrfENXIOa>. /9f_pekbket. re<24073>247hw9assmi96o1.eldo3ine8 hrefi815"230po_s8  refa>    3ref="po_s8  #L27M/harline" name15cpo,
.247in9" nam95cket/af_preturn10/__behcketSOCK92hrefi7__behc#L27Mef="+code=dropt" na1refa>    3ref="psoc1 8ifi=        " class="__force 31id=_nfi __force#L27Mef="+code=dropt__behcketSOCK92hrefi7__behc#L27)harline" name158 na1"pll__pkt" class="" namepll__pfsagttv_>"e53a>>>>>>>>>* S weird, but docu>>>>ed"*pty tert"> 3150   tp_"ss=ulass="line" 24g9ue"me1524">packnet9etSOCK_DGRAMth24">p>247  8ifind8xass nine8 hrefi815"230=lt. rerefers*bnet/packetfENXIOa>.2485l9ne" n95o1.56un_filtert_socpo,
2481591592ag_    !harline" name15capablemutex_821" clascapable21"idsrefclass="srefCAP_NET_RAWmutex_821" clasCAP_NET_RAWrefAffENXIOa>.2481.9#LSOF96="+nik"ne8hr    y-ers"+c1pac-cketliPERM"L87EINVAL*bnet/PERMcketfENXIOa>. 3150 24ev >248="9ine" 98.    3ref="8c.c#L27.packhhw9e1528300"> 31524">p>248,
>.    3ref="8c.c#L27 3158<24stp>2481591592ag_g="+coder    y-ers"+c1pac-cketliSOCKTNOSUPPORTna>
. 3153 24" n>248-&9trENXIOa>. /9s="lorig_dev 324073>248hw9assmi96o1.srefclass="sref68  refa>    3ref="8c.c#L27->         SS_UNCONNECTEDoc#L271"devet/pSS_UNCONNECTEDcketfENXIOa>.         24=q1>248if9ndexa98t.c#L54" itef="+n/dkstruct2489ue"me1524">packnet9ev 31456L300">24">p>248  8ifind8xassef="+code=dropt=lt. rerefers*bnet/packet/afers"+c1pac-cketliNOBUFS"L87EINVAL*bnet/NOBUFScketfENXIOa>.,24e=r>249_ 8ifind8xass soc#L27packetl Loc#L271"devet/packetr/af>->         6k_allocack154mils*bnet6k_alloc21"idsrefclass="srefn"> 31id=_nfi n30refA,-srefclass="srefPF_PACKETna>
_psoc1cket)fENXIOa>.2491591592ag_          " class=" Loc#L271"devet/packetr/amilsc# "e5tert_soert_ode=ruNULL*bnet/packet/fENXIOa>.packet24722>2491.9#LSOF96="+nik"ne8h          t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>.249="8ine" 8ame" cun_filtert_socpo,
packhhw9ltert_socpop>249    3ref="8c.c#L27.co_opL273"7flagameassco_opL3140fENXIOa>.   tp_ve24stp>2491591592ag_          " class="68  refa>    3ref="8c.c#L27
. 96154odeTPe.24rig>249cl9ss=q196#Ltv6" cla0ine8 t. re.68  refa>    3ref="8c.c#L27.co_opL_spktrefa>    3ref="po_opL_spkt3140fENXIOa>. /9ALIGB273" (uns24073>249"l9ne" n95o1.56un_filtert_socpo,
,
249in9" nam95cket/af_preturn10/a8   ini>_datana>
_data21"idsrefclass="sref 8  refa>    3ref="8c.c#L27h srefclass="sref Loc#L271"devet/packetrffENXIOa>.249  9ifENXIOa>.250_ 8ifind8xass soc#L27packetlcpo,
_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.2501"9ine" 98->         skoc#L271"devet/packetr
.packet25_22>250a>9    3ref="psoc1 8iffENXIOa>.250="8ine" 8ame" cun_filtert_socpo,
packhhw9ltert_socpop>250_s8  _deeldo3ina>
_s8  _deeldo3i 8iffENXIOa>.   tp_ve25_tp>2501591592ag_ef="+code=dropt_s_refcnt_debugsincack154mils*bnet6k_refcnt_debugsinc21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>. 96154odeTPe.25_ig>250-&9trENXIOa>. /9ALIGB273" (uns25_73>250hw9assmi96o1.sgttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2508ue"me1525_spdec#L28,
250in9" agttv_>"e53a>>>>>>>>>*tv6" cla0*o9po 3150   tp_"ss=ulass="line" 2509ue"me1525_eraw 3148ne" name15513025_er>250  8ifagttv_>"e53a>>>>>>>>>*"v6" cla0*pty tert"> 3150   tp_"ss=ulass="line" 251bue"me15250"> 31, 09        un250">>2515l9ne" n95o1.56un_filtert_socpo,
et_soc.c#L27125 cl>2511"9ine" 98->         spin_nt_s ini>oc#L271"devet/papin_nt_s ini>21"id=_nfiine8 t. re.cpo,
.,
251a>921"id=_nfiine8 t. re.cpo,
.251="9ine" 98->         cpo,
_rcpo-&1 hrefi78o_rcp 8iffENXIOa>. 3159na        25300>251fi92ersc993ketytk" class="sref">packnin2505ue"me1525# re" na<9a>        unio25# r>2511591592ag_          " class="68  refa>    3ref="8c.c#L27
.251cl9ss=q196#Ltv6" cla0ine8 t. re.cpo,
_rcp_spktrefa>    3ref="po_rcp_spkt 8iffENXIOa>.154ode=BU257ck>251"l9ne" n95o1.56un_filtert_socpo,
251in9" nam95cket/af_preturn10/cpo,
_pripo-&1 hrefi7socpo_pripketr/af>->         6koc#L271"devet/packetrfENXIOa>.251  9ifENXIOa>.et9soc.c#L271" id25d_u>252pp9cketP95a>.<         " class="c na1refa>    3ref="psoc1 8ifffNULLk 3147 #L271" 25d1ue"me1525ass="line9 name1551300"225ass>252e79et_so9po,
.ppo,
    3ref="psoc1 8iffENXIOa>. 9      union {
25 r+>2521.9#LSOF96="+nik"ne8hsrefclass="srefregister " na_hoosmutex_821" clasregister " na_hoos21"idsrefclass="sref Loc#L271"devet/packetrffENXIOa>.252="9ine" 98. 3159L242_3ketyine"25300>252fi92ersc993ketytk" class="sref">packnin25d5ue"me15250"> 31, 09        un250">>2521591592ag_ef="+code=droptmutex nt_smutex_821" clasmutex nt_s21"id=_nfiine8 t. re.n"> 31id=_nfi n30refA 31id=_nfi "a  ">21"it_hoo"c#L2k_offssklist_nt_smutex_821" classklist_nt_sketrffENXIOa>.252re9hs*"n9t/pa_hoo"c#L2k_offsek_add_noff_rcuack154mils*bnet6k_add_noff_rcu21"idsrefclass="sref Loc#L271"devet/packetr,-=_nfiine8 t. re.n"> 31id=_nfi n30refA 31id=_nfi "a  ">21"it_hoo"c#L2k_offssklistmutex_821" classklistketrffENXIOa>..n"> 31id=_nfi n30refA 31id=_nfi "a  ">21"it_hoo"c#L2k_offssklist_nt_smutex_821" classklist_nt_sketrffENXIOa>.1t25   >252  8ifind8xassef="+code=droptcreempt_disablemutex_821" clascreempt_disable21"idffENXIOa>.253_ 8ifind8xass soc#L27packetl 8   " na_inuse_addna>
 31id=_nfi n30refA,-=_nfiine8 t. re.co_psoc1refa>    3ref="po_psoc1cket, 1ffENXIOa>.po->t25ass>2531"9ine" 98->         creempt_enablemutex_821" clascreempt_enable21"idffENXIOa>. 9ic79ket/a#oc2425 r+>253t_9ocpo<98"2300un_filtert_socpo,
253="9ine" 98 3159assmilass="lin25300>253,
 31, 09MPING_RAW_HARD250">>2531591592ag_r    y-     t/packet8a=lt. rerefers*bnet/packetfENXIOa>.po-&25tas>253-&9trN" clak" 7354" itef="+n/dkstruct2537ue"me1525273"8id="9assmilass="lin25273>253"l9ne" n95o1.56un_filtert_socpo,
 3153<25len>253if9ndstatic inine8 hrefi815"230po_recp_=>porrefa>    3ref="po_recp_=>por21"ideldo3ine8 hrefi815"230 8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr,-eldo3ine8 hrefi815"230msgh rerefmsghls*bnetmsgh r#L27M/harline" name15msgerefmsghls*bnetmsgketr,-inine8 hrefi815"230o-&7net/p75t/po. 3147 #L271" 254bue"me1525getnstime9fdas*bnet/pack25get>254pp9cketP95a>.eldo3ine8 hrefi815"230_8   exterr_skbna>
po-&ers*bnet_/packetfENXIOa>.,
2541p9cketP95a>.eldo3ine8 hrefi815"230_k_buffack154mils*bnet6k_buff#L27M/harline" name15/Lbna>

.254a>9
1527et.9#L354" itacket25/>1>254="8ine" 8ame" cun_filtert_socpo,
 3159.1527et25stp>2541591592ag_ef="+code=dropt_sbna>
->         6kb_dequeoe 31id=_nfi 6kb_dequeoe21"id=_nfiine8 t. re.iLoc#L271"devet/packetr254re9hs*"n9t/pa    e8 hrefi815"230_sbna>
. 3147          t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>.10/af_25len>254if9ndexa98t.c#L54" itef="+n/dkstruct25g9ue"me1525lastef="+9eref">po-&25las>254  8ifind8xassef="+code=droptcopiedna>
->         6kbna>
19/af_plent_so."25ng1>255pp9cketP95a>.<         " class="copiedna>
-&7net/p75t/po 3147 #L271" 2551ue"me1525 314"code9run_filtert_so25 31>255e79et_so9po,
.msgerefmsghls*bnetmsgketr->         MSG_TRUNC273"7flagameassMSG_TRUNC3140fENXIOa>.2551.9#LSOF96="+nik"ne8hsrefclass="srefcopiedna>
->         o-&7net/p75t/po.1527et.9ss="line" name25/>1>255="9ine" 98. 3159ket.).c#L271"725300>255->         6kb_copy_datagram_iovecack154mils*bnet6kb_copy_datagram_iovec21"idsrefclass="sref Lbna>
2551591592ag_          " class="=lt. rerefers*bnet/packetfENXIOa>.255cl9ss=q196#Ltv6" cla0          t/packet8af_psfree_skbna>
.,
255in9" nam95cket/af_preturn10/a8   recp_timestampna>
255  9ifENXIOa>.256_ 8ifind8xass soc#L27packetl =>po-&ers*bnet_/packet/af>->         SKB_EXT_ERRna>
2561"9ine" 98->         c_pscmsgerefmsghls*bnetc_pscmsg21"idsrefclass="srefmsgerefmsghls*bnetmsgketr,-harline" name15SOL_PACKETna>
.2561.9#LSOF96="+nik"ne8hseizeofdsrefclass="sref =>po-&ers*bnet_/packet eeketrffENXIOa>.1527et.9 reref">po25/>1>256="8ine" 8ame" cun_filtert_socpo,
 3159assmilass="lin25300>256->         MSG_ERRQUEUE273"7flagameassMSG_ERRQUEUE3140fENXIOa>.2561591592ag_ef="+code=dropt=lt. rerefers*bnet/packet/af>->         copiedna>
.po-&25tas>256-&9trENXIOa>.256hw9assmi96o1.sgttv_>"e53a>>>>>>>>>* S Reset and regenerate  8  30 =>por0*pty tert"> 3150   tp_"ss=ulass="line" 2568ue"me1525=q1.c#Ltv9" cla0"> 3153<25=q1>256in9" nam95cket/af_preturn10/apin_nt_s bho-&ers*bnet_pin_nt_s bh21"id=_nfiine8 t. re.iLoc#L271"devet/packetr.packnet9packet/af_pekb25">p>256  8ifind8xassef="+code=droptiLoc#L271"devet/packetr257pp9cketP95a>.<   dsrefclass="sref Lb2na>
->         6kb_peeLoc#L271"devet/pacb_peeL21"id=_nfiine8 t. re.iLoc#L271"devet/packetr 3147 #L271" 2571ue"me1525ert_socpo9/a>,
257e79et_so9po,
.iLoc#L271"devet/packetr
 eeketrt_hoo"c#L2k_offsee_=>pn1refa>    3ref="ee_=>pn1#L27fENXIOa>.1527et.c9L354" itacket"25>15>2571.9#LSOF96="+nik"ne8hsrefclass="srefspin_unnt_s bho-&ers*bnet_pin_unnt_s bh21"id=_nfiine8 t. re.iLoc#L271"devet/packetr.1527et.9#L354" itacket25/>1>257aw9 clas99ef">po-t/af_preturn10/iLoc#L271"devet/packetr. 3159run_filtert_so25300>257.2571591592ag_g="+codesrefclass="srefspin_unnt_s bho-&ers*bnet_pin_unnt_s bh21"id=_nfiine8 t. re.iLoc#L271"devet/packetr.257-&9trENXIOa>. /9f_pekbket. re<25073>257hw9as     t/packet8af_psfree_skbna>
,
257in9" nam95cket/af_preturn10/kfree_skbna>
packnet9etSOCK_DGRAMth25">p>257  9if     t/packet8af_pode=ruNULL*bnetf_p3140:" n95o1.56un_filtert_socpo,
258g 8ifind8xassr    y-      " class="=lt. rerefers*bnet/packetfENXIOa>.258e79et}ENXIOa>.258t_9ocpo<98"2300un_filtert_socpo,
 3150 25ev >258aw9 cagttv_>"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2584ue"me1525">packhhw9e1528300"> 31525">p>258fi92eagttv_>"e53a>>>>>>>>>*"*o9po 3150   tp_"ss=ulass="line" 2585ue"me1525stp_vlan_9528300"> 3158<25stp>258159"e53a>>>>>>>>>*"*o9po 3150   tp_"ss=ulass="line" 2586ue"me1525" nameBUG9+0"> 3153 25" n>258-&9tragttv_>"e53a>>>>>>>>>*"*pty tert"> 3150   tp_"ss=ulass="line" 2587ue"me152507300"> /9s="lorig_dev 325073>258"l9ne" n95o1.56un_filtert_socpo,
         25=q1>258if9ndstatic inine8 hrefi815"230po_recpmsgerefmsghls*bnetco_recpmsg3140deldo3ine8 hrefi815"230kiocbna>

 31id=_nfi  8  30refAM/harline" name15/8  refa>    3ref="8c.c#L27h" n95o1.56un_filtert_socpo,
packnet9ev 31456L300">25">p>258  8ifind8xass="line"           eldo3ine8 hrefi815"230msgh rerefmsghls*bnetmsgh r#L27M/harline" name15msgerefmsghls*bnetmsgketr,-harline" name15/ize_> 31id=_nfi  ize_>#L27M>->         o-&7net/p75t/po.,25e=r>259_ 8ifNULLk 3147 #L271" 2591ue"me1525cp527et.c9L354" iARCH_IM25cp5>2591p9cketP95a>.eldo3ine8 hrefi815"230_8  refa>    3ref="8c.c#L27M/harline" name15/Loc#L271"devet/packetr/af>->         68  refa>    3ref="8c.c#L27.packet25722>2591.9#LSOF96="+eldo3ine8 hrefi815"230_k_buffack154mils*bnet6k_buff#L27M/harline" name15/Lbna>
.259="9ine" 98
packhhw9ltert_socpop>259   tp_ve25stp>2591591592ag_ nine8 hrefi815"230v hr_h rpo-&7net/p75t/pv hr_h rpo 96154odeTPe.25rig>259-&9trENXIOa>. /9ALIGB273" (uns25073>259hw9assmi96o1.srefclass="sref7,
,
259in9" nam95cke    e8 hrefi815"230fnW#L273"7flagameassfnW#L79et-=_nfi ~ e8 hrefi815"230MSG_PEEK273"7flagameassMSG_PEEK79et|e8 hrefi815"230MSG_DONTWAITna>

.259  8ifind8xass="line"           t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>.2605l9ne" n95o1.56un_filtert_socpo,
2601"9in#   0" n95o1.56un_filtert_socpo,
packet26_22>260a>9>>>>>>>>* S Wha0 =>por0should we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150 id=9L271" classsta26_e1>260="9ine" 98_s 21"idsrefclass="sref Loc#L271"devet/packetrf.packhhw9ltert_socpop>260.   tp_ve26_tp>260159. 96154odeTPe.26_ig>260-&9trENXIOa>. /9ALIGB273" (uns26_73>260hw9assmi96o1.    e8 hrefi815"230fnW#L273"7flagameassfnW#L79et-=_nfi e8 hrefi815"230MSG_ERRQUEUE273"7flagameassMSG_ERRQUEUE3140ffNULLk 3147 #L271" 2608ue"me1526_spdec#L28,
2608a9hrefi9uersind8xassef="+code=dropt=lt. rerefers*bnet/packet/af>->         co_recp_=>porrefa>    3ref="po_recp_=>por21"idsrefclass="sref Loc#L271"devet/packetrh srefclass="srefmsgerefmsghls*bnetmsgketrh srefclass="srefo-&7net/p75t/po.260  8ifind8xass="line"           t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>. 31, 09        un260">>261g 8ifind8xass}ENXIOa>.et_soc.c#L27126 cl>261FL9SH_DC992300"> 8efpo->,
261a>9>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2613ue"me1526380L242et9c154261aw9 cagttv_>"e53a>>>>>>>>>*">po-*o-Call the generic datagramsr ceiver. This handles all sortsty tert"> 3150   tp_"ss=ulass="line" 2614ue"me1526300"> 3159na        26300>261fi92eagttv_>"e53a>>>>>>>>>*">po-*o-of horrible races and re->>>rancy so we ctv_forget abf_p i>21 tert"> 3150   tp_"ss=ulass="line" 2615ue"me1526# re" na<9a>        unio26# r>261159"e53a>>>>>>>>>*">po-*o-in the s namepl layers.ty tert"> 3150   tp_"ss=ulass="line" 2606ue"me1526hcketSOCK9271" id="L271"26hck>261-&9tragttv_>"e53a>>>>>>>>>*">po-*ty tert"> 3150   tp_"ss=ulass="line" 2607ue"me15267cketSOCK9ee154ode=BU267ck>261"l9neagttv_>"e53a>>>>>>>>>*">po-*o-Now i0 will r    y-ENETDOWN,.   device have just   ne down,ty tert"> 3150   tp_"ss=ulass="line" 2608ue"me15268cketSOCK9   union {
261in9" agttv_>"e53a>>>>>>>>>*tv6" cla0*o9po 3150   tp_"ss=ulass="line" 2609ue"me1526         9tp_versik_typ 26   >261  8ifagttv_>"e53a>>>>>>>>>*"v6" cla0*pty tert"> 3150   tp_"ss=ulass="line" 262bue"me1526d_unea>et9soc.c#L271" id26d_u>2625l9ne" n95o1.56un_filtert_socpo,
2621"9ine" 98->         skbna>
->         6kb_recp_datagramoc#L271"devet/pacb_recp_datagram21"idsrefclass="sref Loc#L271"devet/packetrh srefclass="sreffnW#L273"7flagameassfnW#L79eth srefclass="sreffnW#L273"7flagameassfnW#L79et-=_nfi e8 hrefi815"230MSG_DONTWAITna>
.=lt. rerefers*bnet/packetffENXIOa>. 9      union {
26 r+>262t_9ocpo<98"2300un_filtert_socpo,
262="9ine" 98"e53a>>>>>>>>>* Sty tert"> 3150   tp_"ss=ulass="line" 2624ue"me1526300"> 3159L242_3ketyine"26300>262fi92eagttv_>"e53a>>>>>>>>>*">po-*o-An =>por0occurred so r    y-it. Because acb_recp_datagram()ty tert"> 3150   tp_"ss=ulass="line" 2625ue"me15260"> 31, 09        un260">>262159"e53a>>>>>>>>>*">po-*o-handles the bnt_sing we don't see and worry abf_p bnt_singty tert"> 3150   tp_"ss=ulass="line" 2626ue"me1526hcketSOCK9ik262-&9tragttv_>"e53a>>>>>>>>>*">po-*o-r  ries.ty tert"> 3150   tp_"ss=ulass="line" 26d7ue"me1526273"8id="982ame15/af_pek26273>262"l9neagttv_>"e53a>>>>>>>>>*">po-*pty tert"> 3150   tp_"ss=ulass="line" 2628ue"me1526lent_soc#9271"8id="L83hr26len>262if9ndexa98t.c#L54" itef="+n/dkstruct26d9ue"me1526         9/dkstruct1t26   >262  8ifind8xass    e8 hrefi815"230_sbna>
.263_ 8ifind8xassssssssss          t/packet8af_pode=ruNULL*bnetf_p3140fENXIOa>.po->t26ass>263FL9SH_DC992300"> 8efpo-> 9ic79ket/a#oc2426 r+>2632 8ifind8xass    e8 hrefi815"2308k>_s refa>    3ref="pk>_s 21"idsrefclass="sref Loc#L271"devet/packetrf 3147 #L271" 2633ue"me1526380L242et9c#LU. Outplass26380>263aw9 clas99ef">po-eldo3ine8 hrefi815"230virtio_ hr_h roc#L271"devet/pvirtio_ hr_h r#L27M>->         v hr_h roc#L271"devet/pv hr_h r3140/afN 0 }fENXIOa>. 3159assmilass="lin26300>263fi92ersc993ketytk" class="sref">packnin2635ue"me15260"> 31, 09MPING_RAW_HARD260">>2631591592ag_g="+codesrefclass="sref7,
po-&26tas>263cl9ss=q196#Ltv6" cla0ine8 t. re.v hr_h rpo-&7net/p75t/pv hr_h rpo.263g)9G_ONrp97300"> 3147    e8 hrefi815"230o-&7net/p75t/po.v hr_h rpo-&7net/p75t/pv hr_h rpo. 3153<26len>2638a9hrefi9uersind8xassssssssss          t/packet8af_psfreeode=ruNULL*bnetf_psfreet/afEINVALe"sklun_filtert_socpo,
263  9ifENXIOa>.264_ 8ifind8xasssssssssse8 hrefi815"230o-&7net/p75t/po-&7net/p75t/pv hr_h rpo,
,
264FL9SH_DC992300"> 8efpo->2641.9#LSOF96="+nik"ne8h    e8 hrefi815"230_sb_is_gs1refa>    3ref="_sb_is_gs121"idsrefclass="sref Lbna>
 3147 #L271" 2643ue"me1526/>1527et.9#L354" itacket26/>1>264aw9 clas99ef">po->po-eldo3ine8 hrefi815"230_sb_shared_inf1refa>    3ref="_sb_shared_inf1refAM/harline" name15/inf1refa>    3ref="_inf1refAMaf>->         6kb_shinf1refa>    3ref="_sb_shinf1refAdsrefclass="sref Lbna>
. 3159packnin2645ue"me1526stp_vlan_9ci1571527et26stp>2641591592ag_g="+codessssssssegttv_>"e53a>>>>>>>>>* S This is c99 ninas    how much0should be i157ar.-*pty tert"> 3150   tp_"ss=ulass="line" 2646ue"me1526tassmit. 9un_filtert_soc26tas>264cl9ss=q196#Ltv6" cla0sssssssse8 hrefi815"230v hr_h roc#L271"devet/pv hr_h r3140t_hoo"c#L2k_offsh rpo-&7net/p75t/ph rpo->         6kb_heado-&7net/p75t/p6kb_heado
. 3147sssssssse8 hrefi815"230v hr_h roc#L271"devet/pv hr_h r3140t_hoo"c#L2k_offsgs1_eizeoc#L271"devet/pgs1_eize3140ami>->         6inf1refa>    3ref="_inf1refA.10/af_26len>2648a9hrefi9uersind8xassssssssss    e8 hrefi815"230_inf1refa>    3ref="_inf1refA.po-&26las>264  8ifind8xass="line"           sssssse8 hrefi815"230v hr_h roc#L271"devet/pv hr_h r3140t_hoo"c#L2k_offsgs1_typ"L87AMthrv"sref"gs1_typ"79et-mi>->         VIRTIO_NET_HDR_GSO_TCPV4L87AMthrv"sref"VIRTIO_NET_HDR_GSO_TCPV43140fENXIOa>.19/af_plent_so."26ng1>265_ 8ifind8xasssssssssssssssssselses    e8 hrefi815"230_inf1refa>    3ref="_inf1refA.-&_TCPV4L87AMthrv"sref"VIRTIO_NET_HDR_GSO_TCPV43140fENXIOa>.19/af_plent_so."26ng1>265_ 8ifind8xasssssUDls*bnetc_pscmsg28xasssssUDl"230_inf1refa>    3ref="_inf1refA..19/af_plent_so."26ng1>265_ 8ifind8xasssssFCOe8verslenne26_7u8xasssssFCOe"230_inf1refa>    3ref="_inf1refA-&7net/p75t/pv hr_h rpo.25515915_TCPV4L87AMtf="+nik"ne8verslenne2638ue"me1526leneph rpo255cl9ss=6196#L65-&7net/p75t/p6kb_heado-&7net/p75t>
.10/af_26len>2648a9hrefi9uersi_ECe" cun_filtert_shrefi9uersi_ECe"230_inf1refa>    3ref="_inf1refA.po 3159asmi96of="+nik"ne8veECe" cun_filtert_ssmi96of="+nik"ne8veECea href="+nik"ne8verslenne2638ue"me1526lenref Lbna>
6a hrco7men_kb#L27ffENXIOa6.por_repor>21"idsrefclass="sref Loc#L276*bnet_/pac6et/af>->         SKB_E6T_ERR669et-=_nfi e8 hrefi815"230SKB_cketSOCK92hrefi7SKB_GSO_TCPVc3140fENXIOa>.
 eeketrf,-=_nfiine8 t. 6e66a>    3ref="_sb_is_gs"line" 2628ue"me1526lent_soc#9271"8id="L83hr" 26_3ue"me1526_e150 p_summe" name15/Lbna>
< p_summe"83hr26len>262if9ndexa98CHECKSUM_PAi96 class="sref">pacCHECKSUM_PAi96 css    e8 hrefi815"2308k>_s refa>    3ref="pdroptee 316d=_nfi eeketrffENXIOa6.
.26checksum_sta"n_offsghls*bnetco_re>26checksum_sta"n_offsghhrefi815"230v hr_h roc#L271"devet/pv hr_h r3140t_hoo"c#L2k_offsh rpo-&7net/p75tARD25stp>2661591592ag_ef="+code=d6opt=l66a>>>>>>>>>* S This is c99 ninas    how much0should be i157ar.-*pty tert"> 3150   tp_"ss=ulacsum_offsghls*bnetco_rcsum_offsght. 9un_filtert_soc26tas>2nt_soc#9271"8id="L83hr" 26_3ue"me1526_e150csum_offsghls*bnetco_rcsum_offsght. 90t_hoo"c#L2k_offsh rpo-&7net/p75tAph rpo
< p_summe"83hr26len>262if9ndexa98CHECKSUM_UNNECESSARYlass="sref">pacCHECKSUM_UNNECESSARYss    e8 hrefi815"2308k>_s refa>    3ref="pd
-&7net/p75tA+code=drop"+code=dropt_s_=>por_queo6 31id669et-=_nfi e8 hrefi815}e1526300"> 31591527et26stp5">p>256  6ifind8xassef="+code=dropt6Loc#L67  9tp_versik_typ 26   >261  8ifagttv_>"e5h8ef="+cod6=dropt_s_=>por_queoe 31id6_nfi<6a> 6k_=>por_queoeketrf)M!faef="+code=E273"7flagameassMSG_ERRQUEUE3140ffNULLk->         6kb_copy_datagram_iovecack154mils*bnet6kb_copy_datagram(void *)ass="sreffnW#L273"7f7SKB_GSO_TCPVc3140fENXIOa>.
-&7net/p75tetrpor_queo6 31id6_nfi 6k_=>por_queo_iov#L27h srefclass="srefcopiedna>
por_re6or> 367t/packetrf.por_queo6 31id6_nfi 6k_=>por_queoeketrt_hoo"c#L2k_of6snt_smutex6821" clasnt_sketrffENXIOa6. 96154odeTPe.25_ig>250-&9trENXIOa>.6lenne25g7u6"me152507300"> /9f_pekbke6. re<67-Now i0 will r    y-ENETDOWN,.   deviceIfecp_dackeess 8idgth field)is cp_rersc9be filled)in,)ty fillev"> 96154odeTPe.25_ig>250-&9trENXIOa>.6l+code=drop nam95cket/af_preturn10/k6ree_s679" agttv_>"e53a>>>>>>>>>*tv6" cla0*o9r_queo_twe cnowabf_p bnt_singty tert"> 3150   tp_"ss=ulhref="+nik6ne8verslenne25g9ue"me15256>pack6et9etS6hck>262-&9tragttv_>"e53a>>>>>>>>>*">po-*o-r  ries.ty tert"> 3150,
s="=lt. re6efers*bnet/packetfENXIOa>62591p9cketP95a>.eldoaL271"devet/pv hraref="+nik"ne8verslene8verslenne2594ueme1525">packhhw9ltert_socpop>259,rse6L27125" c>258e79et}ENXIOa6.>>>>>>>>* S Wha0 =>por0sho5300"> 3159na        25300>251fi92ersc993ketytk" class="sref">packnin2505ue"me1525# re" na<9a>        unio25# r>2511591592ag_          " class="68  refa>    3ref="6o<98"2300u6_filtert_socpo,
->         6kb_copy_datagram_ioveca>,
<8verslenne2637ue"mveca>,
<8ve1525EUEn_filteo7mencopied#L27h srefclass="sreo,
-&7net/p75t31525">p>268fi92eagttv_>"e53a>>>>>>>6>*"*o68slenne25g4ue">por_repor>21"idsrefclass="sref Loc#L276ine" 2585u6"me1525stp_vlan_9528300">63158<68e=runers*bnet/packet/afers"+c1pac-ck/packet/af>->         6kb_copy_datagram_ioveca>,
<8verslenne2637ue"mveca>,
<8ve1525EUEa h8ef="+code=dne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hass=q196#Ltv6" cla0sll_hass=1525E+ rpo-&7net/p7ffsgho=dropt_soc#L271"7ffsgho=hrefio7mencopied#L27h srefclass="sref=lt. rerefers*bnet/packetfENXIOt9ev 31456L300">25ll_ackeq196#Ltv6" cla0sll_acke="9as0t_hoo"c#L2k_offsh rpo-&7net/p75t3nt_smutex6 tp_"ss=ulass="line" 25866e"me1625" nameBUG9+0"> 3153 25" n>258-&9tra6ttv_>"e53a6>>>>>>>>*"*pty tert"> 3156 688="+nik"ne8verslenne25_6ue"me1525_igdev"> 96154odeTPe.25_ig>250-&9trENXIOa>.6rco7menioc6 8if,-eldo3ine8 hrefi815"630 8 689" agttv_>"e53a>>>>>>>>>*tv6" cla0*o9r_queoYou los/a> y>>* S9beyondecp_dauffer you gave.eIfet   hand sorev"> 96154odeTPe.25_ig>250-&9trENXIOa>.61id=_nfi  ize_>#L27M>->      6  o262-&9tragttv_>"e53a>>>>>>>>>>>>>=ulaforgty tecp_y   tpaskecp_d150foret s MTUa> ywayabf_p bnt_singty tert"> 3150   tp_"ss=ulnW#L273"7f6agameassfnW#L79etfENXIOa>6>>>>>>>>*">po-*o-r  ries.ty tert"> 3150-> 6     69co7menMSG_DONTWAIT79et,-=_nfiine8 t. re2591.9#LS6F96="+eldo3ine8 hrefi815"630_k_6uffack154mils*3ue"me1526_e150c1525lent_soc#9ci15710/af_25len>254if9ndexa98t.c#L54" itef="+n/dkstruct25g9ue"me1525lastef="+9eref">po-&25las>254  8ifind8xassef="+code=droptcopi625me1>259=69ine" 98
19/af_plent_so."25ng16refi9uerse6do3ine8 hrefi815"230 8  a6 r_ll69f="+nik"ne8verslenne2634ue"me1526300_TRUNC273"7flagameassMSG_TRUNC3140fENXIOa>.   tp_ve25stp>259169169e=runers*bnet/packet/afers"+c1pac-ck/packet/af>->         6kb_copy_datagram_ioveca0"> 3147 #L271" 2551ue"me1525 314"code9run_filtert_so25 31>255e79et_so9po,
.msgerefmsghls*bnetmsgke6et/p75t/pv6hr_h rpo256hw9assmi96o1.srefclass="s6ef7262"l9neagttv_>"e55"230MSG_C6SG_COMPATna>
 6k_=>por_queoeketrt_27et.9ss="line" name25/>1>255="9ine" 98. 3159ket.).c#L271"725300>255->         6kb_copy_datagram_iovecack154mils*bnet6kb_copy_datagram_iovec21"526300_TRUNC273"7flagameassMSG_TRUNC3s0t_hoo"c#L2k_offsh rpo-&7net/p757ne2599ue"m71525deraw 3148ne" name15573025d706kbna>
 6k_=>por_queoeketrfhr_h rpo-&7net/p75t/pv hr_h rpo.2605l9ne" n95o1.56u7_filt70co7menMSG_DONTWAIT79et,-=_nfiine8 t. re<79"7sref">p7cket26_22>260a>9255"l9ne" s_and_drop3147 #L271" >255"l9ne" s_and_drop3hrefi815"230v hr_h r/packet/af>->         v9354" id="L354"25=q1>255in9" nam95cket/af_preturn10/a8   recp_timestampna>
    3ref="_sb_shinf1refAdsrefclass="7me1526_>pa7khhw9ltert_socpop>760->         6kb_copy_datagram_ioveca>,
,
.pa7k50   tp_ve25stp>25917ef="+70e=runers*bnet/packet/afers"+c1pac-ck/emcpye8verslenne2554memcpyhrefi815"230v hr_h r/packet/af>->         6kb_copy_datagram_ioveca>,
,
2591p9cketP95a>.eldoaL271"devet/pv hraref=iocb 8ifi/harline" name15iocbna>
   tp_ve76_tp>260159->         6kb_copy_datagram_ioveca>,
<8verslenne2637ue"mveca>,
<8ve1525o7men_8   recp_timestamp21"idsrefclas7e8   tp_ve76w9assmi96o1.srefclass="s7sfnW#70="982ame15/af_pek26273>262"l9neagttv_>"e7="sref Loc7L271"devet/packetrh srefc7ass="70tp_"ss=ulass="line" 2628ue"me1526ass="line9f">po->t26ass>263FL9SH_DC992300"> 8efpo-> 8efpo->aux300"255bue"me1525ng15719/af_plent_so."25ng17ne26_9ue"m71526_eraw 3148ne" name15573026_71   VIRTIO_NET_HDR_GSOo7mencopied#L27h srefctt_so."_aux300"> 8efpo->tt_so."_aux300"  VIR2ue"me1526 r++ 8efpo->auxa href="+nik"ne8verslenne2638ue"me1526le7e=ruNULL*b7etf_p3140fENXIOa>. 31, 09  7     un2607>>261g 8ifind8xass}ENXIOa7. eeketrt_2ue"me1526 r++ 8efpo->auxa hr"+nik"ne8verslentp_statu3147 #L271" tp_statu35/>1>255="9ine" 98257e79TP_STATUS_USEea href="+nik"ne8verslenne2638ue"me1526le7e"7sref">p7>->    3ref="_sb_is_gs"line" 2628ue"me1526lent_soc#9271"8id="L83hr" 26_3ue"me1526_e150 p_summe" name15/Lbna>
< p_summe"83hr26len>262if9ndexa98CHECKSUM_PAi96 class="sref">pacCHECKSUM_PAi96 css   f="+nik"ne8verslenne2638ue"me1526le7ef="pk>_s 7cagttv_>"e53a>>>>>>>>>*">7o71t/packetrf #L271" tp_statu35/>1>314"code9run_filteTP_STATUS_CSUMNOTREADYlass="sref">pacTP_STATUS_CSUMNOTREADYa href="+nik"ne8verslenne2638ue"me1526le7ee1526_>pa7agttv_>"e53a>>>>>>>>>*">p7-71f="+nik"ne8verslenne2634ue"me1526300aux> 8efpo->auxa hr"+nik"ne8verslentp_8verslenne2637ue"mtp_8ve5/>1>255="9ine" 982591p9cketP95a>.eldorig8verslenne2637ue"morig8vea href="+nik"ne8verslenne2638ue"me1526le7e61526_>pa7re" na<9a>        unio26#7r>26171e=runers*bnet/packet/afers"+c1pac-ckaux> 8efpo->auxa hr"+nik"ne8verslentp_snap8verslenne2637ue"mtp_snap8vef_25len>254if9ndexa98t.c#L54" itef="+n/dkstruct25g9ue"me1525lastef="+9eref">po-&25las>254  8ifind8xassef="+code=droptcopi7a>   tp_"s7=ulass="line" 2606ue"me1576hcke71-&7net/p75t/p6kb_headafers"+c1pac-ckaux> 8efpo->auxa hr"+nik"ne8verslentp_mane8verslenne2554tp_manf_25len.261"l9n7agttv_>"e53a>>>>>>>>>*">p7-719et-=_nfi e8 hrefi815"230MSG_ERRQUEUaux> 8efpo->auxa hr"+nik"ne8verslentp_nghls*bnetco_rtp_ngh5/>1>255="9ine" 98_re>26nghwork_offsghhrefi815"230v hr_h roc#L271"devet/pv hr_h r314261719et-=_nfi e8 hrefi815"line" 2628ue"me152vlan_tx_tag_presv_>"271"devet/pv hvlan_tx_tag_presv_>hrefi815"230v hr_h roc#L271"devet/pv hr_h r314ue"me1525ng15719/af_plent_so."25ng17>   tp_"ss7ulass="line" 2609ue"me1527     72   VIRTIO_NET_HDR_GSO_TCPV4L8"230MSG_ERRQUEUaux> 8efpo->auxa hr"+nik"ne8verslentp_vlan_tcils*bnetco_rtp_vlan_tci5/>1>255="9ine" 98_rvlan_tx_tag_gghhrefi815"230v hr_h roc#L271"devet/pv hr_h r314>>>>>>>7*"v6" cla0*pty tert"> 3157 729et-=_nfi e8 hrefi815"230SKB_cketSOCK92hrefiaux> 8efpo->auxa hr"+nik"ne8verslentp_statu3147 #L271" tp_statu35/>1>314"code9run_filteTP_STATUS_VLAN_VALID8verslenne26_7uTP_STATUS_VLAN_VALID5las>254  8ifind8xassef="+code=droptcopi7t-=_nfi e87hrefi815"230MSG_DONTWAITn7>
 eeketrt_}87AMth"me1525ng15719/af_plent_so."25ng17>"7sref">p7efers*bnet/packetffENXIOa7.    3ref="_sb_is_gs121"idsr"230MSG_ERRQUEUaux> 8efpo->auxa hr"+nik"ne8verslentp_vlan_tcils*bnetco_rtp_vlan_tci5/>1>25.,
262fi927agttv_>"e53a>>>>>>>>>*">p7-72f="+nik"ne8verslenne2634ue"me1526300aux> 8efpo->auxa hr"+nik"ne8verslentp_paddinacket/af>->  tp_paddina5/>1>25.pa7tv_>"e53a>>>>>>>>>*">po-*o<72e=runers*bnet/packet/afers"+c1pac-ckdsrefclass="sref Lbna>
.2561"9ine" 98->         c_pscAUXDATAverslenne2594ue1"idsreAUXDATAe" 98,
 8efpo->auxa hr1525MESTAMPIN9_SYS_HARDaux> 8efpo->auxa hr1   tp_"s72626ue"me1526hcketSOCK9ik7a 8"t72er"at head */xass="line"           t/packet8af_po7>   tp_"ss7ulass="line" 26d7ue"me1527273"87d="982ame15/af_pek26273>262"l9neagttv_>"e73a>>>>>>>>7*">po-*pty tert"> 3157 7 tp_"ss=ulass=rslenne25_6ue"me1525_igdev"> 96154odeTPe.25_ig>250-&9trENXIOa>.71t26   >267  8ifind8xass    e8 hrefi715"2373t9etS6hck>262-&9tragttv_>"e53a>>>>>>>>>>>>>Free orSty tertcp_dauffer as appropriate. Agae ctviine" 2613ue"me1526380L242et9c154>>>>>>>>>>>>hidss=ulascp_dall sortsty tert"> 315issu so53a>>u abf_p bnt_singty tert"> 3150   tp_"ss=u7et8af_pode7ruNULL*bnetf_p3140fENXIOa7.>>>>>>>>*">po-*o-r  ries.ty tert"> 3150_s 21"id7refclass="sref Loc#L271"d7vet/p73ffack154mils*3ue"me1526_e15027et.9ss="line" name25/>1>255="9ine" 98255e79et_so9po,
254if9ndexa98t.c#L54" itef="+n/dkstruct25g9ue"me1525lastef="+9eref">po-&25las :m_iovec21"526300_TRUNC273"7flagameassMSG_TRUNC3s0t_hoo"c#L2k_offsh rpo-&7net/p757i815"230vi7tio_ hr_h roc#L271"devet/7virti7_ hr_h r#L27M>->         v hr_h roc#L271"devet/pv7hr_h r3140/afN 0 }fENXIOa7.,
263FL9SH_DC992300"> 8efpo->
.7 hr_h rpo-&7net/p75t/7v hr_73f="+nik"ne8verslenne25gr_h rpo
.-&7net7p75t/7op>257  9if     t/packet8af_pode=ruNULL*bnetf_p3140:" n95o1.56un_filtert_socp7t_soc#9" c7a0"> 3153<26len>2638a9hre7i9uer7ind8xaxass="line"           t/packet8af_po7eeode=ruNU7L*bnetf_psfreet/afEINVALe7sklun74  9tp_versik_typ 26   >261  8ifagttv_>"e7xassssssss7se8 hrefi815"230o-&7n7t/p757/po_so,
_so215"230po_recpmsgerefmsghls*bnetco_recpmsg3140deldo3ine8 hrefi815"230kiocbna>

,
 #L271" 2608ue"eeass   f="+nik"ne8verslenne2638ue"me1526le76="+nik"ne7h    e8 hrefi815"230_sb_i7_gs1r7fa>   "me1525ng15719/af_plent_so."25ng173ref="_inf7refAMaf>->         6kb7shinf74iedna>
 #L271" 2608ueket/150 #L271" 2608ue150LL*bnetf_p3140:" n95o1.56un_filtert_socp7ref Lbna>
7a hrco7men_kb#L27ffENXIOa7.,25e=r>259_ 8ifNULLk 3147 #L271" 2591ue"me1525cp527et.c9L354" iARCH_IM25cp5>2591p9cketP95a>.eldo3ine8 hrefi815"230_8  refa>    3ref="8c.c#L27M/harline" na7>2641597592ag_g="+codessssssssegt7v_>"e74nfi 6k_=>por_queoeketrt_hoo"c#L2k_of7/ph rpo->         6kb_h7ado #L271" 2608ue"eeass   f="+nik"ne8verslenne2638ue"me1526le76   tp_"ss70ami>->         6inf1r7fa>  7 3ref="_inf1refA,
    3ref="8c.c#L27M/harline" na7>_soc#9" c7tgs1_typ"L87AMthrv"sref"g71_typ74nd8xassssssssss          t/packet8af_psf7p"L87AMthr7"sref"gs1_typ"79et-mi>-&g7;    7    VIRTIO_NETldo3ine8 hrefi8u="sr30kiocbna>
    3ref="8c.c#L27M/harline" na7"+code=dro7tgs1_typ"L87AMthrv"sref"g71_typ75tp_"ss=ulass="line" 262bue"mrcu_read_l27et.c9L354" iARCHrcu_read_l27eass>2o7men_8   recp_timestamp21"idsrefclas7p&7net/p757code=droptmsg_fnW#L273"7f7agame7ssmsg_fnW#L79eldo3ine8 hrefi8150> #L271" 2608ue150LL*b1" 2591ue"me1525cp1500ggh_by_>260=_rcu> #L271" 2608ue1500ggh_by_>260=_rcuass>263FL9SH_DC992300255"nghls*bnetco_r0255"nghass>263FL9SH_DC992300"> 8efpo-> 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150 id=9L271" classsta26_e1>260="9ino7men_8   recp_timestamp21"idsrefclas7p="+nik"ne7F96="+nik"ne8hsrefclass="7refco75"e53a>>>>>>>>>* S Wha0 =>por0sho150> #L271" 2608ue150LL*b f="+nik"ne8verslenne2638ue"me1526le7pref="_inf7/po. 3150 3150
 8efpo->oa_300"a hdaf_preturn10/a8  150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld>,
,

7rpor_repor>21"idsrefclass="sref Loc#L277e8verslenn72555ue"me1525stp_vlan_9sr775et/7aaOIN25stp>25515915b#L27ffENXIOa>._r 3150
 8efpo->oa_300"a hdaf0cl14o7men_8   recp_timestamp21"idsrefclas7pph rpo255cl9ss=7196#L75er"at head */2o7men_8   recp_timestamp21"idsrefclas7p   tp_"ss7enf_psfree_skb3140fENXIOa7.

7a hrco7men_kb#L27ffENXIOa7.->         SKB_E7T_ERR769et-=xass="line"           t/packet8af_po7r&7net/p757na>
 eeketrf,-=_nfiine8 t. 7e76a>   s=ulass="line" 2587ue"me152507300ggha>,
ass>215"230po_recpmsgerefmsghls*bnetco_recpmsg3140deldo3ine8 hrefi815"230kiocbna>

 eeketrffENXIOa7. #L271" 2608ue"eeass   f="+nik"ne8verslenne2638ue"me1526le7ref Lbna>
7roptmsg_fnW#L273"7flagame7ssmsg76f="+n"me1525ng15719/af_plent_so."25ng17ARD25stp>2761591592ag_ef="+code=d7opt=l76a>>>>>>>>>* So7mencopied#L27h srefcket/150 #L271" 2608ueket/150 #L271" 2608ue150LL*bnetf_p3140:" n95o1.56un_filtert_socp7Aph rpo,25e=r>259_ 8ifNULLk 3147 #L271" 2591ue"me1525cp527et.c9L354" iARCH_IM25cp5>2591p9cketP95a>.eldo3ine8 hrefi815"230_8  refa>    3ref="8c.c#L27M/harline" na7d
259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" na7d_soc#9" c7"+code=dropt_s_=>por_queo7 31id76nfi 6k_=>por_queoeketrt_DECLARE_159257e79DECLARE_159215"230po_recpmsgerefms="sref=lt. rerefers*bnet/packetfENXIO *t9ev 31456L300">25lllt. rerefers*bnefENXIOt9ev 31456L300">2u="sr30kiocbna>
p>256  7ifind8xassef="+code=dropt7Loc#L77  9tp_versik_typ 26   >261  8ifagttv_>"e7h8ef="+cod7=dropt_s_=>por_queoe 31id7_nfi<7a> 6k_=>por_qurslenne26_6ue"me1522eea> #L271" 2608ue"eeass   f="+nik"ne8verslenne2638ue"me1526le7por_queo7 31id7_nfi    3ref="8c.c#L27M/harline" na7eroptee 317f="+code=dropt_s_=>por_re7or> 377t/packetrf25lllt. rerefers*bnefENXIO>2591p9cketP95a>.eldoll_familye8verslenne2554oll_family#L271" 2591ue"me1525cpAF.c#9354" id  oe" n2515AF.c#9354_8  refa>    3ref="8c.c#L27M/harline" na7"devet/pac7etrffENXIOa>.25lllt. rerefers*bnefENXIO>2591p9cketP95a>.eldoll_ id=9L271" classsta26_oll_ id=9L226/>1>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150 id=9L271" classsta26_e1>260="9inrefa>    3ref="8c.c#L27M/harline" na7"RD25stp>27"+code=dropt_s_=>por_queo7 31id77e=runers*bnet5="9ine" 982591p9cketP95a>.eldoll_orget ab71" classsta26_oll_orget ab26/>1>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150nutert_socpo,
nut"9inrefa>    3ref="8c.c#L27M/harline" na7"ph rpo2591p9cketP95a>.eldoll_okttytk" class="sref">oll_okttytk26/>1>2. /9f_pekbke7. re<778r"at head */2o7men_8   recp_timestamp21"idsrefclas7l+code=dro7 nam95cket/af_preturn10/k7ree_s77nfi 6k_=>por_queoeketrt_150> #L271" 2608ue150LL*b1" 2591ue"me1525cp1500ggh_by_>260=_rcu> #L271" 2608ue1500ggh_by_>260=_rcuass>263FL9SH_DC992300255"nghls*bnetco_r0255"nghass>263FL9SH_DC992300"> 8efpo->" 26_3ue"me1526_e150 id=9L271" classsta26_e1>260="9ino7men_8   recp_timestamp21"idsrefclas7href="+nik7ne8verslenne25g9ue"me15257>pack786kbna>
 #L271" 2608ue150LL*b h"me1525ng15719/af_plent_so."25ng17,
 6k_=>por_queoeketrf)M!faef="+code=ne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hatytk" class="sref">oll_hatytkLL*b1" 2591ue"me1525cp150> #L271" 2608ue150LL*b>2591p9cketP95a>.eldtytk" class="sref">packnin27men_8   recp_timestamp21"idsrefclas7ha hrco7me7efers*bnet/packetfENXIOa>7 eeketrt_)M!faef="+code=ne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hass=q196#Ltv6" cla0sll_hass=1525E" 2591ue"me1525cp150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld="sr="L87EINVAL*bnet/pa="sr="L8menk7men_8   recp_timestamp21"idsrefclas7htr258e79et}ENXIOa7.    3ref="_sb_is_gsb#L27ffENXIOa>.2591p9cketP95a>.eldoll_ackeq196#Ltv6" cla0sll_acke="9aaf_preturn10/a8  150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld1500ackeq196#Ltv6" cla01500acke="9aaf_preturn10/a8  150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld="sr="L87EINVAL*bnet/pa="sr="L8menko7men_8   recp_timestamp21"idsrefclas7hroptee 317_filtert_socpo,
19/af_plent_so."25ng1731525">p>278fi92eagttv_>"e53a>>>>>>>7>*"*o78f="+nik"ne8verslenne2634ue"me1526300ne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hatytk" class="sref">oll_hatytkLL*b1" 0;nne26526300"> 3159po-*o-r  ries.ty tert"> 315073158<78e=runers*bnet/packet/afers"+c1pac-ckne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hass=q196#Ltv6" cla0sll_hass=1525E" ."e53a7>>>>>>>>*"*pty tert"> 3157 788r"at head */2o7men_8   recp_timestamp21"idsrefclas7rco7menioc7 8if,-eldo3ine8 hrefi815"730 8 78nfi 6k_=>eldo3ine8 hrefi8u="sr="L87EINVAL*bnet/pau="sr="L8menkEUEldo3ine8 hrefi87ffsgho=dropt_soc#L271"7ffsgho=hrefio7mencopied#L27h srefclass="sref=lt. rerefers*bnet/packetfENXIOt9ev 31456L300">25ll_ackeq196#Ltv6" cla0sll_acke="9asE+ rpo-&7net/pne8verslenne2594ue"me1525>2591p9cketP95a>.eldoll_hass=q196#Ltv6" cla0sll_hass=15257men_8   recp_timestamp21"idsrefclas71id=_nfi  ize_>#L27M>->      7  o261  8ifagttv_>"e7nW#L273"7f7agameassfnW#L79etfENXIOa>7 6k_=>por_quode=dro.-> 7     79co7mexass="line"           t/packet8af_po7>2591.9#LS7F96="+eldo3ine8 hrefi815"730_k_79nfi    3ref="8c.c#L27M/harline" na725me1>259=79ine" 98 #L271" 2608ueket/150 #L271" 2608ue150LL*bico7mencopied#L27h srefc2507300mclis/a>,
_ri="9aiocb 8ifi/harline" name15iocbna>
_rwhatss   f="+nik"ne8verslenne2638ue"me1526le725stp_vlan7950   tp_ve25stp>259179179e=run"me1525ng15719/af_plent_so."25ng17et/p75t/pv7hr_h rpo_ri="9a>2591p9cketP95a>.eldtytk" class="sref">packnin2 h"me1525ng15719/af_plent_so."25ng17ns25073>257hw9assmi96o1.srefclass="s7ef7.eld1"idsreMR_MULTICAS4" id  oe" n25151"idsreMR_MULTICAS4r"atLbna>
.
_ri="9a>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525E!" 2591ue"me1525cp150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld="sr="L87EINVAL*bnet/pa="sr="L8menk f="+nik"ne8verslenne2638ue"me1526le8ne2599ue"m81525deraw 3148ne" name15583025d80   VIRTIO_NET_HDR_GSO_TCPV4L8ode=droptifindexo,
pac 6k_=>por_queoeketrf"line" 2628ue"me152whatls*bnetco_rwhatss  o_s refa>    38 name15513826_bu>2605l9ne" n95o1.56u8_filt80iltert_socpo,
p>257  9if     1500mn_ackq196#Ltv6" cla01500mn_ackhrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9ao7men_8   recp_timestamp21"idsrefclas89"7sref">p8cket26_22>260a>9por_repor>21"idsrefclass="sref Loc#L278ef="pk>_s 81"idsrefclass="sref Loc#L871"de80t/packetrfp>257  9if     1500mn_de8verslenne2594ue1500mn_de8hrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9ao7men_8   recp_timestamp21"idsrefclas895="pk>_s 81o3ine8 hrefi815"230 8  a860.eld1"idsreMR_PROMIS31>255e79et_so9p1"idsreMR_PROMIS3r"atLbna>
.   tp_ve86_tp>260159p>257  9if     1500sgh_orgmiscuitye8verslenne25541500sgh_orgmiscuityhrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152whatls*bnetco_rwhatss   7men_8   recp_timestamp21"idsrefclas898   tp_ve86w9assmi96o1.srefclass="s8sfnW#803ref="_inf1refA
.eld1"idsreMR_ALLMULTI1>255e79et_so9p1"idsreMR_ALLMULTIr"atLbna>
.p>257  9if     1500sgh_allmultils*bnetco_r1500sgh_allmultihrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152whatls*bnetco_rwhatss   7men_8   recp_timestamp21"idsrefclas8e=ruNULL*b8etf_p3140fENXIOa>. 6k_=>por_queoeketrfbreak7men_8   recp_timestamp21"idsrefclas8     un2608>>261g 8ifind8xass}ENXIOa8. caMthp9cketP95a>.eld1"idsreMR_UNICAS4" id  oe" n25151"idsreMR_UNICAS4r"atLbna>
.p8>->    3ref="_sb_is_gs"line" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525E!" 2591ue"me1525cp150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld="sr="L87EINVAL*bnet/pa="sr="L8menk f="+nik"ne8verslenne2638ue"me1526le8ef="pk>_s 8cagttv_>"e53a>>>>>>>>>*">8o81t/packetrfpacpa8agttv_>"e53a>>>>>>>>>*">p8-81f="+nik"ne8verslenne2"line" 2628ue"me152whatls*bnetco_rwhatss  o_s refa>    38e61526_>pa8re" na<9a>        unio26#8r>26181e=runers*bnet/packet/_HDR_GSOMth25">p>257  9if     1500un_ackq196#Ltv6" cla01500un_ackhrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9ao7men_8   recp_timestamp21"idsrefclas8a>   tp_"s8=ulass="line" 2606ue"me1586hcke81-&7net/p75t/p6kb_head>por_repor>21"idsrefclass="sref Loc#L278ck>261"l9n8agttv_>"e53a>>>>>>>>>*">p8-819et-=_nfi e8 hrefi815_HDR_GSOMth25">p>257  9if     1500un_de8verslenne2594ue1500un_de8hrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9ao7men_8   recp_timestamp21"idsrefclas8c"sref Loc8ketSOCK9   union {
261819et-=_nfi e8 hrefi815break7men_8   recp_timestamp21"idsrefclas8>   tp_"ss8ulass="line" 2609ue"me1528     82   VIRTIO_NETdefaultLbna>
.>>>>>>>8*"v6" cla0*pty tert"> 3158 829et-=_nfi e8 hrefi815break7men_8   recp_timestamp21"idsrefclas8>    un2608hrefi815"230MSG_DONTWAITn8>
 xass="line"           t/packet8af_po8>"7sref">p8efers*bnet/packetffENXIOa8.    3ref="_ode=dro.,
e1526_>pa8agttv_>"e53a>>>>>>>>>*">p8-82f="+nass="line"           t/packet8af_po8>61526_>pa8tv_>"e53a>>>>>>>>>*">po-*o<82e=runs=ulassvoid ne" 2587ue"me1525073001500mnlis/a>,
 #L271" 2608ueket/150 #L271" 2608ue150LL*bico7mencopied#L27h srefc2507300mclis/a>,
_ri="9ai2="line" 2587ue"me15whatls*bnetco_rwhatss   f="+nik"ne8verslenne2638ue"me1526le80>   tp_"s82626ue"me1526hcketSOCK9ik8a 8"t82er"at"me1525ng15719/af_plent_so."25ng18>   tp_"ss8ulass="line" 26d7ue"me1528273"8829et-=_nfi e8 fore( 140fENXIOa>._ri="9a140fENXIOa>._ri="9aEUEldo3ine8 hrefi8ils*bnetco_ri="9a>2591p9cketP95a>.eldnextls*bnetco_rnextnin2 h"me1525ng15719/af_plent_so."25ng183a>>>>>>>>8*">po-*pty tert"> 3158 829et-=_nfi e8 hrefi815"line" 2628ue"me152ils*bnetco_ri="9a>2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9in26len>262if9ndexa98150> #L271" 2608ue150LL*b>2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9inome1525ng15719/af_plent_so."25ng181t26   >268  8ifind8xass    e8 hrefi815"2383   VIRTIO_NET_HDR_GSO_TCPV4L8"230MSG_ERRQUEU25073001500mne8verslenne255425073001500mnhrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9aice" 2628ue"me152whatls*bnetco_rwhatss   7men_8   recp_timestamp21"idsrefclas8ne263bue"m81526id="L271"9classsnet/p8ck26i831id=_nfi xass="line"           t/packet8af_po8et8af_pode8ruNULL*bnetf_p3140fENXIOa8._s 21"id8refclass="sref Loc#L271"d8vet/p83nfi    3ref="8c.c#L27M/harline" na8i815"230vi8tio_ hr_h roc#L271"devet/8virti83iednas=ulass="line" 2587ue"me152507300mn_ackq196#Ltv6" cla02507300mn_ackhrefio7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo->19/af_plent_so."25ng181e1526_>pa8hr_h r3140/afN 0 }fENXIOa8.19/af_plent_so."25ng182631591892ag_g="+codesrefclass="s8ef7>>>>>>>>* So7mencopied#L27h srefc2507300527et.c9L354" iARCH2507300527ee=r>259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" na8t. re.8 hr_h rpo-&7net/p75t/8v hr_83-&7net/p75t/pslenne259bue"me1525e=r2507300mclis/a>,
_ri="9arefa>    3ref="8c.c#L27M/harline" na8t   tp_"ss88 hrefi815"230o-&7net8p75t/833ref="_inf1reslenne259bue"me1525e=rket/150 #L271" 2608ueket/150 #L271" 2608ue150LL*bnetf_p3140:" n95o1.56un_filtert_socp8t_soc#9" c8a0"> 3153<26len>2638a9hre8i9uer83tp_"ss=ulass=""line" 2587ue"me15t/packet8af_pode=ruNULL*bnetf_p3140:" n95o1.56un_filtert_socp8eeode=ruNU8L*bnetf_psfreet/afEINVALe8sklun84  9tp_versik_typ 26   >261  8ifagttv_>"e8xassssssss8se8 hrefi815"230o-&7n8t/p7584tp_"ss=ulass="line" 262bue"mrtnl_l27et.c9L354" iARCHrtnl_l27eH?"*perefa>    3ref="8c.c#L27M/harline" na8-&7net/p758/pv hr_h rpo1>25ptifindexo,
pac->         6kb8shinf84t/packetrf2150> #L271" 2608ue150LL*b1" 2591ue"me1525cp__1500ggh_by_>260=> #L271" 2608ue__1500ggh_by_>260=H?"*pty tert"> 3150_r0255"nghass>263FL9SH_DC992300"> 8efpo->    3ref="8c.c#L27M/harline" na8ref Lbna>
8a hrco7men_kb#L27ffENXIOa8.2150> #L271" 2608ue150LL*bome1525ng15719/af_plent_so."25ng18>2641598592ag_g="+codessssssssegt8v_>"e84e=runers*bnet/packet/hr_h rpo-&7net/pdona> #L271" 2608uedonaLL*bnetf_p3140:" n95o1.56un_filtert_socp8e. re.840ami>->         6kb_h8ado 3153 25" n>258-&9tra86   tp_"ss80ami>->         6inf1r8fa>  848r"at head */1>25ptifindexo,
pac_soc#9" c8tgs1_typ"L87AMthrv"sref"g81_typ84tp_"ss=ulass="line" 2628ue"me152mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ass=q196#Ltv6" cla0vr_ass=ss  o #L271" 2608ue150LL*b>2591p9cketP95a>.eld="sr="L87EINVAL*bnet/pa="sr="L8menk f="+nik"ne8verslenne2638ue"me1526le8p"L87AMthr8"sref"gs1_typ"79et-mi>-&g8;    85   VIRTIO_NET_HDR_GSOhr_h rpo-&7net/pdona> #L271" 2608uedonaLL*bnetf_p3140:" n95o1.56un_filtert_socp8"+code=dro8tgs1_typ"L87AMthrv"sref"g81_typ85e8verslenne261bue"me15260"> 31, 09  8p&7net/p758code=droptmsg_fnW#L273"7f8agame8ssmsg_fnW#L79eldo3ine8 hrefi827et.9ss="line" name25/>1>25ptifindexo,
pac_ri="9aEUEldo3ine8 hrefi8kmall27ls*bnetco_rkmall27hrefio_filteeldo3ine8 hrefi8ils*bnetco_ri="9aeaf_preturn10/a8  GFP_KERNEclass="sref">pacGFP_KERNEc"linerefa>    3ref="8c.c#L27M/harline" na8pref="_inf8/po._ri="9a26len>262if9ndexa98NULclass="sref">pacNULcmenk f="+nik"ne8verslenne2638ue"me1526le8pef Lbna>
8r-&7net/pdona> #L271" 2608uedonaLL*bnetf_p3140:" n95o1.56un_filtert_socp8"26415982555ue"me1525stp_vlan_9sr875et/85nfi 6k_=>por_queoeketrt_hoo"c#L2k_of8pph rpo255cl9ss=8196#L85er"at head */1>25.264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis/a>,
264aw9 clas99ef"m8verslenne2594uemENXIO>2591p9cketP95a>.eldnextls*bnetco_rnextnin2 h"me1525ng15719/af_plent_so."25ng18p_soc#9" c8efmsghls*bnetmsgketr,-har8ine" 859et-=_nfi e8 hrefi815"line" 2628ue"me152m8verslenne2594uemENXIO>2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9in26len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ id=9L271" classsta26_vr_ id=9L2"lin25MEST5MESTme1525ng15719/af_plent_so."25ng18ref Lbna>
8a hrco7men_kb#L27ffENXIOa8.2591p9cketP95a>.eldtytk" class="sref">packnin226len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_tytk" class="sref">vr_tytk"lin25MEST5MESTme1525ng15719/af_plent_so."25ng18r+code=dro8et/af>->         SKB_E8T_ERR869et-=_nfi e8 hrefi815"230e" 2628ue"me152m8verslenne2594uemENXIO>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525E6len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ass=q196#Ltv6" cla0vr_ass=ss  o19/af_plent_so."25ng18r&7net/p758na>
,
263FL9SH_DC99230m8verslenne2594uemENXIO>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9aaf_preturn10/a8  mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ackees_datagramoc#L271vr_ackees_="9aaf_preturn10/a8  m8verslenne2594uemENXIO>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525)E6le0 h"me1525ng15719/af_plent_so."25ng1831id=_nfi<8a> eeketrf,-=_nfiine8 t. 8e86a>    3ref="_sb_is_gs121"idsr"230MSG_ERRQUEUm8verslenne2594uemENXIO>2591p9cketP95a>.eldcou_>"271"devet/pv hcou_>NXIO++Tme1525ng15719/af_plent_so."25ng18rref="_inf8d=_nfi eeketrffENXIOa8. 3159po-*o-r  ries.ty tert"> 3150
8roptmsg_fnW#L273"7flagame8ssmsg86f="+nik"ne8verslenne222222222ldo3ine8 hrefi8kpv hr_h rpo._ri="9aerefa>    3ref="8c.c#L27M/harline" na8ARD25stp>2861591592ag_ef="+code=d8opt=l86e=runers*bnet/packet/_HDR_GSOhr_h rpo-&7net/pdona> #L271" 2608uedonaLL*bnetf_p3140:" n95o1.56un_filtert_socp8Aph rpo256hw8assmi863ref="_inf1rexass="line"           t/packet8af_po8d_soc#9" c8"+code=dropt_s_=>por_queo8 31id86nd8xassssssssss          t/packet8af_psf85">p>256  8ifind8xassef="+code=dropt8Loc#L87   VIRTIO_NETldo3ine8 hrefi8ils*bnetco_ri="9a>2591p9cketP95a>.eldtytk" class="sref">packnin21>264aw9 clas99ef"mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_tytk" class="sref">vr_tytk"linnetf_p3140:" n95o1.56un_filtert_socp8h8ef="+cod8=dropt_s_=>por_queoe 31id8_nfi<87tp_"ss=ulass="line" 262bue"mils*bnetco_ri="9a>2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9in26en>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ id=9L271" classsta26_vr_ id=9L2"linnetf_p3140:" n95o1.56un_filtert_socp8h&7net/p758_kb2cketf2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525Elen>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ass=q196#Ltv6" cla0vr_ass=ss  netf_p3140:" n95o1.56un_filtert_socp8h1id=_nfi<8"+code=dropt_s_=>por_queo8 31id87ffack154mils*3ue"me1526_e150_ri="9a>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9aaf_preturn10/a8  mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ackees_datagramoc#L271vr_ackees_="9aaf_preturn10/a8  ils*bnetco_ri="9a>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525erefa>    3ref="8c.c#L27M/harline" na8eroptee 318f="+code=dropt_s_=>por_re8or> 387t/packetrf2ils*bnetco_ri="9a>2591p9cketP95a>.eldcou_>"271"devet/pv hcou_>NXIOEle1refa>    3ref="8c.c#L27M/harline" na8eef Lbna>
8etrffENXIOa>.2ils*bnetco_ri="9a>2591p9cketP95a>.eldnextls*bnetco_rnextnin21>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis/a>,
    3ref="8c.c#L27M/harline" na8eRD25stp>28"+code=dropt_s_=>por_queo8 31id87e=runers*bnet5="9ine" 98" 26_3ue"me1526_e150mclis/a>,
_ri="9a1efa>    3ref="8c.c#L27M/harline" na8eph rpo1>255="9ine" 98 #L271" 2608ue150LL*bice" 2628ue"me152ils*bnetco_ri="9aic1erefa>    3ref="8c.c#L27M/harline" na8e
 /9f_pekbke8. re<878r"at head */"line" 2628ue"me15227et.9ss="line" name25/>1 h"me1525ng15719/af_plent_so."25ng18l+code=dro8 nam95cket/af_preturn10/k8ree_s879et-=_nfi e8 hrefi8155="9ine" 98" 26_3ue"me1526_e150mclis/a>,
_ri="9a>2591p9cketP95a>.eldnextls*bnetco_rnextnin2refa>    3ref="8c.c#L27M/harline" na8href="+nik8ne8verslenne25g9ue"me15258>pack88   VIRTIO_NET_HDR_GSOldo3ine8 hrefi8kpv hr_h rpo._ri="9aerefa>    3ref="8c.c#L27M/harline" na8,
 xass="line"           t/packet8af_po8ha hrco7me8efers*bnet/packetfENXIOa>8258e79et}ENXIOa8.   rpo-&7net/pdona> #L271" 2608uedonaLL*bLbna>
.,
2rtnl_unl27et.c9L354" iARCHrtnl_unl27ea hrnerefa>    3ref="8c.c#L27M/harline" na8
88fi92eagttv_>"e53a>>>>>>>8>*"*o88f="+nik"ne8veMth25">p>257  9if     t/packet8af_pode=ruNULL*bnetf_p3140:" n95o1.56un_filtert_socp8ine" 2585u8"me1525stp_vlan_9528300">83158<88e=runxass="line"           t/packet8af_po8hph rpo 3153 25" n>258-&9tra8ttv_>"e53a8>>>>>>>>*"*pty tert"> 3158 888r"ats=ulass="line" 2587ue"me152507300mn_dropq196#Ltv6" cla02507300mn_drophrefio7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo->19/af_plent_so."25ng18rco7menioc8 8if,-eldo3ine8 hrefi815"830 8 88nfi19/af_plent_so."25ng181id=_nfi  ize_>#L27M>->      8  o,
8 31, 09  8e15/Loc#L281"devet/packetr/af>-> 8     89smsg_fnW#L79eldo3ine8 hrefi8rtnl_l27et.c9L354" iARCHrtnl_l27eH?"*perefa>    3ref="8c.c#L27M/harline" na8>2591.9#LS8F96="+eldo3ine8 hrefi815"830_k_89nfi    3ref="8c.c#L27M/harline" na825me1>259=89ine" 98 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150mclis/a>,
2eldo3ine8 hrefi8m8pq196#Ltv6" cla0vlpLL*b)E!" 2591ue"me1525cpNULclass="sref">pacNULcmenk142591ue"me1525cpm8pq196#Ltv6" cla0vlpLL*bEUE5MESTAMPIN9_SYS_HARDm8verslenne2594uemENXIO>2591p9cketP95a>.eldnextls*bnetco_rnextnin2 h"me1525ng15719/af_plent_so."25ng18refi9uerse8do3ine8 hrefi815"230 8  a8 r_ll89f="+nik"ne8verslenne2"line" 2628ue"me152m8verslenne2594uemENXIO>2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9in26len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ id=9L271" classsta26_vr_ id=9L2"lin25MEST5MESTme1525ng15719/af_plent_so."25ng1825stp_vlan8950   tp_ve25stp>259189189e=runers*bnet/packet/_HDRe" 2628ue"me152m8verslenne2594uemENXIO>2591p9cketP95a>.eldtytk" class="sref">packnin226len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_tytk" class="sref">vr_tytk"lin25MEST5MESTme1525ng15719/af_plent_so."25ng18et/p75t/pv8hr_h rpo2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525E6len>262if9ndexa98mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ass=q196#Ltv6" cla0vr_ass=ss  o19/af_plent_so."25ng18ns25073>258hw9assmi96o1.srefclass="s8ef7263FL9SH_DC99230m8verslenne2594uemENXIO>2591p9cketP95a>.eldackeq196#Ltv6" cla0acke="9aaf_preturn10/a8  mreq71" classsta26_mreq"9in6kb_copy_datagram_iovr_ackees_datagramoc#L271vr_ackees_="9aaf_preturn10/a8  m8verslenne2594uemENXIO>2591p9cketP95a>.eldass=q196#Ltv6" cla0ass=1525)E6le0 h"me1525ng15719/af_plent_so."25ng185"230MSG_C8SG_COMPATna>
,
m8verslenne2594uemENXIO>2591p9cketP95a>.eldcou_>"271"devet/pv hcou_>NXIOE6le0 h"me1525ng15719/af_plent_so."25ng19ne2599ue"m91525deraw 3148ne" name15593025d90   VIRTIO_NET_HDR_GSO_TCPV4L888888888slenne259bue"me1525e=rket/150 #L271" 2608ueket/150 #L271" 2608ue150LL*bnetf_p3140:" n95o1.56un_filtert_socp9et8af_pode9ruNULL*bnetf_p3140fENXIOa9. 6k_=>por_queoeketrfffffffffffffffffeldo3ine8 hrefi8m8pq196#Ltv6" cla0vlpLL*b1>264aw9 clas99ef"m8verslenne2594uemENXIO>2591p9cketP95a>.eldnextls*bnetco_rnextnin2netf_p3140:" n95o1.56un_filtert_socp9e28af_pode9r"devet/packetr/af>-> 9_filt90iltert_socpo,
 #L271" 2608ue150LL*b1" 2591ue"me1525cp__1500ggh_by_>260=> #L271" 2608ue__1500ggh_by_>260=H?"*pty tert"> 3150_r0255"nghass>263FL9SH_DC992300"> 8efpo->2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9inerefa>    3ref="8c.c#L27M/harline" na99"7sref">p9cket26_22>260a>9 #L271" 2608ue150LL*bome1525ng15719/af_plent_so."25ng19ef="pk>_s 91"idsrefclass="sref Loc#L971"de90t/packetrf #L271" 2608ue150LL*bice" 2628ue"me152m8verslenne2594uemENXIOt9-1erefa>    3ref="8c.c#L27M/harline" na995="pk>_s 91o3ine8 hrefi815"230 8  a960.    3ref="8c.c#L27M/harline" na996="pk>_s 9150   tp_ve25stp>25919ef="+90e=runers*bnet/packet/_HDR_GSOxass="line"           t/packet8af_po9a>   tp_ve96_tp>260159    3ref="8c.c#L27M/harline" na998   tp_ve96w9assmi96o1.srefclass="s9sfnW#903ref="_inf1refA
.    3ref="8c.c#L27M/harline" na9     un2609>>261g 8ifind8xass}ENXIOa9. ode=droptifindexo,
pacp9>->   xass="line"           t/packet8af_po9nf="pk>_s 9cagttv_>"e53a>>>>>>>>>*">9o91t/pacass="line"           t/packet8af_po9n5="pk>_s 9agttv_>"e53a>>>>>>>>>*">p9-91f="+ns=ulassvoid ne" 2587ue"me152507300flush0mclis/a>,
 8efpo->19/af_plent_so."25ng19e61526_>pa9re" na<9a>        unio26#9r>26191e=run"me1525ng15719/af_plent_so."25ng19a>   tp_"s9=ulass="line" 2606ue"me1596hcke91-&7net/p75t/pslenne259bue"me1525e=r2507300527et.c9L354" iARCH2507300527ee=r>259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" na9ck>261"l9n9agttv_>"e53a>>>>>>>>>*">p9-913ref="_inf1reslenne259bue"me1525e=r2507300mclis/a>,
    3ref="8c.c#L27M/harline" na9c9   tp_ve9ketSOCK9   union {
26191nd8xassssssssss          t/packet8af_psf9>   tp_"ss9ulass="line" 2609ue"me1529     926kbna>
2uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis/a>,
19/af_plent_so."25ng193a>>>>>>>>9*"v6" cla0*pty tert"> 3159 929et-=_nfi e8 hrefi815ode=drrefa>    3ref="8c.c#L27M/harline" na9>    un2609hrefi815"230MSG_DONTWAITn9>
"7sref">p9efers*bnet/packetffENXIOa9.    3ref="8c.c#L27M/harline" na90un_filter9_socpo,
264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis/a>,
pacNULcmenk h"me1525ng15719/af_plent_so."25ng19>e1526_>pa9agttv_>"e53a>>>>>>>>>*">p9-92f="+nik"ne8verslenne2slenne259bue"me1525e=rket/150 #L271" 2608ueket/150 #L271" 2608ue150LL*bnetf_p3140:" n95o1.56un_filtert_socp9>61526_>pa9tv_>"e53a>>>>>>>>>*">po-*o<92nfi 6k_=>por_queoeketrt_hoo"c#L2k_of90>   tp_"s92626ue"me1526hcketSOCK9ik9a 8"t92-&7net/p75t/p6kb_head64aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis/a>,
264aw9 clas99ef"m8verslenne2594uemENXIO>2591p9cketP95a>.eldnextls*bnetco_rnextnin2netf_p3140:" n95o1.56un_filtert_socp9>   tp_"ss9ulass="line" 26d7ue"me1529273"8923ref="_inf1refA #L271" 2608ue150LL*b1" 2591ue"me1525cp__1500ggh_by_>260=> #L271" 2608ue__1500ggh_by_>260=H?"*pty tert"> 3150_r0255"nghass>263FL9SH_DC992300"> 8efpo->2591p9cketP95a>.eld id=9L271" classsta26_e1>260="9inerefa>    3ref="8c.c#L27M/harline" na93a>>>>>>>>9*">po-*pty tert"> 3159 929et-=_nfi e8 hrefi815"line" 2628ue"me152150> #L271" 2608ue150LL*b1!" 2591ue"me1525cpNULclass="sref">pacNULcmenk efa>    3ref="8c.c#L27M/harline" na91t26   >269  8ifind8xass    e8 hrefi915"2393   VIRTIO_NET_HDR_GSO_TCPV4L8"230MSG_ERRQUEU25073001500mne8verslenne255425073001500mnhrefi815"230v hr_h r150> #L271" 2608ue150LL*bice" 2628ue"me152m8verslenne2594uemENXIOt9-1erefa>    3ref="8c.c#L27M/harline" na9ne263bue"m91526id="L271"9classsnet/p9ck26i93> 6k_=>por_queoeketrf)M!faef="+code=kpv hr_h rpo.    3ref="8c.c#L27M/harline" na9et8af_pode9ruNULL*bnetf_p3140fENXIOa9. xass="line"           t/packet8af_po9k>_s 21"id9refclass="sref Loc#L271"d9vet/p93ffack154mils*3ue"me1526_e150rtnl_unl27et.c9L354" iARCHrtnl_unl27ea hrnerefa>    3ref="8c.c#L27M/harline" na9i815"230vi9tio_ hr_h roc#L271"devet/9virti93t/pacxass="line"           t/packet8af_po91e1526_>pa9hr_h r3140/afN 0 }fENXIOa9.1992ag_g="+codesrefclass="s9ef7   tp_"s9 hr_h rpo-&7net/p75t/9v hr_93-&7ne59bue"me1525e=r25073005et0255op/a>,
_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9ai2="line" 2587ue"me15leve8verslenne2594ueleve8="9ai2="line" 2587ue"me15op/et/pverslenne2594ueop/et/p="9ai2char 2591ue"me1525cp__usea> #L271" 2608ue__usea="9adeldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2unsigned2="line" 2587ue"me15op/ss=q196#Ltv6" cla0op/ss=menk efa>    3ref="8c.c#L27M/harline" na91   tp_"ss98 hrefi815"230o-&7net9p75t/933ref="me1525ng15719/af_plent_so."25ng19t_soc#9" c9a0"> 3153<26len>2638a9hre9i9uer93tp_"ss=ulass=o7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" na9eeode=ruNU9L*bnetf_psfreet/afEINVALe9sklun94   VIRTIO_NETslenne259bue"me1525e=r2507300527et.c9L354" iARCH2507300527ee=r>259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" na9xassssssss9se8 hrefi815"230o-&7n9t/p7594tp_"ss=ulass=="line" 2587ue"me15rghls*bnetco_rretnin2netf_p3140:" n95o1.56un_filtert_socp9-&7net/p759/pv hr_h rpo    3ref="8c.c#L27M/harline" na9e815"230vi9refAMaf>->         6kb9shinf94t/packetrfpa9a hrco7men_kb#L27ffENXIOa9.2641599592ag_g="+codessssssssegt9v_>"e94e=runers*bnetswitchmen_kb#L2719/af_plent_so."25ng19e. re.940ami>->         6kb_h9ado.eld1"idsreADD_MEMBERSHIPverslenne2594ue1"idsreADD_MEMBERSHIP&7neLbna>
.->         6inf1r9fa>  948r"at head */caMthp9cketP95a>.eld1"idsreDROP_MEMBERSHIPverslenne2594ue1"idsreDROP_MEMBERSHIP&7neLbna>
.19/af_plent_so."25ng19p"L87AMthr9"sref"gs1_typ"79et-mi>-&g9;    95   VIRTIO_NET_HDR_GSOo7mencopied#L27h srefc2507300mreq_ma271" classsta26_2507300mreq_ma2="9ade" 2628ue"me152mreq71" classsta26_mreq"9innetf_p3140:" n95o1.56un_filtert_socp9"+code=dro9tgs1_typ"L87AMthrv"sref"g91_typ95> 6k_=>por_queoeketrf""line" 2587ue"me15le=q196#Ltv6" cla0"L8menkEUEldo3ine8 hrefi87p/ss=q196#Ltv6" cla0op/ss=menknetf_p3140:" n95o1.56un_filtert_socp9"&7net/p759code=droptmsg_fnW#L273"7f9agame95iltert_socpo,
_rmemsghH?"*p5MESTAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in, 0, o_filteAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in)erefa>    3ref="8c.c#L27M/harline" na9"="+nik"ne9F96="+nik"ne8hsrefclass="9refco95a>    3ref="_sb_is_gs"line" 2628ue"me152le=q196#Ltv6" cla0"L8menkE< o_filteo7mencopied#L27h srefc2507300mreq71" classsta26_2507300mreq"9in)eefa>    3ref="8c.c#L27M/harline" na9"815"230vi9/po.pac
9r92555ue"me1525stp_vlan_9sr975et/95e=runers*bnet/packet/_HDR_GSOne" 2587ue"me15le=q196#Ltv6" cla0"L8menkEUEo_filteAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in)7men_8   recp_timestamp21"idsrefclas9p. re.9 classhcke25tas>255cl9ss=9196#L95-&7net/p75t/p6kb_head"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2ne" 2587ue"me15le=q196#Ltv6" cla0"L8menk)emen_8   recp_timestamp21"idsrefclas9p   tp_"ss9enf_psfree_skb3140fENXIOa9.
9a hrco7men_kb#L27ffENXIOa9.,
pac->         SKB_E9T_ERR969et-=_nfi e8 hrefi815"line" 2628ue"me152op/et/pverslenne2594ueop/et/p="9aE6len>262if9ndexa981"idsreADD_MEMBERSHIPverslenne2594ue1"idsreADD_MEMBERSHIP&7neemen_8   recp_timestamp21"idsrefclas9r&7net/p759na>
,
_rretnin2>255="9ine" 98 3150   tp_"ss=ulass="lin,E5MESTAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in)7men_8   recp_timestamp21"idsrefclas931id=_nfi<9a> eeketrf,-=_nfiine8 t. 9e96a>    3ref="_sb_is_gs>por_repor>21"idsrefclass="sref Loc#L279rref="_inf9d=_nfi eeketrffENXIOa9._rretnin2>255="9ine" 98 3150   tp_"ss=ulass="lin,E5MESTAMPIN9_SYS_HARDmreq71" classsta26_mreq"9in)7men_8   recp_timestamp21"idsrefclas93ef Lbna>
9roptmsg_fnW#L273"7flagame9ssmsg96f="+nik"ne8verslenne2Mth25">p>257  9if     rghls*bnetco_rretnin2netf_p3140:" n95o1.56un_filtert_socp9ARD25stp>2961591592ag_ef="+code=d9opt=l96e=runers*bnetxass="line"           t/packet8af_po9Aph rpo 3153 25" n>258-&9tra9d
.eld1"idsreRX_RINGverslenne2594ue1"idsreRX_RING&7neLbna>
.por_queo9 31id96tp_"ss=ulass=caMthp9cketP95a>.eld1"idsreTX_RINGverslenne2594ue1"idsreTX_RING&7neLbna>
.p>256  9ifind8xassef="+code=dropt9Loc#L97   VIRTIO_NET"me1525ng15719/af_plent_so."25ng19h8ef="+cod9=dropt_s_=>por_queoe 31id9_nfi<979et-=_nfi e8 hrefi815unio">p>257  9if     t2507300req_uverslenne2594uet2507300req_u="9ade" 2628ue"me152req_uverslenne2594uereq_u="9anetf_p3140:" n95o1.56un_filtert_socp9h&7net/p759_kb2cketfpor_queo9 31id97nfi    3ref="8c.c#L27M/harline" na9eroptee 319f="+code=dropt_s_=>por_re9or> 397t/packetrf19/af_plent_so."25ng19eef Lbna>
9etrffENXIOa>..eldT1"idsreV1verslenne2594ueT1"idsreV1&7neLbna>
.29"+code=dropt_s_=>por_queo9 31id97e=runers*bnet/packet/caMthp9cketP95a>.eldT1"idsreV2verslenne2594ueT1"idsreV2&7neLbna>
. /9f_pekbke9. re<973ref="_inf1refA.eldT1"idsreV3verslenne2594ueT1"idsreV3&7neLbna>
.pack98   VIRTIO_NET_HDR_GSOdefaultLbna>
.,
 6k_=>por_queoeketrfffffffffopy_datagram_iole=q196#Ltv6" cla0"L8menkEUEo_filteAMPIN9_SYS_HARDreq_uverslenne2594uereq_u="9a.AMPIN9_SYS_HARDreq3verslenne2594uereq3"9in)7men_8   recp_timestamp21"idsrefclas9ha hrco7me9efers*bnet/packetfENXIOa>9,
258e79et}ENXIOa9.    3ref="_sb_is_gsxass="line"           t/packet8af_po9hroptee 319_filtert_socpo,

98fi92eagttv_>"e53a>>>>>>>9>*"*o98f="+nik"ne8verslenne222222222ode=droptifindexo,
pac93158<98e=runers*bnet/packet/"line" 2628ue"me152uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150has_vket/hkeq196#Ltv6" cla0has_vket/hkemenk)ass="line"           t/packet8af_po9hph rpo,
pac>>>>>>>*"*pty tert"> 3159 983ref="_inf1refA #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDreq_uverslenne2594uereq_u="9a.AMPIN9_SYS_HARDreq71" classsta26_req"9in, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2ne" 2587ue"me15le=q196#Ltv6" cla0"L8menk)emen_8   recp_timestamp21"idsrefclas9rco7menioc9 8if,-eldo3ine8 hrefi815"930 8 989et-=_nfi e8 hrefi815rslenne2ode=droptifindexo,
  ize_>#L27M>->      9  op>257  9if     25073005et_ringt.c9L354" iARCH25073005et_ringhrefity tert"> 3150   tp_"ss=ulass="lin,E5MESTAMPIN9_SYS_HARDreq_uverslenne2594uereq_u="9a, 0,men_8   recp_timestamp21"idsrefclas91/a>,
9 6k_=>por_queoeketrfffffffffopy_datagram_ioop/et/pverslenne2594ueop/et/p="9aE6len>262if9ndexa981"idsreTX_RINGverslenne2594ue1"idsreTX_RING&7ne)7men_8   recp_timestamp21"idsrefclas9e15/Loc#L291"devet/packetr/af>-> 9     991id=_nfi xass="line"           t/packet8af_po9>2591.9#LS9F96="+eldo3ine8 hrefi815"930_k_99a>    3ref="_caMthp9cketP95a>.eld1"idsreCOPY_THRESHverslenne2594ue1"idsreCOPY_THRESH&7neLbna>
.259=99ine" 9819/af_plent_so."25ng19refi9uerse9do3ine8 hrefi815"230 8  a9 r_ll99f="+nik"ne8verslenne2""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefclas9ene" 2585u9950   tp_ve25stp>259199199nfi 6k_=>por_queoeketrt_hoo"c#L2k_of9et/p75t/pv9hr_h rpo259hw9assmi96o1.srefclass="s9ef7,
pac
 #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30ne2599ue"30ne25OMPATna>
30neet-=_nfi e8 hrefi815rslenne2ode=droptifindexo,
 99uef3/06/cae98923624ec1289d4af21547564e02e84a_3/30ne2>en_8   recp_timestamp21"idsrefcla30n12599ue"30ngameassfnW#L79etfENXIOa30nga>30ne8verslenne261bue"me15260"> 31, 09 30n22599ue"30n"devet/packetr/af>->30n"d>30niltert_socpo,
 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150copy_t"mesh> #L271" 2608uecopy_t"meshnin2>255="9ine" 9830n4id=_nfi xass="line"           t/packet8af_p30n52599ue"30no3ine8 hrefi815"230 8  30no3>30n5>    3ref="_caMthp9cketP95a>.eld1"idsreVERSIONverslenne2594ue1"idsreVERSION&7neLbna>
.<30n62599ue"30n50   tp_ve25stp>25930n50>30n6/packetrf19/af_plent_so."25ng30n72599ue"30nr_h rpo30n-&7net/p75t/p6kb_head""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30n82599ue"30nw9assmi96o1.srefclass="30nw9>30n88verslenne261bue"me15260"> 31, 09 30n92599ue"30nG_COMPATna>
30n9et-=_nfi e8 hrefi815"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE!UEo_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla301e2599ue"301526_eraw 3148ne" name1530152>3015et-=_nfi e8 hrefi815_HDRnne2ode=droptifindexo,
pac.3019et-=_nfi e8 hrefi815"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=_||d64aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=emen_8   recp_timestamp21"idsrefcla30122599ue"30>>261g 8ifind8xass}ENXIO30>>2>301iltert_socpo,
,
pac->-&>301a>    3ref="_sb_is_gs"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30142599ue"30cagttv_>"e53a>>>>>>>>>*"30cag>301t/packetrf"e53a>>>>>>>>>*">30agt>301f="+nik"ne8verslenne2switchmen_kb#L2719/af_plent_so."25ng30162599ue"30re" na<9a>        unio2630re">301e=runers*bnet/packet/caMthp9cketP95a>.eldT1"idsreV1verslenne2594ueT1"idsreV1&7neLbna>
.<30172599ue"30=ulass="line" 2606ue"me130=ul>301-&7net/p75t/p6kb_headcaMthp9cketP95a>.eldT1"idsreV2verslenne2594ueT1"idsreV2&7neLbna>
.<30182599ue"30agttv_>"e53a>>>>>>>>>*">30agt>3019et-=_nfi e8 hrefi815caMthp9cketP95a>.eldT1"idsreV3verslenne2594ueT1"idsreV3&7neLbna>
.<30192599ue"30ketSOCK9   union {
3019et-=_nfi e8 hrefi815rslenne2n_kb#L27" 26_3ue"me1526_e150tp_versio"verslenne2594uet2_versio"="9a>255="9ine" 9830ul/packetrf 3130*"v>30u9et-=_nfi e8 hrefi815defaultLbna>
.<30u22599ue"30hrefi815"230MSG_DONTWAIT30hre>30uiltert_socpo,
,
pac30ua>    3ref="_sb_is_gsxass="line"           t/packet8af_p30u42599ue"30_socpo,
30u4id=_nfi xass="line"           t/packet8af_p30252599ue"30agttv_>"e53a>>>>>>>>>*">30agt>30u5>    3ref="_caMthp9cketP95a>.eld1"idsreRESERVEverslenne2594ue1"idsreRESERVE&7neLbna>
.<30262599ue"30tv_>"e53a>>>>>>>>>*">po<30tv_>30u6/packetrf19/af_plent_so."25ng30272599ue"302626ue"me1526hcketSOCK9i30262>30u-&7net/p75t/p6kb_headunsigned2="line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30282599ue"30ulass="line" 26d7ue"me1530ula>30u88verslenne261bue"me15260"> 31, 09 30292599ue"30*">po-*pty tert"> 3130*">>30u9et-=_nfi e8 hrefi815"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE!UEo_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla303e2599ue"30  8ifind8xass    e8 href30  8>30  ltert_socpo,
,
pac30 9et-=_nfi e8 hrefi815"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=_||d64aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=emen_8   recp_timestamp21"idsrefcla30322599ue"30ruNULL*bnetf_p3140fENXIO30ruN>30 iltert_socpo,
,
pac30 a>    3ref="_sb_is_gs"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30342599ue"30tio_ hr_h roc#L271"devet30tio>30 t/packetrf30 f="+nik"ne8verslenne2n_kb#L27" 26_3ue"me1526_e150tp_reseavpverslenne2594uetp_reseavp="9a>255="9ine" 9830 e=runers*bnet/packet/ode=dro.-&7net/p75t30 hr>30 -&7net/p75t/pxass="line"           t/packet8af_p30382599ue"308 hrefi815"230o-&7ne308 h>30 8r"at head */caMthp9cketP95a>.eld1"idsreLOSSverslenne2594ue1"idsreLOSS&7neLbna>
.<30392599ue"30a0"> 3153<26len>2638a9hr30a0">30 tp_"ss=ulass="me1525ng15719/af_plent_so."25ng304e2599ue"30L*bnetf_psfreet/afEINVAL30L*b>30L*&7net/p75t/p6kb_headunsigned2="line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30412599ue"30se8 hrefi815"230o-&730se8>30Le8verslenne261bue"me15260"> 31, 09 30422599ue"30/pv hr_h rpo30Liltert_socpo,
30La>    3ref="_sb_is_gshrefi815ode=droptifindexo,
pac->         6k30ref>30Lt/packetrf" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=_||d64aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=emen_8   recp_timestamp21"idsrefcla30452599ue"30a hrco7men_kb#L27ffENXIO30a h>30Lf="+nik"ne8verslenne222222222ode=droptifindexo,
pac #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30472599ue"3040ami>->         6kb_3040a>30L-&7net/p75t/p6kb_headi815_HDRode=droptifindexo,
->         6inf1300am>30L3ref="_inf1refA" 26_3ue"me1526_e150tp_los_datagramoc#L271tp_los_="9a>25!!ev 31456L300">2va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30492599ue"30tgs1_typ"L87AMthrv"sref"30tgs>30L9et-=_nfi e8 hrefi815ode=dro.-&30"sr>30"s&7net/p75t/pxass="line"           t/packet8af_p30512599ue"30tgs1_typ"L87AMthrv"sref"30tgs>30"9et-=_nfi e8 caMthp9cketP95a>.eld1"idsreAUXDATAverslenne2594ue1"idsreAUXDATA&7neLbna>
.<30522599ue"30code=droptmsg_fnW#L273"730cod>30"iltert_socpo<"me1525ng15719/af_plent_so."25ng30532599ue"30F96="+nik"ne8hsrefclass=30F96>30"a>    3ref="_sb_is_gs""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30542599ue"30/po.30"t/pacass="line"           t/packet8af_p30"52599ue"30r30"e=runers*bnet/packet/_HDR_GSOode=droptifindexo,
pac255cl9ss30 cl>30"-&7net/p75t/p6kb_head"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30582599ue"30enf_psfree_skb3140fENXIO30enf>30"3ref="_inf1refA,
30"nd8xassssssssss          t/packet8af_ps306e2599ue"30a hrco7men_kb#L27ffENXIO30a h>30a ref="_inf1refA" 26_3ue"me1526_e150auxdatavet/pgs1_eize31auxdata="9a>25!!ev 31456L300">2va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30612599ue"30et/af>->         SKB_30et/>30a9et-=_nfi e8 hrefi815ode=dro.
>30a1id=_nfi xass="line"           t/packet8af_p30a32599ue"30a> eeketrf,-=_nfiine8 t.30a> >30aa>    3ref="_caMthp9cketP95a>.eld1"idsreORIGDEVverslenne2594ue1"idsreORIGDEV&7neLbna>
.<30642599ue"30d=_nfi eeketrffENXIO30d=_>30at/packetrf19/af_plent_so."25ng30a52599ue"30roptmsg_fnW#L273"7flagam30rop>30af="+nik"ne8verslenne2""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30a62599ue"3061591592ag_ef="+code=30615>30anfi 6k_=>por_queoeketrt_hoo"c#L2k_o30a72599ue"30hrco7mencopied#L27fENXIO30hrc>30a-&7net/p75t/p6kb_head"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE< o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla30682599ue"30assmilass="lin25273>256h30ass>30a9et-=_nfi e8 hrefi815_HDRnne2ode=droptifindexo,
pacpor_que30"+c>30a9et-=_nfi e8 hrefi815"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla307e2599ue"30ifind8xassef="+code=drop30ifi>30ifref="_inf1refA,
por_queoe 31i30=dr>30ie8verslenne261bue"me15260"> 31, 09 30722599ue"30_kb2cketf" 26_3ue"me1526_e150orig150> #L271" 2608ueorig150="9a>25!!ev 31456L300">2va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30732599ue"30"+code=dropt_s_=>por_que30"+c>30ia>    3ref="_sb_is_gsode=dro.30i4id=_nfi xass="line"           t/packet8af_p30752599ue"30etrffENXIOa>..eld1"idsreVNsreHDRverslenne2594ue1"idsreVNsreHDR&7neLbna>
.<30762599ue"30"+code=dropt_s_=>por_que30"+c>30i6/packetrf19/af_plent_so."25ng30772599ue"30821" clasnt_sketrffENXIO30821>30i-&7net/p75t/p6kb_head""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30782599ue"30"me152507300"> /9f_pekbk30"me>30i88verslenne261bue"me15260"> 31, 09 30792599ue"30 nam95cket/af_preturn10/30 na>30i9et-=_nfi e8 hrefi815"line" 2628ue"me152lasslt. rerefers*bnet/p="9a>2591p9cketP95a>.eldtytk" class="sref">packnin22!" 2591ue"me1525cpSOCK_RAW" class="sref">SOCK_RAWet-=emen_8   recp_timestamp21"idsrefcla308e2599ue"30ne8verslenne25g9ue"me15230ne8>30neet-=_nfi e8 hrefi815_HDRnne2ode=droptifindexo,
pac30n9et-=_nfi e8 hrefi815"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=_||d64aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring="9a.AMPIN9_SYS_HARDpg_vene8verslenne25542g_venet-=emen_8   recp_timestamp21"idsrefcla30822599ue"30efers*bnet/packetfENXIOa30efe>30niltert_socpo,
,
pac258e79et}ENXIO30L27>30na>    3ref="_sb_is_gs"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE< o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla30842599ue"30_filtert_socpo,
30nt/packetrfpac"e53a>>>>>>308fi>30nf="+nik"ne8verslenne2"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30862599ue"30"me1525stp_vlan_9528300"30"me>30ne=runers*bnet/packet/_HDR_GSOode=droptifindexo,
30n5" nameBUG9+0"> 3153 25" n>258-&9tr30n82599ue"30>>>>>>>>*"*pty tert"> 3130>>>>30n3ref="_inf1refA" 26_3ue"me1526_e150has_vket/hkeq196#Ltv6" cla0has_vket/hkemenk>25!!ev 31456L300">2va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30892599ue"30 8if,-eldo3ine8 hrefi81530 8i>30n9et-=_nfi e8 hrefi815ode=dro.  ize_>#L27M>->     30>  >30> id=_nfi xass="line"           t/packet8af_p30912599ue"30agameassfnW#L79etfENXIOa30aga>30>9et-=_nfi e8 caMthp9cketP95a>.eld1"idsreTIMESTAMPverslenne2594ue1"idsreTIMESTAMP&7neLbna>
.<30922599ue"301"devet/packetr/af>->301"d>30>iltert_socpo<"me1525ng15719/af_plent_so."25ng30932599ue"30F96="+eldo3ine8 hrefi81530F96>30>a>    3ref="_sb_is_gs""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla30942599ue"309ine" 9830>t/pacass="line"           t/packet8af_p30952599ue"30do3ine8 hrefi815"230 8  30do3>30>f="+nik"ne8verslenne2"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE!UEo_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla30962599ue"30950   tp_ve25stp>25930950>30>e=runers*bnet/packet/_HDR_GSOode=droptifindexo,
pac30>-&7net/p75t/p6kb_head"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla30982599ue"30hw9assmi96o1.srefclass="30hw9>30>3ref="_inf1refA,

30>nd8xassssssssss          t/packet8af_ps31ne2599ue"31ne25OMPATna>
31neet-=_nfi e8 hrefi815opy_datagram_iouevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_tstMESdatagramoc#L271tp_tstMESmenk>25ne" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla31n12599ue"31ngameassfnW#L79etfENXIOa31nga>3109et-=_nfi e8 hrefi815ode=dro.->31n"d>3101id=_nfi xass="line"           t/packet8af_p31n32599ue"31n96="+eldo3ine8 hrefi81531n96>310a>    3ref="_caMthp9cketP95a>.eld1"idsreFANOUrverslenne2594ue1"idsreFANOUr&7neLbna>
.<31n42599ue"31nine" 98310t/packetrf19/af_plent_so."25ng31n52599ue"31no3ine8 hrefi815"230 8  31no3>310f="+nik"ne8verslenne2""line" 2587ue"me15va8verslenne2594ueva8="9a7men_8   recp_timestamp21"idsrefcla31n62599ue"31n50   tp_ve25stp>25931n50>310nfi 6k_=>por_queoeketrt_hoo"c#L2k_o31n72599ue"31nr_h rpo31n-&7net/p75t/p6kb_head"line" 2628ue"me152op/ss=q196#Ltv6" cla0op/ss=menkE!UEo_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)emen_8   recp_timestamp21"idsrefcla31n82599ue"31nw9assmi96o1.srefclass="31nw9>3109et-=_nfi e8 hrefi815_HDRnne2ode=droptifindexo,
pac
31n9et-=_nfi e8 hrefi815"line" 2628ue"me152copy_from_usea> #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)eemen_8   recp_timestamp21"idsrefcla311e2599ue"311526_eraw 3148ne" name1531152>3115et-=_nfi e8 hrefi815_HDRnne2ode=droptifindexo,
.311e8verslenne261bue"me15260"> 31, 09 31122599ue"31>>261g 8ifind8xass}ENXIO31>>2>311iltert_socpo,
p>257  9if     fanout_ackq196#Ltv6" cla0fanout_ackH?"*pe" 2628ue"me152la>   tp_"ss=ulass="lin,EAMPIN9_SYS_HARDva8verslenne2594ueva8="9aE5MEST 0xffff,EAMPIN9_SYS_HARDva8verslenne2594ueva8="9aE526_> 16)7men_8   recp_timestamp21"idsrefcla31132599ue"31>->-&>311a>    3ref="_xass="line"           t/packet8af_p31142599ue"31cagttv_>"e53a>>>>>>>>>*"31cag>311t/packetrf
.<31152599ue"31agttv_>"e53a>>>>>>>>>*">31agt>311f="+nik"ne8verslenne2ode=droptifindexo,
        unio2631re">311e=runers*bnetxass="line"           t/packet8af_p31172599ue"31=ulass="line" 2606ue"me131=ul>311-&7nexass="line"           t/packet8af_p31182599ue"31agttv_>"e53a>>>>>>>>>*">31agt>31188verslenne261bue"me15260"> 31, 09 31192599ue"31ketSOCK9   union {
3119et-=s=ulassint>p>257  9if     2507300get0255op/a>,
_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9ai2="line" 2587ue"me15leve8verslenne2594ueleve8="9ai2="line" 2587ue"me15op/et/pverslenne2594ueop/et/p="9aislenne261bue"me15260"> 31, 09 312e2599ue"31ulass="line" 2609ue"me1531ula>31ul/packetrf #L271" 2608ue__usea="9adeldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2="line" 2587ue"me15__usea> #L271" 2608ue__usea="9adeldo3ine8 hrefi8op/ss=q196#Ltv6" cla0op/ss=menk efa>    3ref="8c.c#L27M/harline" n31u12599ue"31*"v6" cla0*pty tert"> 3131*"v>31u9et-="me1525ng15719/af_plent_so."25ng31u22599ue"31hrefi815"230MSG_DONTWAIT31hre>31uiltert_socpo<""line" 2587ue"me15le=q196#Ltv6" cla0"L8menknetf_p3140:" n95o1.56un_filtert_soc31u32599ue"31efers*bnet/packetffENXIO31efe>31ua>    3ref="_""line" 2587ue"me15va8verslenne2594ueva8="9ai2ne" 2587ue"me15l0> #L271" 2608uel0="9a>25o_filteAMPIN9_SYS_HARDva8verslenne2594ueva8="9a)netf_p3140:" n95o1.56un_filtert_soc31u42599ue"31_socpo,
31u4id=_nfi o7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n31u52599ue"31agttv_>"e53a>>>>>>>>>*">31agt>31u5>    3ref="_slenne259bue"me1525e=r2507300527et.c9L354" iARCH2507300527ee=r>259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n31u62599ue"31tv_>"e53a>>>>>>>>>*">po<31tv_>31u6/packetrf    3ref="8c.c#L27M/harline" n31u72599ue"312626ue"me1526hcketSOCK9i31262>31u-&7net/p75t/pslenne259bue"me1525e=rt2507300s=ul_datagramoc#L271tp507300s=ul_&7netty tert"> 3150_r0tnin2netf_p3140:" n95o1.56un_filtert_soc31u82599ue"31ulass="line" 26d7ue"me1531ula>3129et-=_nfi e8 unio">p>257  9if     t2507300s=ul__uverslenne2594uet2507300s=ul__u&7netty tert"> 3150po-*pty tert"> 3131*">>312nd8xassssssssss          t/packet8af_ps313e2599ue"31  8ifind8xass    e8 href31  8>31  ltert_socpo<"line" 2628ue"me152leve8verslenne2594ueleve8="9a1!" 2591ue"me1525cpSOL_1"idsrverslenne2594ueSOL_1"idsrmenk efa>    3ref="8c.c#L27M/harline" n31 12599ue"311526id="L271"9classsnet/31152>31 9et-=_nfi e8 hrefi815ode=droptifindexo,
31 ilteretf_p3140:" n95o1.56un_filtert_soc31332599ue"31refclass="sref Loc#L271"31ref>31 a>    3ref="_"line" 2628ue"me152get_usea> #L271" 2608ueget_useaH?"*pty tert"> 3150    3ref="8c.c#L27M/harline" n31 42599ue"31tio_ hr_h roc#L271"devet31tio>31 t/packetrf31 f="+nmen_8   recp_timestamp21"idsrefcla31362599ue"3192ag_g="+codesrefclass="3192a>31 e=runers*bnet"line" 2628ue"me152le=q196#Ltv6" cla0"L8menkE< 0 efa>    3ref="8c.c#L27M/harline" n31 72599ue"31 hr_h rpo-&7net/p75t31 hr>313-&7net/p75t/p6kb_headode=droptifindexo,
pac-&7ne318 h>31388verslenne261bue"me15260"> 31, 09 31392599ue"31a0"> 3153<26len>2638a9hr31a0">31 tp_"ss=ulass=switchmen_kb#L2719/af_plent_so."25ng314e2599ue"31L*bnetf_psfreet/afEINVAL31L*b>31L*&7net/p75t/pcaMthp9cketP95a>.eld1"idsreSTATISTICSverslenne2594ue1"idsreSTATISTICS&7neLbna>
.<31412599ue"31se8 hrefi815"230o-&731se8>3149et-=_nfi e8 hrefi815ty tert"> 3150 #L271" 2608ue/pin_l27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n31422599ue"31/pv hr_h rpo31Liltert_socpo,
" 26_3ue"me1526_e150tp_versio"verslenne2594uet2_versio"="9a>2" 2591ue"me1525cpT1"idsreV3verslenne2594ueT1"idsreV3&7ne) "me1525ng15719/af_plent_so."25ng31432599ue"31h    e8 hrefi815"230_sb_31h  >31La>    3ref="_sb_is_gshrefi815ne" 2587ue"me15l0> #L271" 2608uel0="9a>25o_filteslenne259bue"me1525e=rt2507300s=ul__v3verslenne2594uet2507300s=ul__v3e=r>erefa>    3ref="8c.c#L27M/harline" n31442599ue"31refAMaf>->         6k31ref>31Lt/packetrf" 26_3ue"me1526_e150s=ul_datagramoc#L271s=ul_&7neislenne261bue"me15260"> 31, 09 31452599ue"31a hrco7men_kb#L27ffENXIO31a h>31Lf="+nik"ne8verslenne222222222=ulass=s_filteslenne259bue"me1525e=rt2507300s=ul_datagramoc#L271tp507300s=ul_&7ne)erefa>    3ref="8c.c#L27M/harline" n31462599ue"31592ag_g="+codesssssssseg31592>31Le=runers*bnet/packet/hrefi815ty tert"> 3150_rt2_freeze_q_cnh="9a>2efa>    3ref="8c.c#L27M/harline" n31472599ue"3140ami>->         6kb_3140a>31L-&7net/p75t/p6kb_headi815_HDR/packet/hrefi815ty tert"> 3150" 26_3ue"me1526_e150s=ul__uverslenne2594ue/hul__u&7ne.AMPIN9_SYS_HARDs=ul_3verslenne2594ues=ul_3menk.AMPIN9_SYS_HARDt2_freeze_q_cnhls*bnetco_rt2_freeze_q_cnh="9arefa>    3ref="8c.c#L27M/harline" n31482599ue"310ami>->         6inf1310am>31L3ref="_inf1refA 3150264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150s=ul_datagramoc#L271s=ul_&7ne.AMPIN9_SYS_HARDt2_drop_datagramoc#L271tp_drop_="9arefa>    3ref="8c.c#L27M/harline" n31492599ue"31tgs1_typ"L87AMthrv"sref"31tgs>31L9et-=_nfi e8 hrefi815hrefi815ty tert"> 3150-&31"sr>315l/packetrf19/af_plent_so."25ng31512599ue"31tgs1_typ"L87AMthrv"sref"31tgs>315> 6k_=>por_queoeketrfffffffffopy_datagram_iol0> #L271" 2608uel0="9a>25o_filteslenne259bue"me1525e=rt2507300s=ul_datagramoc#L271tp507300s=ul_&7ne)refa>    3ref="8c.c#L27M/harline" n31522599ue"31code=droptmsg_fnW#L273"731cod>315iltert_socpo,
 3150_r0tnin21>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150s=ul_datagramoc#L271s=ul_&7nerefa>    3ref="8c.c#L27M/harline" n31532599ue"31F96="+nik"ne8hsrefclass=31F96>31"a>    3ref="_sb_is_gs2222_GSOty tert"> 3150_r0tnin2.AMPIN9_SYS_HARDt2_harlin_datagramoc#L271tp_harlin_ref="+>264aw9 clas99ef"/hls*bnetco_r0tnin2.AMPIN9_SYS_HARDt2_drop_datagramoc#L271tp_drop_="9arefa>    3ref="8c.c#L27M/harline" n31542599ue"31/po.315t/packetrf31"e=runers*bnet/packet/ne" 2587ue"me15memsghls*bnetco_rmemsghH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150s=ul_datagramoc#L271s=ul_&7nei 0i2o_filteAMPIN9_SYS_HARD/hls*bnetco_r0tnin2)erefa>    3ref="8c.c#L27M/harline" n31572599ue"31 classhcke25tas>255cl9ss31 cl>31"-&7net/p75t/p6kb_headty tert"> 3150 #L271" 2608ue/pin_unl27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n31582599ue"31enf_psfree_skb3140fENXIO31enf>31"3ref="_inf1refA3159et-=_nfi e8 caMthp9cketP95a>.eld1"idsreAUXDATAverslenne2594ue1"idsreAUXDATA&7neLbna>
.<316e2599ue"31a hrco7men_kb#L27ffENXIO31a h>31a ref="_inf1refA" 26_3ue"me1526_e150auxdatavet/pgs1_eize31auxdata="9a7men_8   recp_timestamp21"idsrefcla31612599ue"31et/af>->         SKB_31et/>31a9et-=_nfi e8 hrefi815break7men_8   recp_timestamp21"idsrefcla31622599ue"31na>
>31a1id=_nfi caMthp9cketP95a>.eld1"idsreORIGDEVverslenne2594ue1"idsreORIGDEV&7neLbna>
.<31a32599ue"31a> eeketrf,-=_nfiine8 t.31a> >316a>    3ref="_sb_is_gsopy_datagram_iova8verslenne2594ueva8="9aE>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150orig150> #L271" 2608ueorig150="9a7men_8   recp_timestamp21"idsrefcla31642599ue"31d=_nfi eeketrffENXIO31d=_>316t/packetrf31af="+nik"ne8vecaMthp9cketP95a>.eld1"idsreVNsreHDRverslenne2594ue1"idsreVNsreHDR&7neLbna>
.<31a62599ue"3161591592ag_ef="+code=31615>316e=runers*bnet/packet/ne" 2587ue"me15va8verslenne2594ueva8="9aE>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150has_vket/hkeq196#Ltv6" cla0has_vket/hkemenk7men_8   recp_timestamp21"idsrefcla31672599ue"31hrco7mencopied#L27fENXIO31hrc>31a-&7net/p75t/p6kb_headbreak7men_8   recp_timestamp21"idsrefcla31682599ue"31assmilass="lin25273>256h31ass>3168r"at head */caMthp9cketP95a>.eld1"idsreVERSIONverslenne2594ue1"idsreVERSION&7neLbna>
.<31a92599ue"31"+code=dropt_s_=>por_que31"+c>31a9et-=_nfi e8 hrefi815ne" 2587ue"me15va8verslenne2594ueva8="9aE>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_versio"verslenne2594uet2_versio"="9a7men_8   recp_timestamp21"idsrefcla317e2599ue"31ifind8xassef="+code=drop31ifi>31ifref="_inf1refApor_queoe 31i31=dr>3179et-=_nfi e8 caMthp9cketP95a>.eld1"idsreHDRLENverslenne2594ue1"idsreHDRLEN&7neLbna>
.<31722599ue"31_kb2cketf    3ref="8c.c#L27M/harline" n31732599ue"31"+code=dropt_s_=>por_que31"+c>31ia>    3ref="_sb_is_gshrefi815ne" 2587ue"me15le=q196#Ltv6" cla0"L8menkE= o_filteint 7men_8   recp_timestamp21"idsrefcla31742599ue"31f="+code=dropt_s_=>por_r31f=">317t/packetrf #L271" 2608uecopy_from_useaH?"*p5MESTAMPIN9_SYS_HARDva8verslenne2594ueva8="9a, ldo3ine8 hrefi8op/va8verslenne2594ueop/va8="9ai2ne" 2587ue"me15le=q196#Ltv6" cla0"L8menk  efa>    3ref="8c.c#L27M/harline" n31752599ue"31etrffENXIOa>.,
por_que31"+c>317e=runers*bnet/packet/switchmen_kb#L2719/af_plent_so."25ng31772599ue"31821" clasnt_sketrffENXIO31821>31i-&7net/p75t/p6kb_headcaMthp9cketP95a>.eldT1"idsreV1verslenne2594ueT1"idsreV1&7neLbna>
.<31782599ue"31"me152507300"> /9f_pekbk31"me>3173ref="_inf1refA 31502o_filteslenne259bue"me1525e=rt2507300hkeq196#Ltv6" cla0t2507300hkee=r>erefa>    3ref="8c.c#L27M/harline" n31792599ue"31 nam95cket/af_preturn10/31 na>31i9et-=_nfi e8 hrefi81555555555break7men_8   recp_timestamp21"idsrefcla318e2599ue"31ne8verslenne25g9ue"me15231ne8>31neet-=_nfi e8 hrefi815caMthp9cketP95a>.eldT1"idsreV2verslenne2594ueT1"idsreV2&7neLbna>
.<31812599ue"31bue"me1525/pTPe.sre9ALIG31bue>31n9et-=_nfi e8 hrefi815hrefi815ty tert"> 31502o_filteslenne259bue"me1525e=rt25073020hkeq196#Ltv6" cla0t25073020hkee=r>erefa>    3ref="8c.c#L27M/harline" n31822599ue"31efers*bnet/packetfENXIOa31efe>31niltert_socpo,
258e79et}ENXIO31L27>31na>    3ref="_sb_is_gscaMthp9cketP95a>.eldT1"idsreV3verslenne2594ueT1"idsreV3&7neLbna>
.<31842599ue"31_filtert_socpo,
31nt/packetrf 31502o_filteslenne259bue"me1525e=rt25073030hkeq196#Ltv6" cla0t25073030hkee=r>erefa>    3ref="8c.c#L27M/harline" n31852599ue"318fi92eagttv_>"e53a>>>>>>318fi>31nf="+nik"ne8verslenne22222_GSObreak7men_8   recp_timestamp21"idsrefcla31862599ue"31"me1525stp_vlan_9528300"31"me>31ne=runers*bnet/packet/defaultLbna>
.<31872599ue"31 tp_"ss=ulass="line" 25831 tp>318-&7net/p75t/p6kb_headi815_HDRode=droptifindexo,
pac>>>>>>>*"*pty tert"> 3131>>>>31n3ref="_inf1refA31n9et-=_nfi e8 hrefi815break7men_8   recp_timestamp21"idsrefcla319e2599ue"31>  ize_>#L27M>->     31>  >319*&7net/p75t/pcaMthp9cketP95a>.eld1"idsreRESERVEverslenne2594ue1"idsreRESERVE&7neLbna>
.<31912599ue"31agameassfnW#L79etfENXIOa31aga>3199et-=_nfi e8 hrefi815ty tert"> 3150264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_reseavpverslenne2594uetp_reseavp="9a7men_8   recp_timestamp21"idsrefcla31922599ue"311"devet/packetr/af>->311"d>319iltert_socpo,
.eld1"idsreLOSSverslenne2594ue1"idsreLOSS&7neLbna>
.<31942599ue"319ine" 98319t/packetrf 3150264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_los_datagramoc#L271tp_los_="9a7men_8   recp_timestamp21"idsrefcla31952599ue"31do3ine8 hrefi815"230 8  31do3>31>f="+nik"ne8verslenne2break7men_8   recp_timestamp21"idsrefcla31962599ue"31950   tp_ve25stp>25931950>31>e=runers*bnetcaMthp9cketP95a>.eld1"idsreTIMESTAMPverslenne2594ue1"idsreTIMESTAMP&7neLbna>
.<31972599ue"31hr_h rpo31>-&7net/p75t/p6kb_headty tert"> 3150264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_tstMESdatagramoc#L271tp_tstMESmenk7men_8   recp_timestamp21"idsrefcla31982599ue"31hw9assmi96o1.srefclass="31hw9>31>3ref="_inf1refA
3199et-=_nfi e8 caMthp9cketP95a>.eld1"idsreFANOUrverslenne2594ue1"idsreFANOUr&7neLbna>
.<32ne2599ue"32ne25OMPATna>
32neet-=_nfi e8 hrefi815opy_datagram_iova8verslenne2594ueva8="9aE>2ne" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150fanoutvet/pgs1_eize31fanout="9aE?bna>
.<32n12599ue"32ngameassfnW#L79etfENXIOa32nga>3209et-=_nfi e8 hrefi8155555555(ne" 2628ue"me152u32verslenne2594ueu ilter)e" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150fanoutvet/pgs1_eize31fanout="9a" 26_3ue"me1526_e150ikq196#Ltv6" cla0ikH?"* |bna>
.<32n22599ue"32n"devet/packetr/af>->32n"d>320iltert_socpo,
" 26_3ue"me1526_e150fanoutvet/pgs1_eize31fanout="9a" 26_3ue"me1526_e150tytk" class="sref">packnin22<< 16)) Lbna>
.<32n32599ue"32n96="+eldo3ine8 hrefi81532n96>320a>    3ref="_sb_is_gshrefi810erefa>    3ref="8c.c#L27M/harline" n32n42599ue"32nine" 98320t/packetrf320f="+nik"ne8vedefaultLbna>
.<32n62599ue"32n50   tp_ve25stp>25932n50>320e=runers*bnet/packet/ode=droptifindexo,
320-&7net/p75t/pxass="line"           t/packet8af_p32n82599ue"32nw9assmi96o1.srefclass="32nw9>32088verslenne261bue"me15260"> 31, 09 32n92599ue"32nG_COMPATna>
32n9et-=_nfi e8 "line" 2628ue"me152le=q196#Ltv6" cla0"L8menkE> e" 2628ue"me152l0> #L271" 2608uel0="9a efa>    3ref="8c.c#L27M/harline" n321e2599ue"321526_eraw 3148ne" name1532152>3215et-=_nfi e8 hrefi815ne" 2587ue"me15le=q196#Ltv6" cla0"L8menkE= e" 2628ue"me152l0> #L271" 2608uel0="9anetf_p3140:" n95o1.56un_filtert_soc32112599ue"32etf_p3140fENXIOa>.3211et-=_nfi e8 "line" 2628ue"me152put_usea> #L271" 2608ueput_useaH?"*pne" 2587ue"me15le=q196#Ltv6" cla0"L8menk, ldo3ine8 hrefi8op/ss=q196#Ltv6" cla0op/ss=menk  efa>    3ref="8c.c#L27M/harline" n32122599ue"32>>261g 8ifind8xass}ENXIO32>>2>321iltert_socpo,
ptifindexo,
->-&>321a>    3ref="_"line" 2628ue"me152copy_to_usea> #L271" 2608uecopy_to_useaH?"*pne" 2587ue"me15op/va8verslenne2594ueop/va8="9ai2ne" 2587ue"me15datavet/pgs1_eize31data="9ai2ne" 2587ue"me15le=q196#Ltv6" cla0"L8menk  efa>    3ref="8c.c#L27M/harline" n32142599ue"32cagttv_>"e53a>>>>>>>>>*"32cag>321t/packetrf"e53a>>>>>>>>>*">32agt>321f="+nik"ne8veode=dro.        unio2632re">321e=runxass="line"           t/packet8af_p32172599ue"32=ulass="line" 2606ue"me132=ul>3215" nameBUG9+0"> 3153 25" n>258-&9tr32182599ue"32agttv_>"e53a>>>>>>>>>*">32agt>32188verslenne261bue"me15260"> 31, 09 32192599ue"32ketSOCK9   union {
3219et-=s=ulassint>p>257  9if     2507300notifiea> #L271" 2608uep507300notifieaH?"*pslenne259bue"me1525e=rnotifiea_bl27et.c9L354" iARCHnotifiea_bl27e="+ni59_ 8ifNULLk    3ref="8c.c#L27M/harline" n322e2599ue"32ulass="line" 2609ue"me1532ula>32ul/pac"me1525ng15719/af_plent_so."25ng32u12599ue"32*"v6" cla0*pty tert"> 3132*"v>3221et-=_nfi e8 o7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo->32uiltert_socpohlis00nodk="9adeldo3ine8 hrefi8nodk" class="sref">nodk="9a32ua>    3ref="_slenne259bue"me1525e=rn300devick" class="sref">n300devick="9adeldo3ine8 hrefi8150> #L271" 2608ue150="9a>259_ 8ifNULLk,
32u4id=_nfi o7mencopied#L27h srefcnghls*bnetco_rne/="9adeldo3ine8 hrefi8nghls*bnetco_rne/="9ad259_ 8ifNULLk_rdev_nghH?"*pne" 2587ue"me15150> #L271" 2608ue150="9aerefa>    3ref="8c.c#L27M/harline" n32u52599ue"32agttv_>"e53a>>>>>>>>>*">32agt>322f="+nmen_8   recp_timestamp21"idsrefcla32u62599ue"32tv_>"e53a>>>>>>>>>*">po<32tv_>32u6/packetrf    3ref="8c.c#L27M/harline" n32u72599ue"322626ue"me1526hcketSOCK9i32262>32u-&7net/p75t/pldo3ine8 hrefi80"_for_each_rcu> 8efpo-><_for_each_rcuH?"*pne" 2587ue"me15la>   tp_"ss=ulass="lin,EAMPIN9_SYS_HARDnodk" class="sref">nodk="9a, 5MESTAMPIN9_SYS_HARDnghls*bnetco_rne/="9a" 26_3ue"me1526_e150harlin> #L271" 2608uep50730="9a.AMPIN9_SYS_HARDsklis0>   tp_"ss=ulass=lis0="9a) "me1525ng15719/af_plent_so."25ng32u82599ue"32ulass="line" 26d7ue"me1532ula>3223ref="_inf1refA259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n32u92599ue"32*">po-*pty tert"> 3132*">>322nd8xassssssssss          t/packet8af_ps323e2599ue"32  8ifind8xass    e8 href32  8>3235et-=_nfi e8 hrefi815switchmen_kb#L2719/af_plent_so."25ng32 12599ue"321526id="L271"9classsnet/32152>32 9et-=_nfi e8 hrefi815caMthp9cketP95a>.eldNETDEV_UNREGISTERverslenne2594ueNETDEV_UNREGISTER&7neLbna>
.<32322599ue"32ruNULL*bnetf_p3140fENXIO32ruN>323iltert_socpo,
" 26_3ue"me1526_e150mclis0>   tp_"ss=ulasmclis0="9a efa>    3ref="8c.c#L27M/harline" n32332599ue"32refclass="sref Loc#L271"32ref>323a>    3ref="_sb_is_gshrefi815t/p75t/pldo3ine8 hrefi82507300dev_mclis0>   tp_"ss=ulas2507300dev_mclis0H?"*pne" 2587ue"me15150> #L271" 2608ue150="9a,EAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mclis0>   tp_"ss=ulasmclis0="9a, -1erefa>    3ref="8c.c#L27M/harline" n32 42599ue"32tio_ hr_h roc#L271"devet32tio>32 t/packetrf/* fallthrough */32 f="+nmen_8   recp_timestamp21"idsrefcla32362599ue"3292ag_g="+codesrefclass="3292a>323e=runers*bnet/packet/caMthp9cketP95a>.eldNETDEV_DOWNverslenne2594ueNETDEV_DOWN&7neLbna>
.<32372599ue"32 hr_h rpo-&7net/p75t32 hr>323-&7net/p75t/p6kb_head2222_GSO"line" 2628ue"me152150> #L271" 2608ue150="9a" 26_3ue"me1526_e150ifindexq196#Ltv6" cla0ifindex26/>1>>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150ifindexq196#Ltv6" cla0ifindex26/>) "me1525ng15719/af_plent_so."25ng32 82599ue"328 hrefi815"230o-&7ne328 h>3233ref="_inf1refA   tp_"ss=ulasspin_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n32392599ue"32a0"> 3153<26len>2638a9hr32a0">3239et-=_nfi e8 hrefi815555555552222_GSO"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150runningt.c9L354" iARCHrunning26/>) "me1525ng15719/af_plent_so."25ng324e2599ue"32L*bnetf_psfreet/afEINVAL32L*b>324l/packetrf   tp_"ss=ulass="lin,EAMPIN9_SYS_HARDfalsk" class="sref">falsk"linerefa>    3ref="8c.c#L27M/harline" n32412599ue"32se8 hrefi815"230o-&732se8>3249et-=_nfi e8 hrefi815fA   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_era> #L271" 2608ueo"_era26/>1>264aw9 clas99ef"ENETDOWNverslenne2594ueENETDOWN="9a32Liltert_socpo,
2527e_flagt.c9L354" iARCH527e_flagH?"*pne" 2587ue"me15la>   tp_"ss=ulass="lin,EAMPIN9_SYS_HARDSOCK_DEAD>   tp_"ss=ulasSOCK_DEADmenk  efa>    3ref="8c.c#L27M/harline" n32432599ue"32h    e8 hrefi815"230_sb_32h  >32La>    3ref="_sb_is_gshrefi815fA   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_eraor_repor0>   tp_"ss=ulass=_eraor_repor0H?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n32442599ue"32refAMaf>->         6k32ref>32Lt/packetrf32Lf="+nik"ne8verslenne222222222=ulass=O"line" 2628ue"me152msgt.c9L354" iARCHmsg="9a1>>264aw9 clas99ef"NETDEV_UNREGISTERverslenne2594ueNETDEV_UNREGISTER&7ne) "me1525ng15719/af_plent_so."25ng32462599ue"32592ag_g="+codesssssssseg32592>32Le=runers*bnet/packet/hrefi815hrefi815t/p75t/pldo3ine8 hrefi8uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150ifindexq196#Ltv6" cla0ifindex26/>1>2-1refa>    3ref="8c.c#L27M/harline" n32472599ue"3240ami>->         6kb_3240a>32L-&7net/p75t/p6kb_headi815_HDR/packet/hrefi815"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150prot_hooe>   tp_"ss=ulasprot_hooeH?"*.AMPIN9_SYS_HARD150> #L271" 2608ue150="9aeefa>    3ref="8c.c#L27M/harline" n32482599ue"320ami>->         6inf1320am>32L3ref="_inf1refA 3150" 26_3ue"me1526_e150prot_hooe>   tp_"ss=ulasprot_hooeH?"*.AMPIN9_SYS_HARD150> #L271" 2608ue150="9aerefa>    3ref="8c.c#L27M/harline" n32492599ue"32tgs1_typ"L87AMthrv"sref"32tgs>32L9et-=_nfi e8 hrefi815hrefi815hrefi815t/p75t/pldo3ine8 hrefi8uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150prot_hooe>   tp_"ss=ulasprot_hooeH?"*.AMPIN9_SYS_HARD150> #L271" 2608ue150="9a1>264aw9 clas99ef"NULclass="sref">pacNULc="9a-&32"sr>325l/packetrf325> 6k_=>por_queoeketrffffffffft/p75t/pldo3ine8 hrefi8/pin_unl27e>   tp_"ss=ulasspin_unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n32522599ue"32code=droptmsg_fnW#L273"732cod>325iltert_socpo,
32"a>    3ref="_sb_is_gs2222_GSObreak7men_8   recp_timestamp21"idsrefcla32542599ue"32/po.325t/packetrf #L271" 2608ue150="9a" 26_3ue"me1526_e150ifindexq196#Ltv6" cla0ifindex26/>1>>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150ifindexq196#Ltv6" cla0ifindex26/>) "me1525ng15719/af_plent_so."25ng32562599ue"322555ue"me1525stp_vlan_9s32255>32"e=runers*bnet/packet/fffffffft/p75t/pldo3ine8 hrefi8/pin_l27e>   tp_"ss=ulasspin_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n32572599ue"32 classhcke25tas>255cl9ss32 cl>32"-&7net/p75t/p6kb_headrslenne222222222"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150numls*bnetco_rnum="9aeefa>    3ref="8c.c#L27M/harline" n32582599ue"32enf_psfree_skb3140fENXIO32enf>32"3ref="_inf1refA   tp_"ss=ulasregis0er_prot_hooeH?"*pne" 2587ue"me15la>   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n32592599ue"32efmsghls*bnetmsgketr,-ha32efm>3259et-=_nfi e8 hrefi815hrefi815hrefi815ldo3ine8 hrefi8/pin_unl27e>   tp_"ss=ulasspin_unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n326e2599ue"32a hrco7men_kb#L27ffENXIO32a h>32a ref="_inf1refA->         SKB_32et/>32a9et-=_nfi e8 hrefi81555555555break7men_8   recp_timestamp21"idsrefcla32622599ue"32na>
>326iltert_socpo,
 eeketrf,-=_nfiine8 t.32a> >326a>    3ref="_xass="line"           t/packet8af_p32642599ue"32d=_nfi eeketrffENXIO32d=_>326t/packetrf   tp_"ss=ulasrcu_read_unl27eH?"*perefa>    3ref="8c.c#L27M/harline" n32652599ue"32roptmsg_fnW#L273"7flagam32rop>326f="+nik"ne8veode=drop9cketP95a>.eldNOTIFY_DONEverslenne2594ueNOTIFY_DONE="9a1592ag_ef="+code=32615>326e=runxass="line"           t/packet8af_p32672599ue"32hrco7mencopied#L27fENXIO32hrc>3265" nameBUG9+0"> 3153 25" n>258-&9tr32682599ue"32assmilass="lin25273>256h32ass>32688verslenne261bue"me15260"> 31, 09 32a92599ue"32"+code=dropt_s_=>por_que32"+c>3269et-=s=ulassint>p>257  9if     2507300ioct8verslenne2594ue2507300ioct8H?"*po7mencopied#L27h srefclassghls*bnetco_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9ai2unsigned2int>p>257  9if     cmkq196#Ltv6" cla0cmk="9aislenne261bue"me15260"> 31, 09 327e2599ue"32ifind8xassef="+code=drop32ifi>32ifref="_inf1refApor_queoe 31i32=dr>3279et-="me1525ng15719/af_plent_so."25ng32722599ue"32_kb2cketf 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n32732599ue"32"+code=dropt_s_=>por_que32"+c>32ia>   efa>    3ref="8c.c#L27M/harline" n32742599ue"32f="+code=dropt_s_=>por_r32f=">327t/packetrf19/af_plent_so."25ng32752599ue"32etrffENXIOa>..eldSIOCOUTQ>   tp_"ss=ulasSIOCOUTQ&7neLbna>
.<32762599ue"32"+code=dropt_s_=>por_que32"+c>327e=runers*bnet"me1525ng15719/af_plent_so."25ng32772599ue"32821" clasnt_sketrffENXIO32821>32i-&7net/p75t/p6kb_headint>p>257  9if     amounhls*bnetco_ramounha hd1" 2591ue"me1525cplk_wmem_all270get>   tp_"ss=ulass=_wmem_all270getH?"*pne" 2587ue"me15la>   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n32782599ue"32"me152507300"> /9f_pekbk32"me>32788verslenne261bue"me15260"> 31, 09 32792599ue"32 nam95cket/af_preturn10/32 na>32i9et-=_nfi e8 hrefi815ode=drop9cketP95a>.eldput_usea> #L271" 2608ueput_useaH?"*pne" 2587ue"me15amounhls*bnetco_ramounha hd, (="line" 2587ue"me15__usea> #L271" 2608ue__usea="9ade)e" 2628ue"me152argt.c9L354" iARCHarg="9aerefa>    3ref="8c.c#L27M/harline" n328e2599ue"32ne8verslenne25g9ue"me15232ne8>32neet-=_nfi e8 xass="line"           t/packet8af_p32812599ue"32bue"me1525/pTPe.sre9ALIG32bue>3289et-=_nfi e8 caMthp9cketP95a>.eldSIOCINQ>   tp_"ss=ulasSIOCINQ&7neLbna>
.<32822599ue"32efers*bnet/packetfENXIOa32efe>32niltert_socpo<"me1525ng15719/af_plent_so."25ng32832599ue"32L27125" c>258e79et}ENXIO32L27>32na>    3ref="_sb_is_gso7mencopied#L27h srefclk_buff>   tp_"ss=ulass=_buff="9adeldo3ine8 hrefi80"b>   tp_"ss=ulass=ba hdrefa>    3ref="8c.c#L27M/harline" n32842599ue"32_filtert_socpo,
32nt/packetrf"e53a>>>>>>328fi>328f="+nmen_8   recp_timestamp21"idsrefcla32862599ue"32"me1525stp_vlan_9528300"32"me>32ne=runers*bnet/packet/ldo3ine8 hrefi8/pin_l27e_bh> #L271" 2608ue/pin_l27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n32872599ue"32 tp_"ss=ulass="line" 25832 tp>328-&7net/p75t/p6kb_headldo3ine8 hrefi80"b>   tp_"ss=ulass=ba hd1" 2591ue"me1525cplkb_peea>   tp_"ss=ulass=b_peeaH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"linerefa>    3ref="8c.c#L27M/harline" n32882599ue"32>>>>>>>>*"*pty tert"> 3132>>>>32n3ref="_inf1refA   tp_"ss=ulass=ba hdeefa>    3ref="8c.c#L27M/harline" n32892599ue"32 8if,-eldo3ine8 hrefi81532 8i>32n9et-=_nfi e8 hrefi8156kb_headldo3ine8 hrefi8amounhls*bnetco_ramounha hd1" 2591ue"me1525cplkb>   tp_"ss=ulass=ba hd>2591p9cketP95a>.eldle=q196#Ltv6" cla0"L8menknetf_p3140:" n95o1.56un_filtert_soc329e2599ue"32>  ize_>#L27M>->     32>  >3295et-=_nfi e8 hrefi815ne" 2587ue"me15/pin_unl27e_bh> #L271" 2608ue/pin_unl27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n32912599ue"32agameassfnW#L79etfENXIOa32aga>3299et-=_nfi e8 hrefi815ode=drop9cketP95a>.eldput_usea> #L271" 2608ueput_useaH?"*pne" 2587ue"me15amounhls*bnetco_ramounha hd, (="line" 2587ue"me15__usea> #L271" 2608ue__usea="9ade)e" 2628ue"me152argt.c9L354" iARCHarg="9aerefa>    3ref="8c.c#L27M/harline" n32922599ue"321"devet/packetr/af>->321"d>329iltert_socpo.eldSIOCGSTAMPverslenne2594ueSIOCGSTAMP&7neLbna>
.<32942599ue"329ine" 98329t/packetrf   tp_"ss=ulass="lin, (slenne259bue"me1525e=rtimeva8verslenne2594uetimeva8/packne" 2587ue"me15__usea> #L271" 2608ue__usea="9ade)e" 2628ue"me152argt.c9L354" iARCHarg="9aerefa>    3ref="8c.c#L27M/harline" n32952599ue"32do3ine8 hrefi815"230 8  32do3>329f="+nik"ne8vecaMthp9cketP95a>.eldSIOCGSTAMPNSverslenne2594ueSIOCGSTAMPNS&7neLbna>
.<32962599ue"32950   tp_ve25stp>25932950>329e=runers*bnet/packet/ode=drop9cketP95a>.eld527e_get_timestMESn_datagramoc#L271s27e_get_timestMESn_H?"*pne" 2587ue"me15la>   tp_"ss=ulass="lin, (slenne259bue"me1525e=rtimespecverslenne2594uetimespec/packne" 2587ue"me15__usea> #L271" 2608ue__usea="9ade)e" 2628ue"me152argt.c9L354" iARCHarg="9aerefa>    3ref="8c.c#L27M/harline" n32972599ue"32hr_h rpo3295" nameBUG9+0"> 3153 25" n>258-&9tr32982599ue"32hw9assmi96o1.srefclass="32hw9>32>3ref=#ifdefkne" 2587ue"me15CONFIG_INsrverslenne2594ueCONFIG_INsr" nameBUG9+0"> 3153 25" n>258-&9tr32992599ue"32SG_COMPATna>
3299et-=_nfi e8 caMthp9cketP95a>.eldSIOCADDRrverslenne2594ueSIOCADDRr&7neLbna>
.<33ne2599ue"33ne25OMPATna>
330*&7net/p75t/pcaMthp9cketP95a>.eldSIOCDELRrverslenne2594ueSIOCDELRr&7neLbna>
.<33n12599ue"33ngameassfnW#L79etfENXIOa33nga>3309et-=_nfi e8 caMthp9cketP95a>.eldSIOCDARPverslenne2594ueSIOCDARP&7neLbna>
.<33n22599ue"33n"devet/packetr/af>->33n"d>330iltert_socpo.eldSIOCGARPverslenne2594ueSIOCGARP&7neLbna>
.<33n32599ue"33n96="+eldo3ine8 hrefi81533n96>330a>    3ref="_caMthp9cketP95a>.eldSIOCSARPverslenne2594ueSIOCSARP&7neLbna>
.<33n42599ue"33nine" 98330t/packetrf.eldSIOCGIFADDRverslenne2594ueSIOCGIFADDR&7neLbna>
.<33n52599ue"33no3ine8 hrefi815"230 8  33no3>330f="+nik"ne8vecaMthp9cketP95a>.eldSIOCSIFADDRverslenne2594ueSIOCSIFADDR&7neLbna>
.<33n62599ue"33n50   tp_ve25stp>25933n50>330e=runers*bnetcaMthp9cketP95a>.eldSIOCGIFBRDADDRverslenne2594ueSIOCGIFBRDADDR&7neLbna>
.<33n72599ue"33nr_h rpo330-&7net/p75t/pcaMthp9cketP95a>.eldSIOCSIFBRDADDRverslenne2594ueSIOCSIFBRDADDR&7neLbna>
.<33n82599ue"33nw9assmi96o1.srefclass="33nw9>3308r"at head */caMthp9cketP95a>.eldSIOCGIFNsrMASKverslenne2594ueSIOCGIFNsrMASK&7neLbna>
.<33n92599ue"33nG_COMPATna>
3309et-=_nfi e8 caMthp9cketP95a>.eldSIOCSIFNsrMASKverslenne2594ueSIOCSIFNsrMASK&7neLbna>
.<331e2599ue"331526_eraw 3148ne" name1533152>331*&7net/p75t/pcaMthp9cketP95a>.eldSIOCGIFDSTADDRverslenne2594ueSIOCGIFDSTADDR&7neLbna>
.<33112599ue"33etf_p3140fENXIOa>.3319et-=_nfi e8 caMthp9cketP95a>.eldSIOCSIFDSTADDRverslenne2594ueSIOCSIFDSTADDR&7neLbna>
.<33122599ue"33>>261g 8ifind8xass}ENXIO33>>2>331iltert_socpo.eldSIOCSIFFLAGSverslenne2594ueSIOCSIFFLAGS&7neLbna>
.<33132599ue"33>->-&>331a>    3ref="_sb_is_gsode=drop9cketP95a>.eldin300dgram_op_datagramoc#L271in300dgram_op_"lin.AMPIN9_SYS_HARDioct8verslenne2594ueioct8H?"*pldo3ine8 hrefi8lasslt. rerefers*bnet/p="9ai2p>257  9if     cmkq196#Ltv6" cla0cmk="9ai/ne" 2587ue"me15argt.c9L354" iARCHarg="9aerefa>    3ref="8c.c#L27M/harline" n33142599ue"33cagttv_>"e53a>>>>>>>>>*"33cag>331t/pac#endifefa>    3ref="8c.c#L27M/harline" n33152599ue"33agttv_>"e53a>>>>>>>>>*">33agt>331f="+nmen_8   recp_timestamp21"idsrefcla33162599ue"33re" na<9a>        unio2633re">331e=runers*bnetdefaultLbna>
.<33172599ue"33=ulass="line" 2606ue"me133=ul>331-&7net/p75t/p6kb_headode=droptifindexo,
   tp_"ss=ulas"e53a>>>>>>>>>*">33agt>3318r"at head */xass="line"           t/packet8af_p33192599ue"33ketSOCK9   union {
3319et-=_nfi e8 ode=dro.33ul/pacxass="line"           t/packet8af_p33u12599ue"33*"v6" cla0*pty tert"> 3133*"v>3321et-=ass="line"           t/packet8af_p33u22599ue"33hrefi815"230MSG_DONTWAIT33hre>33uilters=ulassunsigned2int>p>257  9if     2507300pol8verslenne2594ue2507300pol8H?"*po7mencopied#L27h srefcfilk" class="sref">filk="9adeldo3ine8 hrefi8filk" class="sref">filk="9a,_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9aiass="line"           t/packet8af_p33u32599ue"33efers*bnet/packetffENXIO33efe>332a>    3ref="_sb_is_gshrefi815t/p75t/pldo3ine8 hrefi82ol8_tablk" class="sref">2ol8_tablk="9adeldo3ine8 hrefi8waihls*bnetco_rwaiha hdeefa>    3ref="8c.c#L27M/harline" n33u42599ue"33_socpo,
33u4id=_"me1525ng15719/af_plent_so."25ng33u52599ue"33agttv_>"e53a>>>>>>>>>*">33agt>332f="+nik"ne8veo7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n33u62599ue"33tv_>"e53a>>>>>>>>>*">po<33tv_>33u6/packetrf259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n33u72599ue"332626ue"me1526hcketSOCK9i33262>33u-&7net/p75t/punsigned2int>p>257  9if     ma/a>   tp_"ss=ulasma/a26/>1>264aw9 clas99ef"datagram_pol8verslenne2594uedatagram_pol8H?"*pty tert"> 3150filk="9a,33288verslenne261bue"me15260"> 31, 09 33u92599ue"33*">po-*pty tert"> 3133*">>3329et-=_nfi e8 ldo3ine8 hrefi8/pin_l27e_bh> #L271" 2608ue/pin_l27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n333e2599ue"33  8ifind8xass    e8 href33  8>3335et-=_nfi e8 "line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"lin.AMPIN9_SYS_HARDpg_vecverslenne2594uepg_vece=r>e<"me1525ng15719/af_plent_so."25ng33 12599ue"331526id="L271"9classsnet/33152>33 9et-=_nfi e8 hrefi815"lin!ev 31456L300">22507300previous_rx_framk" class="sref">2507300previous_rx_framkH?"*pty tert"> 3150, 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"liniass="line"           t/packet8af_p33322599ue"33ruNULL*bnetf_p3140fENXIO33ruN>333iltert_socpo,
pacTP_STATUS_KERNEce=r>eeefa>    3ref="8c.c#L27M/harline" n33332599ue"33refclass="sref Loc#L271"33ref>333a>    3ref="_sb_is_gshrefi815p>257  9if     ma/a>   tp_"ss=ulasma/a26/>1|>264aw9 clas99ef"POLLINverslenne2594ue1OLLIN26/>1|264aw9 clas99ef"POLLRDNORMverslenne2594ue1OLLRDNORMa hdrefa>    3ref="8c.c#L27M/harline" n33 42599ue"33tio_ hr_h roc#L271"devet33tio>33 t/packetrf3335et-=_nfi e8 ldo3ine8 hrefi8/pin_unl27e_bh> #L271" 2608ue/pin_unl27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n33362599ue"3392ag_g="+codesrefclass="3392a>3336/packetrf #L271" 2608ue/pin_l27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_write_queupverslenne2594ueo"_write_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n33372599ue"33 hr_h rpo-&7net/p75t33 hr>333-&7net/p75t/p"line" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring"lin.AMPIN9_SYS_HARDpg_vecverslenne2594uepg_vece=r>e<"me1525ng15719/af_plent_so."25ng33 82599ue"338 hrefi815"230o-&7ne338 h>3333ref="_inf1refA2507300current_framkH?"*pty tert"> 3150, 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring"lini2p>257  9if     TP_STATUS_AVAILABLEverslenne2594ueTP_STATUS_AVAILABLEe=r>eeefa>    3ref="8c.c#L27M/harline" n33392599ue"33a0"> 3153<26len>2638a9hr33a0">3339et-=_nfi e8 hrefi81555555555p>257  9if     ma/a>   tp_"ss=ulasma/a26/>1|>264aw9 clas99ef"POLLOUrverslenne2594ue1OLLOUr26/>1|264aw9 clas99ef"POLLWRNORMverslenne2594ue1OLLWRNORMa hdrefa>    3ref="8c.c#L27M/harline" n334e2599ue"33L*bnetf_psfreet/afEINVAL33L*b>334eet-=_nfi e8 xass="line"           t/packet8af_p33412599ue"33se8 hrefi815"230o-&733se8>3349et-=_nfi e8 ldo3ine8 hrefi8/pin_unl27e_bh> #L271" 2608ue/pin_unl27e_bhH?"*p5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_write_queupverslenne2594ueo"_write_queup"lin.AMPIN9_SYS_HARDl27et.c9L354" iARCHl27ee=r>erefa>    3ref="8c.c#L27M/harline" n33422599ue"33/pv hr_h rpo33Liltert_socpo.eldma/a>   tp_"ss=ulasma/a26/>refa>    3ref="8c.c#L27M/harline" n33432599ue"33h    e8 hrefi815"230_sb_33h  >33La>   xass="line"           t/packet8af_p33442599ue"33refAMaf>->         6k33ref>33Lt/pacass="line"           t/packet8af_p33452599ue"33a hrco7men_kb#L27ffENXIO33a h>334f="+nmen_8   recp_timestamp21"idsrefcla33462599ue"33592ag_g="+codesssssssseg33592>33Le=runlspan_ hr_h rcomment">/* Dirty? Well, I still did not leadrobetter way to accounha spanassssssssss          t/packet8af_ps33472599ue"3340ami>->         6kb_3340a>33L-&7nelspan_ hr_h rcomment"> * for usea mmaps.a spanassssssssss          t/packet8af_ps33482599ue"330ami>->         6inf1330am>33L3ref=lspan_ hr_h rcomment"> */334nd8xassssssssss          t/packet8af_ps335e2599ue"33"sref"gs1_typ"79et-mi>-&33"sr>335l/pacs=ulassvoid2e" 2628ue"me152u507300mm_ope=q196#Ltv6" cla0u507300mm_ope=H?"*po7mencopied#L27h srefcvm_area_o7mencq196#Ltv6" cla0vm_area_o7mence=r>259_ 8ifNULLk    3ref="8c.c#L27M/harline" n33512599ue"33tgs1_typ"L87AMthrv"sref"33tgs>3359et-="me1525ng15719/af_plent_so."25ng33522599ue"33code=droptmsg_fnW#L273"733cod>335iltert_socpofilk="9adeldo3ine8 hrefi8filk" class="sref">filk="9a1>264aw9 clas99ef"vmavet/pgs1_eize31vmaa hd>2591p9cketP95a>.eldvm_filk" class="sref">vm_filk26/>refa>    3ref="8c.c#L27M/harline" n33532599ue"33F96="+nik"ne8hsrefclass=33F96>335a>    3ref="_slenne259bue"me1525e=rlassghls*bnetco_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9a1>264aw9 clas99ef"filk" class="sref">filk="9a" 26_3ue"me1526_e150private_datavet/pgs1_eize31private_data26/>refa>    3ref="8c.c#L27M/harline" n33542599ue"33/po.335t/packetrf 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n33"52599ue"33r33"e=runers*bnet"line" 2628ue"me1520">   tp_"ss=ulass="linemen_8   recp_timestamp21"idsrefcla33572599ue"33 classhcke25tas>255cl9ss33 cl>33"-&7net/p75t/p6kb_headne" 2587ue"me15atomic_incverslenne2594ueatomic_incH?"*p5MESTAMPIN9_SYS_HARDuld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>erefa>    3ref="8c.c#L27M/harline" n33582599ue"33enf_psfree_skb3140fENXIO33enf>33"3ref=xass="line"           t/packet8af_p33592599ue"33efmsghls*bnetmsgketr,-ha33efm>335nd8xassssssssss          t/packet8af_ps336e2599ue"33a hrco7men_kb#L27ffENXIO33a h>336l/pacs=ulassvoid2e" 2628ue"me152u507300mm_closk" class="sref">u507300mm_closkH?"*po7mencopied#L27h srefcvm_area_o7mencq196#Ltv6" cla0vm_area_o7mence=r>259_ 8ifNULLk    3ref="8c.c#L27M/harline" n33612599ue"33et/af>->         SKB_33et/>3369et-="me1525ng15719/af_plent_so."25ng33622599ue"33na>
>336iltert_socpofilk="9adeldo3ine8 hrefi8filk" class="sref">filk="9a1>264aw9 clas99ef"vmavet/pgs1_eize31vmaa hd>2591p9cketP95a>.eldvm_filk" class="sref">vm_filk26/>refa>    3ref="8c.c#L27M/harline" n33632599ue"33a> eeketrf,-=_nfiine8 t.33a> >336a>    3ref="_slenne259bue"me1525e=rlassghls*bnetco_r0255e/="9adeldo3ine8 hrefi8lasslt. rerefers*bnet/p="9a1>264aw9 clas99ef"filk" class="sref">filk="9a" 26_3ue"me1526_e150private_datavet/pgs1_eize31private_data26/>refa>    3ref="8c.c#L27M/harline" n33642599ue"33d=_nfi eeketrffENXIO33d=_>336t/packetrf 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n33652599ue"33roptmsg_fnW#L273"7flagam33rop>336f="+nmen_8   recp_timestamp21"idsrefcla33a62599ue"3361591592ag_ef="+code=33615>336e=runers*bnet"line" 2628ue"me1520">   tp_"ss=ulass="linemen_8   recp_timestamp21"idsrefcla33672599ue"33hrco7mencopied#L27fENXIO33hrc>336-&7net/p75t/p6kb_headne" 2587ue"me15atomic_decverslenne2594ueatomic_decH?"*p5MESTAMPIN9_SYS_HARDuld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="line" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>erefa>    3ref="8c.c#L27M/harline" n33682599ue"33assmilass="lin25273>256h33ass>3363ref=xass="line"           t/packet8af_p33a92599ue"33"+code=dropt_s_=>por_que33"+c>336nd8xassssssssss          t/packet8af_ps337e2599ue"33ifind8xassef="+code=drop33ifi>337l/pacs=ulassconst o7mencopied#L27h srefcvm_operulaons_o7mencq196#Ltv6" cla0vm_operulaons_o7menc&7nete" 2628ue"me152u507300mmap_op_datagramoc#L271u507300mmap_op_a hd1" "me1525ng15719/af_plent_so."25ng33712599ue"33=dropt_s_=>por_queoe 31i33=dr>3379et-=_nfi e8 .AMPIN9_SYS_HARDope=q196#Ltv6" cla0ope=H?"*e8 =kb_headne" 2587ue"me15u507300mm_ope=q196#Ltv6" cla0u507300mm_ope=H?"*iass="line"           t/packet8af_p33722599ue"33_kb2cketfcloskH?"*8 =kb_headne" 2587ue"me15u507300mm_closk" class="sref">u507300mm_closkH?"*iass="line"           t/packet8af_p33732599ue"33"+code=dropt_s_=>por_que33"+c>33ia>   }refa>    3ref="8c.c#L27M/harline" n33742599ue"33f="+code=dropt_s_=>por_r33f=">337t/pacass="line"           t/packet8af_p33752599ue"33etrffENXIOa>. #L271" 2608uepg0="9adeldo3ine8 hrefi8pg_vecverslenne2594uepg_vece=r>i2unsigned2int>p>257  9if     ordea> #L271" 2608ueordeaH?"*iass="line"           t/packet8af_p33762599ue"33"+code=dropt_s_=>por_que33"+c>337e=runers*bnet/packet/ffffffffunsigned2int>p>257  9if     le=q196#Ltv6" cla0"L8menk ass="line"           t/packet8af_p33772599ue"33821" clasnt_sketrffENXIO33821>33i-&7ne"me1525ng15719/af_plent_so."25ng33782599ue"33"me152507300"> /9f_pekbk33"me>3373ref="_inf1reint>p>257  9if     iq196#Ltv6" cla0ia hdrefa>    3ref="8c.c#L27M/harline" n33792599ue"33 nam95cket/af_preturn10/33 na>337nd8xassssssssss          t/packet8af_ps338e2599ue"33ne8verslenne25g9ue"me15233ne8>33neet-=_nfi e8 for pty tert"> 3150p>257  9if     iq196#Ltv6" cla0ia hd < e" 2628ue"me152le=q196#Ltv6" cla0"L8menkn>p>257  9if     iq196#Ltv6" cla0ia hd++e<"me1525ng15719/af_plent_so."25ng33812599ue"33bue"me1525/pTPe.sre9ALIG33bue>3389et-=_nfi e8 hrefi815"line" 2628ue"me152likelyq196#Ltv6" cla0"ikelyH?"*pty tert"> 3150[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>ee<"me1525ng15719/af_plent_so."25ng33822599ue"33efers*bnet/packetfENXIOa33efe>338iltert_socpo,
 #L271" 2608ueis_vmall270addaH?"*pty tert"> 3150[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>eeme1525ng15719/af_plent_so."25ng33832599ue"33L27125" c>258e79et}ENXIO33L27>33na>    3ref="_sb_is_gst/p75t/p6kb_headne" 2587ue"me15vfreeq196#Ltv6" cla0vfreeH?"*pty tert"> 3150[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>erefa>    3ref="8c.c#L27M/harline" n33842599ue"33_filtert_socpo,
33nt/packetrf"e53a>>>>>>338fi>338f="+nik"ne8verslenne222222222=ulass=Oe" 2628ue"me152free_page_datagramoc#L271free_page_H?"*p(unsigned2long)e" 2628ue"me152ug_vecverslenne2594uepg_vece=r>[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>iass="line"           t/packet8af_p33862599ue"33"me1525stp_vlan_9528300"33"me>33ne=runers*bnet/packet/8verslenne222222222=ulass=Oe" 2628ue"me152ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n33872599ue"33 tp_"ss=ulass="line" 25833 tp>338-&7net/p75t/p6kb_head=ulass=Oe" 2628ue"me152ug_vecverslenne2594uepg_vece=r>[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>1>264aw9 clas99ef"NULclass="sref">pacNULc="9a>>>>>>>*"*pty tert"> 3133>>>>33n3ref="_inf1refA33n9et-=_nfi e8 xass="line"           t/packet8af_p339e2599ue"33>  ize_>#L27M>->     33>  >3395et-=_nfi e8 64aw9 clas99ef"kfreeq196#Ltv6" cla0kfreeH?"*pty tert"> 3150erefa>    3ref="8c.c#L27M/harline" n33912599ue"33agameassfnW#L79etfENXIOa33aga>3399et-=xass="line"           t/packet8af_p33922599ue"331"devet/packetr/af>->331"d>339ilterass="line"           t/packet8af_p33932599ue"33F96="+eldo3ine8 hrefi81533F96>339a>   s=ulasschardeldo3ine8 hrefi8all270one_pg_vec_pageverslenne2594ueall270one_pg_vec_pageH?"*punsigned2long/ne" 2587ue"me15ordea> #L271" 2608ueordeaH?"*eass="line"           t/packet8af_p33942599ue"339ine" 983394id=_"me1525ng15719/af_plent_so."25ng33952599ue"33do3ine8 hrefi815"230 8  33do3>339f="+nik"ne8vechardeldo3ine8 hrefi8buffea> #L271" 2608uebuffeae=r>1>264aw9 clas99ef"NULclass="sref">pacNULc="9a   tp_ve25stp>25933950>3396/packetrf1>264aw9 clas99ef"GFP_KERNEclass="sref">pacGFP_KERNEce=r>1|264aw9 clas99ef"__GFP_COMPverslenne2594ue__GFP_COMPe=r>1|a href="+nik"ne8verslenne2595ue"me33972599ue"33hr_h rpo339-&7net/p75t/p6kb_headrslenne22264aw9 clas99ef"__GFP_ZEROverslenne2594ue__GFP_ZEROe=r>1|264aw9 clas99ef"__GFP_NOWARNverslenne2594ue__GFP_NOWARNe=r>1|264aw9 clas99ef"__GFP_NORETRYverslenne2594ue__GFP_NORETRY="9a 31, 09 33992599ue"33SG_COMPATna>
3399et-=_nfi e8 ldo3ine8 hrefi8buffea> #L271" 2608uebuffeae=r>1>2(charde)264aw9 clas99ef"__get_free_page_datagramoc#L271__get_free_page_H?"*pty tert"> 3150i2p>257  9if     ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n34ne2599ue"34ne25OMPATna>
340*&7neefa>    3ref="8c.c#L27M/harline" n34n12599ue"34ngameassfnW#L79etfENXIOa34nga>3409et-=_nfi e8 "line" 2628ue"me152buffea> #L271" 2608uebuffeae=r>eefa>    3ref="8c.c#L27M/harline" n34n22599ue"34n"devet/packetr/af>->34n"d>340iltert_socpo,
.eldbuffea> #L271" 2608uebuffeae=r>refa>    3ref="8c.c#L27M/harline" n34n32599ue"34n96="+eldo3ine8 hrefi81534n96>340a>   efa>    3ref="8c.c#L27M/harline" n34n42599ue"34nine" 98340t/packetrf/*340f="+nlspan_ hr_h rcomment">         * __get_free_page_ failed, fall bket to vmall27   tp_ve25stp>25934n50>340e=runlspan_ hr_h rcomment">         */340-&7net/p75t/pldo3ine8 hrefi8buffea> #L271" 2608uebuffeae=r>1>264aw9 clas99ef"vzall27q196#Ltv6" cla0vzall27 #L271" 2608ueordeaH?"*e * e" 2628ue"me152PAGE_SIZEverslenne2594uePAGE_SIZEH?"*erefa>    3ref="8c.c#L27M/harline" n34n82599ue"34nw9assmi96o1.srefclass="34nw9>34088verslenne261bue"me15260"> 31, 09 34n92599ue"34nG_COMPATna>
3409et-=_nfi e8 "line" 2628ue"me152buffea> #L271" 2608uebuffeae=r>eefa>    3ref="8c.c#L27M/harline" n341e2599ue"341526_eraw 3148ne" name1534152>3415et-=_nfi e8 hrefi815ode=drop9cketP95a>.eldbuffea> #L271" 2608uebuffeae=r>refa>    3ref="8c.c#L27M/harline" n34112599ue"34etf_p3140fENXIOa>.3411et-=ass="line"           t/packet8af_p34122599ue"34>>261g 8ifind8xass}ENXIO34>>2>341iltert_socpo/*->-&>341a>   lspan_ hr_h rcomment">         * vmall27 failed, lets digeinto swap here"e53a>>>>>>>>>*"34cag>341t/paclspan_ hr_h rcomment">         */"e53a>>>>>>>>>*">34agt>3415et-=_nfi e8 ldo3ine8 hrefi8gfp_flag_datagramoc#L271gfp_flag_e=r>15MEST= ~64aw9 clas99ef"__GFP_NORETRYverslenne2594ue__GFP_NORETRY="9a        unio2634re">3416/packetrf #L271" 2608uebuffeae=r>1>2(charde)64aw9 clas99ef"__get_free_page_datagramoc#L271__get_free_page_H?"*pty tert"> 3150i2p>257  9if     ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n34172599ue"34=ulass="line" 2606ue"me134=ul>341-&7net/p75t/p"line" 2628ue"me152buffea> #L271" 2608uebuffeae=r>eefa>    3ref="8c.c#L27M/harline" n34182599ue"34agttv_>"e53a>>>>>>>>>*">34agt>3413ref="_inf1refA.eldbuffea> #L271" 2608uebuffeae=r>refa>    3ref="8c.c#L27M/harline" n34192599ue"34ketSOCK9   union {
341nd8xassssssssss          t/packet8af_ps342e2599ue"34ulass="line" 2609ue"me1534ula>3420ltert_socpo/* 3134*"v>3421et-=lspan_ hr_h rcomment">         * complete and utter failure34uilterlspan_ hr_h rcomment">         */342a>    3ref="_ode=drop9cketP95a>.eldNULclass="sref">pacNULc="9a,
34u4id=_xass="line"           t/packet8af_p34u52599ue"34agttv_>"e53a>>>>>>>>>*">34agt>342f="+nmen_8   recp_timestamp21"idsrefcla34u62599ue"34tv_>"e53a>>>>>>>>>*">po<34tv_>34u6/pacs=ulasso7mencopied#L27h srefcpg0> #L271" 2608uepg0="9adeldo3ine8 hrefi8all270ug_vecverslenne2594ueall270ug_vecH?"*po7mencopied#L27h srefctu507300reqverslenne2594uetu507300req="9adeldo3ine8 hrefi8reqverslenne2594uereq="9a,2int>p>257  9if     ordea> #L271" 2608ueordeaH?"*eefa>    3ref="8c.c#L27M/harline" n34u72599ue"342626ue"me1526hcketSOCK9i34262>342-&7ne"me1525ng15719/af_plent_so."25ng34u82599ue"34ulass="line" 26d7ue"me1534ula>3423ref="_inf1reunsigned2int>p>257  9if     bl27e_na> #L271" 2608uebl27e_nae=r>1>264aw9 clas99ef"reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_na> #L271" 2608uetp_bl27e_na="9apo-*pty tert"> 3134*">>3429et-=_nfi e8 o7mencopied#L27h srefcpg0> #L271" 2608uepg0="9adeldo3ine8 hrefi8pg_vecverslenne2594uepg_vece=r>3435et-=_nfi e8 "nt>p>257  9if     iq196#Ltv6" cla0ia hdrefa>    3ref="8c.c#L27M/harline" n34 12599ue"341526id="L271"9classsnet/34152>3431et-=ass="line"           t/packet8af_p34322599ue"34ruNULL*bnetf_p3140fENXIO34ruN>343iltert_socpo1>264aw9 clas99ef"kcall27q196#Ltv6" cla0kcall27H?"*pty tert"> 3150 #L271" 2608uebl27e_nae=r>, sizeofpo7mencopied#L27h srefcpg0> #L271" 2608uepg0="9a)i2p>257  9if     GFP_KERNEclass="sref">pacGFP_KERNEce=r>erefa>    3ref="8c.c#L27M/harline" n34332599ue"34refclass="sref Loc#L271"34ref>343a>    3ref="_"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*p!ev 31456L300">22g_vecverslenne2594uepg_vece=r>eeefa>    3ref="8c.c#L27M/harline" n34 42599ue"34tio_ hr_h roc#L271"devet34tio>343t/packetrf    3ref="8c.c#L27M/harline" n34 52599ue"34hr_h r3140/afN 0 }fENXIO34hr_>343f="+nmen_8   recp_timestamp21"idsrefcla34362599ue"3492ag_g="+codesrefclass="3492a>3436/packetrf 3150p>257  9if     iq196#Ltv6" cla0ia hd < e" 2628ue"me152bl27e_na> #L271" 2608uebl27e_nae=r>n>p>257  9if     iq196#Ltv6" cla0ia hd++e<"me1525ng15719/af_plent_so."25ng34372599ue"34 hr_h rpo-&7net/p75t34 hr>343-&7net/p75t/p6kb_headne" 2587ue"me15ug_vecverslenne2594uepg_vece=r>[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>1>264aw9 clas99ef"all270one_pg_vec_pageverslenne2594ueall270one_pg_vec_pageH?"*pp>257  9if     ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n34 82599ue"348 hrefi815"230o-&7ne348 h>3433ref="_inf1refA22g_vecverslenne2594uepg_vece=r>[p>257  9if     iq196#Ltv6" cla0ia hd].AMPIN9_SYS_HARDbuffea> #L271" 2608uebuffeae=r>eeme1525ng15719/af_plent_so."25ng34392599ue"34a0"> 3153<26len>2638a9hr34a0">3439et-=_nfi e8 hrefi81555555555goto p>257  9if     ouc_free_pgvecverslenne2594ueouc_free_pgveca hdrefa>    3ref="8c.c#L27M/harline" n344e2599ue"34L*bnetf_psfreet/afEINVAL34L*b>344eet-=_nfi e8 xass="line"           t/packet8af_p34412599ue"34se8 hrefi815"230o-&734se8>3441et-=ass="line"           t/packet8af_p34422599ue"34/pv hr_h rpo34Lilterp>257  9if     oucq196#Ltv6" cla0ouca hdLbna>
.<34432599ue"34h    e8 hrefi815"230_sb_34h  >344a>    3ref="_ode=drop9cketP95a>.eldpg_vecverslenne2594uepg_vece=r>->         6k34ref>34Lt/pacass="line"           t/packet8af_p34452599ue"34a hrco7men_kb#L27ffENXIO34a h>344f="+np>257  9if     ouc_free_pgvecverslenne2594ueouc_free_pgveca hdLbna>
.<34462599ue"34592ag_g="+codesssssssseg34592>3446/packetrf.eldpg_vecverslenne2594uepg_vece=r>i2p>257  9if     ordea> #L271" 2608ueordeaH?"*i2p>257  9if     bl27e_na> #L271" 2608uebl27e_nae=r>erefa>    3ref="8c.c#L27M/harline" n34472599ue"3440ami>->         6kb_3440a>344-&7net/p75t/pldo3ine8 hrefi8pg_vecverslenne2594uepg_vece=r>1>264aw9 clas99ef"NULclass="sref">pacNULc="9a->         6inf1340am>3443ref="_inf1regoto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n34492599ue"34tgs1_typ"L87AMthrv"sref"34tgs>344nd8xaxass="line"           t/packet8af_p345e2599ue"34"sref"gs1_typ"79et-mi>-&34"sr>345*&7neefa>    3ref="8c.c#L27M/harline" n34512599ue"34tgs1_typ"L87AMthrv"sref"34tgs>3459et-=s=ulassint>p>257  9if     2507300s300ringt.c9L354" iARCH2507300s300ringH?"*po7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo->.eldtu507300req_uverslenne2594uetu507300req_u="9adeldo3ine8 hrefi8req_uverslenne2594uereq_u="9aiass="line"           t/packet8af_p34522599ue"34code=droptmsg_fnW#L273"734cod>345iltert_socpo,
p>257  9if     closingt.c9L354" iARCHclosing="9a,2int>p>257  9if     tx_ringt.c9L354" iARCHtx_ring"lineme1525ng15719/af_plent_so."25ng34532599ue"34F96="+nik"ne8hsrefclass=34F96>345a>   "me1525ng15719/af_plent_so."25ng34542599ue"34/po.345t/packetrf #L271" 2608uepg0="9adeldo3ine8 hrefi8pg_vecverslenne2594uepg_vece=r>1>264aw9 clas99ef"NULclass="sref">pacNULc="9a259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n34562599ue"342555ue"me1525stp_vlan_9s34255>34"e=runers*bnet"nt>p>257  9if     was_runningt.c9L354" iARCHwas_runninge=r>i2p>257  9if     ordea> #L271" 2608ueordeaH?"*1" .255cl9ss34 cl>34"-&7net/p75t/po7mencopied#L27h srefc2507300ring_buffea> #L271" 2608ue2507300ring_buffea="9adeldo3ine8 hrefi8rb>   tp_"ss=ulasrba hdrefa>    3ref="8c.c#L27M/harline" n34582599ue"34enf_psfree_skb3140fENXIO34enf>3458&7net/p75t/po7mencopied#L27h srefcs=_buff_heakq196#Ltv6" cla0s=_buff_heak="9adeldo3ine8 hrefi8rb_queupverslenne2594uerb_queupa hdrefa>    3ref="8c.c#L27M/harline" n34592599ue"34efmsghls*bnetmsgketr,-ha34efm>3459et-=_nfi e8 ldo3ine8 hrefi8__bere" na<9a> c#L271__bereet-=_ldo3ine8 hrefi8num" na<9a> c#L271numa hdrefa>    3ref="8c.c#L27M/harline" n346e2599ue"34a hrco7men_kb#L27ffENXIO34a h>3465et-=_nfi e8 "nt>p>257  9if     era> #L271" 2608ueeraH?"*1" ptifindexo,
pac    3ref="8c.c#L27M/harline" n34612599ue"34et/af>->         SKB_34et/>3469et-=_nfi e8 lspan_ hr_h rcomment">/* Added to avoid2minimal /a>, ch=dro*/
>346iltert_socpo eeketrf,-=_nfiine8 t.34a> >346a>   efa>    3ref="8c.c#L27M/harline" n34642599ue"34d=_nfi eeketrffENXIO34d=_>346t/packetrf/* Opening a Tx-ring is NOT supported2in TPACKET_V3o*/346f="+nik"ne8ve"lin!ev 31456L300">2closingt.c9L354" iARCHclosing="9a 5MEST5MEST>p>257  9if     tx_ringt.c9L354" iARCHtx_ring"lin 5MEST5MEST>ne" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_versior> #L271" 2608uetp_versior"lin 5gt; e" 2628ue"me152TPACKET_V2> #L271" 2608ueTPACKET_V2e=r>ee<"me1525ng15719/af_plent_so."25ng34a62599ue"3461591592ag_ef="+code=34615>346e=runers*bnet/packet/e" 2628ue"me152WARNverslenne2594ueWARNe=r>(1, lspan_ hr_h ro7mingt>"Tx-ring is not supported.\n"    3ref="8c.c#L27M/harline" n34672599ue"34hrco7mencopied#L27fENXIO34hrc>346-&7net/p75t/p6kb_headgoto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n34682599ue"34assmilass="lin25273>256h34ass>3468r"at head */xass="line"           t/packet8af_p34a92599ue"34"+code=dropt_s_=>por_que34"+c>346nd8xassssssssss          t/packet8af_ps347e2599ue"34ifind8xassef="+code=drop34ifi>3475et-=_nfi e8 64aw9 clas99ef"rb>   tp_"ss=ulasrba hd1>264aw9 clas99ef"tx_ringt.c9L354" iARCHtx_ring"lin ? 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring"lin : 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"linrefa>    3ref="8c.c#L27M/harline" n34712599ue"34=dropt_s_=>por_queoe 31i34=dr>3479et-=_nfi e8 ldo3ine8 hrefi8rb_queupverslenne2594uerb_queupa hd1>264aw9 clas99ef"tx_ringt.c9L354" iARCHtx_ring"lin ? 5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_write_queupverslenne2594ueo"_write_queup"lin : 5MESTAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lin>2591p9cketP95a>.eldo"_receive_queupverslenne2594ueo"_receive_queup"linrefa>    3ref="8c.c#L27M/harline" n34722599ue"34_kb2cketfpor_que34"+c>3473et-=_nfi e8 ldo3ine8 hrefi8era> #L271" 2608ueeraH?"*1" ptifindexo,
    3ref="8c.c#L27M/harline" n34742599ue"34f="+code=dropt_s_=>por_r34f=">3474="+nik"ne8ve"lin!ev 31456L300">2closingt.c9L354" iARCHclosing="9ae<"me1525ng15719/af_plent_so."25ng34752599ue"34etrffENXIOa>.(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>eeme1525ng15719/af_plent_so."25ng34762599ue"34"+code=dropt_s_=>por_que34"+c>347e=runers*bnet/packet/ffffffffgoto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n34772599ue"34821" clasnt_sketrffENXIO34821>347-&7net/p75t/p6kb_head"line" 2628ue"me152atomic_reakq196#Ltv6" cla0atomic_reake=r>(5MESTAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pendingt.c9L354" iARCH2endinge=r>eeme1525ng15719/af_plent_so."25ng34782599ue"34"me152507300"> /9f_pekbk34"me>3473ref="_inf1refA257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n34792599ue"34 nam95cket/af_preturn10/34 na>3479et-=_nfi e8 xass="line"           t/packet8af_p348e2599ue"34ne8verslenne25g9ue"me15234ne8>348*&7neefa>    3ref="8c.c#L27M/harline" n34812599ue"34bue"me1525/pTPe.sre9ALIG34bue>3489et-=_nfi e8 "line" 2628ue"me152reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_na> #L271" 2608uetp_bl27e_na="9ae<"me1525ng15719/af_plent_so."25ng34822599ue"34efers*bnet/packetfENXIOa34efe>348iltert_socpo,
/* Sanity tests and som, calcululaonso*/258e79et}ENXIO34L27>34na>    3ref="_sb_is_gsldo3ine8 hrefi8era> #L271" 2608ueeraH?"*1" ptifindexo,
    3ref="8c.c#L27M/harline" n34842599ue"34_filtert_socpo,
34nt/packetrf   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vecverslenne2594uepg_vece=r>eeefa>    3ref="8c.c#L27M/harline" n34852599ue"348fi92eagttv_>"e53a>>>>>>348fi>348f="+nik"ne8verslenne222222222goto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n34862599ue"34"me1525stp_vlan_9528300"34"me>34ne=runefa>    3ref="8c.c#L27M/harline" n34872599ue"34 tp_"ss=ulass="line" 25834 tp>348-&7net/p75t/p6kb_headswitch>ne" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_versior> #L271" 2608uetp_versior"line<"me1525ng15719/af_plent_so."25ng34882599ue"34>>>>>>>>*"*pty tert"> 3134>>>>34n3ref="_inf1refA.eldTPACKET_V1> #L271" 2608ueTPACKET_V1a hdLbna>
.<34892599ue"34 8if,-eldo3ine8 hrefi81534 8i>3489et-=_nfi e8 hrefi81555555555e" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_hdrle=q196#Ltv6" cla0tp_hdrle=a hd1>264aw9 clas99ef"TPACKET_HDRLENverslenne2594ueTPACKET_HDRLENa hdrefa>    3ref="8c.c#L27M/harline" n349e2599ue"34>  ize_>#L27M>->     34>  >3495et-=_nfi e8 hrefi81555555555breakrefa>    3ref="8c.c#L27M/harline" n34912599ue"34agameassfnW#L79etfENXIOa34aga>3499et-=_nfi e8 hrefi815caMthp9cketP95a>.eldTPACKET_V2> #L271" 2608ueTPACKET_V2e=r>Lbna>
.<34922599ue"341"devet/packetr/af>->341"d>349iltert_socpo,
" 26_3ue"me1526_e150tp_hdrle=q196#Ltv6" cla0tp_hdrle=a hd1>264aw9 clas99ef"TPACKET2_HDRLENverslenne2594ueTPACKET2_HDRLENa hdrefa>    3ref="8c.c#L27M/harline" n34932599ue"34F96="+eldo3ine8 hrefi81534F96>349a>    3ref="_sb_is_gst/p75t/pbreakrefa>    3ref="8c.c#L27M/harline" n34942599ue"349ine" 98349t/packetrfLbna>
.<34952599ue"34do3ine8 hrefi815"230 8  34do3>349f="+nik"ne8verslenne2222222223ue"me1526_e150uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_hdrle=q196#Ltv6" cla0tp_hdrle=a hd1>264aw9 clas99ef"TPACKET3_HDRLENverslenne2594ueTPACKET3_HDRLENa hdrefa>    3ref="8c.c#L27M/harline" n34962599ue"34950   tp_ve25stp>25934950>349e=runers*bnet/packet/ffffffffbreakrefa>    3ref="8c.c#L27M/harline" n34972599ue"34hr_h rpo349-&7net/p75t/p6kb_headxass="line"           t/packet8af_p34982599ue"34hw9assmi96o1.srefclass="34hw9>34988verslenne261bue"me15260"> 31, 09 34992599ue"34SG_COMPATna>
3499et-=_nfi e8 hrefi815p>257  9if     era> #L271" 2608ueeraH?"*1" ptifindexo,
pac    3ref="8c.c#L27M/harline" n35ne2599ue"35ne25OMPATna>
3505et-=_nfi e8 hrefi815"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*p(int)64aw9 clas99ef"reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_size> #L271" 2608uetp_bl27e_size"lin 5lt;= 0eeefa>    3ref="8c.c#L27M/harline" n35n12599ue"35ngameassfnW#L79etfENXIOa35nga>3509et-=_nfi e8 hrefi81555555555goto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35n22599ue"35n"devet/packetr/af>->35n"d>350iltert_socpo,
 #L271" 2608uetp_bl27e_size"lin 5MEST>ne" 2628ue"me152PAGE_SIZEverslenne2594uePAGE_SIZEH?"* - 1)eeefa>    3ref="8c.c#L27M/harline" n35n32599ue"35n96="+eldo3ine8 hrefi81535n96>350a>    3ref="_sb_is_gst/p75t/pgoto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35n42599ue"35nine" 98350t/packetrf #L271" 2608uetp_framk_size"lin 5lt;23ue"me1526_e150uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_hdrle=q196#Ltv6" cla0tp_hdrle=a hd1+efa>    3ref="8c.c#L27M/harline" n35n52599ue"35no3ine8 hrefi815"230 8  35no3>350f="+nik"ne8verslenne222222222=ulass=Ohrefi815p>257  9if     uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_reserve> #L271" 2608uetp_reservee=r>eeefa>    3ref="8c.c#L27M/harline" n35n62599ue"35n50   tp_ve25stp>25935n50>350e=runers*bnet/packet/ffffffffgoto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35n72599ue"35nr_h rpo350-&7net/p75t/p6kb_head"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*pAMPIN9_SYS_HARDreqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_framk_size> #L271" 2608uetp_framk_size"lin 5MEST>ne" 2628ue"me152TPACKET_ALIGNMENrverslenne2594ueTPACKET_ALIGNMENrH?"* - 1)eeefa>    3ref="8c.c#L27M/harline" n35n82599ue"35nw9assmi96o1.srefclass="35nw9>3503ref="_inf1refA257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35n92599ue"35nG_COMPATna>
350nd8xassssssssss          t/packet8af_ps351e2599ue"351526_eraw 3148ne" name1535152>3515et-=_nfi e8 hrefi815AMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150framks_per_bl27e>   tp_"ss=ulasframks_per_bl27ea hd1>264aw9 clas99ef"reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_size> #L271" 2608uetp_bl27e_size"lin/AMPIN9_SYS_HARDreqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_framk_size> #L271" 2608uetp_framk_size"linrefa>    3ref="8c.c#L27M/harline" n35112599ue"35etf_p3140fENXIOa>.3519et-=_nfi e8 hrefi815"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*pAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150framks_per_bl27e>   tp_"ss=ulasframks_per_bl27ea hd15lt;= 0eeefa>    3ref="8c.c#L27M/harline" n35122599ue"35>>261g 8ifind8xass}ENXIO35>>2>351iltert_socpo,
257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35132599ue"35>->-&>351a>    3ref="_sb_is_gs"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*p(AMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150framks_per_bl27e>   tp_"ss=ulasframks_per_bl27ea hd1* e" 2628ue"me152reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_na> #L271" 2608uetp_bl27e_na="9ae    3ref="8c.c#L27M/harline" n35142599ue"35cagttv_>"e53a>>>>>>>>>*"35cag>351t/packetrf #L271" 2608uetp_framk_nae=r>eeefa>    3ref="8c.c#L27M/harline" n35152599ue"35agttv_>"e53a>>>>>>>>>*">35agt>351f="+nik"ne8verslenne222222222goto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35162599ue"35re" na<9a>        unio2635re">351e=runefa>    3ref="8c.c#L27M/harline" n35172599ue"35=ulass="line" 2606ue"me135=ul>351-&7net/p75t/p6kb_headne" 2587ue"me15era> #L271" 2608ueeraH?"*1" ptifindexo,
    3ref="8c.c#L27M/harline" n35182599ue"35agttv_>"e53a>>>>>>>>>*">35agt>3513ref="_inf1refA257  9if     ordea> #L271" 2608ueordeaH?"*1" p>257  9if     get_ordea> #L271" 2608ueget_ordeaH?"*pAMPIN9_SYS_HARDreqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_size> #L271" 2608uetp_bl27e_size"linerefa>    3ref="8c.c#L27M/harline" n35192599ue"35ketSOCK9   union {
3519et-=_nfi e8 hrefi815p>257  9if     pg_vecverslenne2594uepg_vece=r>1>264aw9 clas99ef"all270ug_vecverslenne2594ueall270ug_vecH?"*pAMPIN9_SYS_HARDreqverslenne2594uereq="9ai2p>257  9if     ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n352e2599ue"35ulass="line" 2609ue"me1535ula>3525et-=_nfi e8 hrefi815"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*p!ev 31456L300">22g_vecverslenne2594uepg_vece=r>eeefa>    3ref="8c.c#L27M/harline" n35u12599ue"35*"v6" cla0*pty tert"> 3135*"v>3529et-=_nfi e8 hrefi81555555555goto p>257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35u22599ue"35hrefi815"230MSG_DONTWAIT35hre>352iltert_socpo,
ne" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_versior> #L271" 2608uetp_versior"line<"me1525ng15719/af_plent_so."25ng35u32599ue"35efers*bnet/packetffENXIO35efe>352a>    3ref="_sb_is_gscaMthp9cketP95a>.eldTPACKET_V3> #L271" 2608ueTPACKET_V3e=r>Lbna>
.<35u42599ue"35_socpo,
352t/packetrf/* Transmit path is not supported. W, cheNXId"e53a>>>>>>>>>*">35agt>352f="+nlspan_ hr_h rcomment">                 * it above but just being paranoid"e53a>>>>>>>>>*">po<35tv_>352e=runlspan_ hr_h rcomment">                 */352-&7net/p75t/p6kb_headrslenne2"lin!ev 31456L300">2tx_ringt.c9L354" iARCHtx_ring"lineme1525ng15719/af_plent_so."25ng35u82599ue"35ulass="line" 26d7ue"me1535ula>3523ref="_inf1refA2init_prb_bdqcverslenne2594ueinit_prb_bdqcH?"*pAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>i2p>257  9if     rb>   tp_"ss=ulasrba hdi2p>257  9if     pg_vecverslenne2594uepg_vece=r>i2p>257  9if     req_uverslenne2594uereq_u="9ai>p>257  9if     tx_ringt.c9L354" iARCHtx_ring"linerefa>    3ref="8c.c#L27M/harline" n35u92599ue"35*">po-*pty tert"> 3135*">>3529et-=_nfi e8 hrefi8155555555555555555breakrefa>    3ref="8c.c#L27M/harline" n353e2599ue"35  8ifind8xass    e8 href35  8>3535et-=_nfi e8 hrefi815defaultLbna>
.<35 12599ue"351526id="L271"9classsnet/35152>3539et-=_nfi e8 hrefi81555555555breakrefa>    3ref="8c.c#L27M/harline" n35322599ue"35ruNULL*bnetf_p3140fENXIO35ruN>353iltert_socpo,
353a>    3ref="_xass="line"           t/packet8af_p35342599ue"35tio_ hr_h roc#L271"devet35tio>353t/packetrf/* Done */353f="+nik"ne8veelse<"me1525ng15719/af_plent_so."25ng35362599ue"3592ag_g="+codesrefclass="3592a>353e=runers*bnet/packet/e" 2628ue"me152era> #L271" 2608ueeraH?"*1" ptifindexo,
pac    3ref="8c.c#L27M/harline" n35372599ue"35 hr_h rpo-&7net/p75t35 hr>353-&7net/p75t/p6kb_head"line" 2628ue"me152unlikelyq196#Ltv6" cla0unlikelyH?"*pAMPIN9_SYS_HARDreqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_framk_na> #L271" 2608uetp_framk_nae=r>eeefa>    3ref="8c.c#L27M/harline" n35 82599ue"358 hrefi815"230o-&7ne358 h>3533ref="_inf1refA257  9if     oucq196#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n35392599ue"35a0"> 3153<26len>2638a9hr35a0">3539et-=_nfi e8 xass="line"           t/packet8af_p354e2599ue"35L*bnetf_psfreet/afEINVAL35L*b>354*&7neefa>    3ref="8c.c#L27M/harline" n35412599ue"35se8 hrefi815"230o-&735se8>3549et-=_nfi e8 ldo3ine8 hrefi8l27e_s27e>   tp_"ss=ulasl27e_s27eH?"*pAMPIN9_SYS_HARD/a>   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n35422599ue"35/pv hr_h rpo354ilterass="line"           t/packet8af_p35432599ue"35h    e8 hrefi815"230_sb_35h  >354a>    3ref="_lspan_ hr_h rcomment">/* Detach>s27eet from    work */->         6k35ref>3544et-=_nfi e8 ldo3ine8 hrefi8spin_l27e>   tp_"ss=ulasspin_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n35452599ue"35a hrco7men_kb#L27ffENXIO35a h>3545et-=_nfi e8 ldo3ine8 hrefi8was_runningt.c9L354" iARCHwas_runninge=r>1>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150runningt.c9L354" iARCHrunninge=r>refa>    3ref="8c.c#L27M/harline" n35462599ue"35592ag_g="+codesssssssseg35592>3546/packetrf c#L271numa hd1>264aw9 clas99ef"uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150num" na<9a> c#L271numa hdrefa>    3ref="8c.c#L27M/harline" n35472599ue"3540ami>->         6kb_3540a>354-&7net/p75t/p"line" 2628ue"me152was_runningt.c9L354" iARCHwas_runninge=r>e<"me1525ng15719/af_plent_so."25ng35482599ue"350ami>->         6inf1350am>3543ref="_inf1refA257  9if     uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150num" na<9a> c#L271numa hd1" .3549et-=_nfi e8 hrefi815p>257  9if     __unregister_prot_hooe>   tp_"ss=ulas__unregister_prot_hooeH?"*pAMPIN9_SYS_HARD/a>   tp_"ss=ulass="lini>p>257  9if     falsk" class="sref">falsk"linerefa>    3ref="8c.c#L27M/harline" n355e2599ue"35"sref"gs1_typ"79et-mi>-&35"sr>355eet-=_nfi e8 xass="line"           t/packet8af_p35512599ue"35tgs1_typ"L87AMthrv"sref"35tgs>3559et-=_nfi e8 ldo3ine8 hrefi8spin_unl27e>   tp_"ss=ulasspin_unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n35522599ue"35code=droptmsg_fnW#L273"735cod>355ilterass="line"           t/packet8af_p35532599ue"35F96="+nik"ne8hsrefclass=35F96>3553et-=_nfi e8 ldo3ine8 hrefi8synchronizk_necq196#Ltv6" cla0synchronizk_necH?"*perefa>    3ref="8c.c#L27M/harline" n35542599ue"35/po.355t/pacass="line"           t/packet8af_p35"52599ue"35r,
    3ref="8c.c#L27M/harline" n35562599ue"352555ue"me1525stp_vlan_9s35255>3556/packetrf   tp_"ss=ulasmutex_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_l27e>   tp_"ss=ulaspg_vec_l27e"linerefa>    3ref="8c.c#L27M/harline" n35572599ue"35 classhcke25tas>255cl9ss35 cl>355-&7net/p75t/p"line" 2628ue"me152closingt.c9L354" iARCHclosing="9a ||264aw9 clas99ef"atomic_reakq196#Ltv6" cla0atomic_reake=r>(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>e == 0e<"me1525ng15719/af_plent_so."25ng35582599ue"35enf_psfree_skb3140fENXIO35enf>3553ref="_inf1refA257  9if     era> #L271" 2608ueeraH?"*1" .3559et-=_nfi e8 hrefi815p>257  9if     spin_l27e_bh>   tp_"ss=ulasspin_l27e_bhe=r>(5MESTAMPIN9_SYS_HARDrb_queupverslenne2594uerb_queupa hd" 26_3ue"me1526_e150l27e>   tp_"ss=ulasl27e"linerefa>    3ref="8c.c#L27M/harline" n356e2599ue"35a hrco7men_kb#L27ffENXIO35a h>3565et-=_nfi e8 hrefi815AMPIN9_SYS_HARDswap>   tp_"ss=ulasswapH?"*pAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vecverslenne2594uepg_vece=r>i2p>257  9if     ug_vecverslenne2594uepg_vece=r>erefa>    3ref="8c.c#L27M/harline" n35612599ue"35et/af>->         SKB_35et/>3569et-=_nfi e8 hrefi815AMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150framk_max>   tp_"ss=ulasframk_maxH?"*1" pAMPIN9_SYS_HARDreqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_framk_na> #L271" 2608uetp_framk_nae=r> - 1)refa>    3ref="8c.c#L27M/harline" n35622599ue"35na>
>356iltert_socpo,
   tp_"ss=ulasrba hd" 26_3ue"me1526_e150heakq196#Ltv6" cla0heak="9ad" . eeketrf,-=_nfiine8 t.35a> >356a>    3ref="_sb_is_gsldo3ine8 hrefi8rb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150framk_size> #L271" 2608ueframk_size"lin >264aw9 clas99ef"reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_framk_size> #L271" 2608uetp_framk_size"linrefa>    3ref="8c.c#L27M/harline" n35642599ue"35d=_nfi eeketrffENXIO35d=_>356t/packetrf(5MESTAMPIN9_SYS_HARDrb_queupverslenne2594uerb_queupa hd" 26_3ue"me1526_e150l27e>   tp_"ss=ulasl27e"linerefa>    3ref="8c.c#L27M/harline" n35652599ue"35roptmsg_fnW#L273"7flagam35rop>356f="+nmen_8   recp_timestamp21"idsrefcla35a62599ue"3561591592ag_ef="+code=35615>356e=runers*bnet/packet/e" 2628ue"me152swap>   tp_"ss=ulasswapH?"*pAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vec_ordea> #L271" 2608uepg_vec_ordea="9ai2p>257  9if     ordea> #L271" 2608ueordeaH?"*erefa>    3ref="8c.c#L27M/harline" n35672599ue"35hrco7mencopied#L27fENXIO35hrc>356-&7net/p75t/p6kb_heade" 2628ue"me152swap>   tp_"ss=ulasswapH?"*pAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vec_le=q196#Ltv6" cla0pg_vec_le=e=r>i2p>257  9if     reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_na> #L271" 2608uetp_bl27e_na="9aerefa>    3ref="8c.c#L27M/harline" n35682599ue"35assmilass="lin25273>256h35ass>35688verslenne261bue"me15260"> 31, 09 35a92599ue"35"+code=dropt_s_=>por_que35"+c>3569et-=_nfi e8 hrefi815p>257  9if     rb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vec_page_datagramoc#L271pg_vec_page_"lin >264aw9 clas99ef"reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_size> #L271" 2608uetp_bl27e_size"lin/AMPIN9_SYS_HARDPAGE_SIZEverslenne2594uePAGE_SIZEH?"*refa>    3ref="8c.c#L27M/harline" n357e2599ue"35ifind8xassef="+code=drop35ifi>3575et-=_nfi e8 hrefi815AMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150prot_hooe>   tp_"ss=ulasprot_hooeH?"*.AMPIN9_SYS_HARDfuncverslenne2594uefuncH?"*1" pAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"lin.AMPIN9_SYS_HARDug_vecverslenne2594uepg_vece=r>e ?efa>    3ref="8c.c#L27M/harline" n35712599ue"35=dropt_s_=>por_queoe 31i35=dr>3579et-=_nfi e8 hrefi815555555555555555555555555555555553ue"me1526_e150tparlin_rc0> #L271" 2608uetparlin_rc0et-=_:opied#L27h srefc2507300rc0> #L271" 2608ueparlin_rc0et-=refa>    3ref="8c.c#L27M/harline" n35722599ue"35_kb2cketf    3ref="8c.c#L27M/harline" n35732599ue"35"+code=dropt_s_=>por_que35"+c>357a>    3ref="_sb_is_gs"line" 2628ue"me152atomic_reakq196#Ltv6" cla0atomic_reake=r>(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>eeefa>    3ref="8c.c#L27M/harline" n35742599ue"35f="+code=dropt_s_=>por_r35f=">357t/packetrf #L271" 2608uepr_eraH?"*pAspan_ hr_h ro7mingt>"parlin_mmap: vma is busy: %d\n".(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150mappekq196#Ltv6" cla0mappeke=r>eerefa>    3ref="8c.c#L27M/harline" n35762599ue"35"+code=dropt_s_=>por_que35"+c>357e=runers*bnetxass="line"           t/packet8af_p35772599ue"35821" clasnt_sketrffENXIO35821>357-&7net/p75t/pldo3ine8 hrefi8mutex_unl27e>   tp_"ss=ulasmutex_unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_l27e>   tp_"ss=ulaspg_vec_l27e"linerefa>    3ref="8c.c#L27M/harline" n35782599ue"35"me152507300"> /9f_pekbk35"me>35788verslenne261bue"me15260"> 31, 09 35792599ue"35 nam95cket/af_preturn10/35 na>3579et-=_nfi e8 ldo3ine8 hrefi8spin_l27e>   tp_"ss=ulasspin_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n358e2599ue"35ne8verslenne25g9ue"me15235ne8>3585et-=_nfi e8 "line" 2628ue"me152was_runningt.c9L354" iARCHwas_runninge=r>e<"me1525ng15719/af_plent_so."25ng35812599ue"35bue"me1525/pTPe.sre9ALIG35bue>3589et-=_nfi e8 hrefi815AMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150num" na<9a> c#L271numa hd1" 3ue"me1526_e150num" na<9a> c#L271numa hdrefa>    3ref="8c.c#L27M/harline" n35822599ue"35efers*bnet/packetfENXIOa35efe>358iltert_socpo,
   tp_"ss=ulasregister_prot_hooeH?"*pAMPIN9_SYS_HARD/a>   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n35832599ue"35L27125" c>258e79et}ENXIO35L27>358a>    3ref="_xass="line"           t/packet8af_p35842599ue"35_filtert_socpo,
3584et-=_nfi e8 ldo3ine8 hrefi8spin_unl27e>   tp_"ss=ulasspin_unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150bind_l27e>   tp_"ss=ulasbind_l27e"linerefa>    3ref="8c.c#L27M/harline" n35852599ue"358fi92eagttv_>"e53a>>>>>>358fi>358f="+nik"ne8ve"line" 2628ue"me152closingt.c9L354" iARCHclosing="9a 5MEST5MEST>ne" 2628ue"me152uevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tp_versior> #L271" 2608uetp_versior"lin 5gt; e" 2628ue"me152TPACKET_V2> #L271" 2608ueTPACKET_V2e=r>ee<"me1525ng15719/af_plent_so."25ng35862599ue"35"me1525stp_vlan_9528300"35"me>358e=runers*bnet/packet/espan_ hr_h rcomment">/* Because we don't support bl27e-based V3 on tx-ring */358-&7net/p75t/p6kb_head"lin!ev 31456L300">2tx_ringt.c9L354" iARCHtx_ring"lineme1525ng15719/af_plent_so."25ng35882599ue"35>>>>>>>>*"*pty tert"> 3135>>>>35n3ref="_inf1refA #L271" 2608ueprb_shutdown_retire_blk_timeaH?"*pAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>i2p>257  9if     tx_ringt.c9L354" iARCHtx_ring"lini2p>257  9if     rb_queupverslenne2594uerb_queupa hderefa>    3ref="8c.c#L27M/harline" n35892599ue"35 8if,-eldo3ine8 hrefi81535 8i>3589et-=_nfi e8 xass="line"           t/packet8af_p359e2599ue"35>  ize_>#L27M>->     35>  >3595et-=_nfi e8 64aw9 clas99ef"release_s27e>   tp_"ss=ulasrelease_s27eH?"*pAMPIN9_SYS_HARD/a>   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n35912599ue"35agameassfnW#L79etfENXIOa35aga>3591et-=ass="line"           t/packet8af_p35922599ue"351"devet/packetr/af>->351"d>359iltert_socpo<"line" 2628ue"me152ug_vecverslenne2594uepg_vece=r>eass="line"           t/packet8af_p35932599ue"35F96="+eldo3ine8 hrefi81535F96>359a>    3ref="_sb_is_gs3ue"me1526_e150free_pg_vecverslenne2594uefree_pg_vecH?"*pp9cketP95a>.eldpg_vecverslenne2594uepg_vece=r>i2p>257  9if     ordea> #L271" 2608ueordeaH?"*i2p>257  9if     reqverslenne2594uereq="9a" 26_3ue"me1526_e150tp_bl27e_na> #L271" 2608uetp_bl27e_na="9aerefa>    3ref="8c.c#L27M/harline" n35942599ue"359ine" 98359t/pacp>257  9if     oucq196#Ltv6" cla0ouca hdLbna>
.<35952599ue"35do3ine8 hrefi815"230 8  35do3>359f="+nik"ne8veode=drop9cketP95a>.eldera> #L271" 2608ueeraH?"*refa>    3ref="8c.c#L27M/harline" n35962599ue"35950   tp_ve25stp>25935950>359e=runxass="line"           t/packet8af_p35972599ue"35hr_h rpo359-&7neass="line"           t/packet8af_p35982599ue"35hw9assmi96o1.srefclass="35hw9>35988vers=ulassint>p>257  9if     2507300mmap> #L271" 2608ueparlin_mmapH?"*po7mencopied#L27h srefcfile> #L271" 2608uefile="+ni*pied#L27h srefcfile> #L271" 2608uefile="+n,po7mencopied#L27h srefcs27eet>   tp_"ss=ulass27eet="+ni*pied#L27h srefclasslt. rerefers*bnet/p="9aiass="line"           t/packet8af_p35992599ue"35SG_COMPATna>
3599et-=_nfi e8 hrefi815o7mencopied#L27h srefcvm_area_o7menclt. rerefers*bnvm_area_o7menc="+ni*pied#L27h srefcvmalt. rerefers*bnvmae=r>eass="line"           t/packet8af_p36ne2599ue"36ne25OMPATna>
3605et-="me1525ng15719/af_plent_so."25ng36n12599ue"36ngameassfnW#L79etfENXIOa36nga>3609et-=_nfi e8 o7mencopied#L27h srefclasslt. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo-> 8efpo->    3ref="8c.c#L27M/harline" n36n22599ue"36n"devet/packetr/af>->36n"d>360iltert_socpo259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefa>    3ref="8c.c#L27M/harline" n36n32599ue"36n96="+eldo3ine8 hrefi81536n96>360a>    3ref="_unsigned long ty tert"> 3150 #L271" 2608uesize"lini2p>257  9if     expected_size> #L271" 2608ueexpected_sizea hdrefa>    3ref="8c.c#L27M/harline" n36n42599ue"36nine" 98360t/packetrf #L271" 2608ue2507300ring_buffea="9adeldo3ine8 hrefi8rb>   tp_"ss=ulasrba hdrefa>    3ref="8c.c#L27M/harline" n36n52599ue"36no3ine8 hrefi815"230 8  36no3>360f="+nik"ne8veunsigned long ty tert"> 3150   tp_"ss=ulasstarta hdrefa>    3ref="8c.c#L27M/harline" n36n62599ue"36n50   tp_ve25stp>25936n50>360e=runers*bnet"nt>p>257  9if     era> #L271" 2608ueeraH?"*1" ptifindexo,
pac    3ref="8c.c#L27M/harline" n36n72599ue"36nr_h rpo360-&7net/p75t/p"nt>p>257  9if     ilass="sref">pacia hdrefa>    3ref="8c.c#L27M/harline" n36n82599ue"36nw9assmi96o1.srefclass="36nw9>36088verslenne261bue"me15260"> 31, 09 36n92599ue"36nG_COMPATna>
3609et-=_nfi e8 "line" 2628ue"me152vmalt. rerefers*bnvmae=r>>2591p9cketP95a>.eldvm_pgofflt. rerefers*bnvm_pgoffe=r>eass="line"           t/packet8af_p361e2599ue"361526_eraw 3148ne" name1536152>3615et-=_nfi e8 hrefi815ode=droptifindexo,
pac    3ref="8c.c#L27M/harline" n36112599ue"36etf_p3140fENXIOa>.3611et-=ass="line"           t/packet8af_p36122599ue"36>>261g 8ifind8xass}ENXIO36>>2>361iltert_socpo   tp_"ss=ulasmutex_l27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_l27e>   tp_"ss=ulaspg_vec_l27e"linerefa>    3ref="8c.c#L27M/harline" n36132599ue"36>->-&>361a>   efa>    3ref="8c.c#L27M/harline" n36142599ue"36cagttv_>"e53a>>>>>>>>>*"36cag>3614et-=_nfi e8 ldo3ine8 hrefi8expected_size> #L271" 2608ueexpected_sizea hdd" ."e53a>>>>>>>>>*">36agt>361f="+nik"ne8vefor pAMPIN9_SYS_HARDrb>   tp_"ss=ulasrba hd1>25MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"linr 64aw9 clas99ef"rb>   tp_"ss=ulasrba hd15lt;= 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring"linr 64aw9 clas99ef"rb>   tp_"ss=ulasrba hd++e<"me1525ng15719/af_plent_so."25ng36162599ue"36re" na<9a>        unio2636re">361e=runers*bnet/packet/"line" 2628ue"me152rb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vecverslenne2594uepg_vece=r>e<"me1525ng15719/af_plent_so."25ng36172599ue"36=ulass="line" 2606ue"me136=ul>361-&7net/p75t/p6kb_head_nfi e8 ldo3ine8 hrefi8expected_size> #L271" 2608ueexpected_sizea hdd+>264aw9 clas99ef"rb>   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vec_le=q196#Ltv6" cla0pg_vec_le=e=r>me1525ng15719/af_plent_so."25ng36182599ue"36agttv_>"e53a>>>>>>>>>*">36agt>3613ref="_inf1refA   tp_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vec_page_datagramoc#L271pg_vec_page_"linme1525ng15719/af_plent_so."25ng36192599ue"36ketSOCK9   union {
3619et-=_nfi e8 hrefi815eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* e" 2628ue"me152PAGE_SIZEverslenne2594uePAGE_SIZEH?"*refa>    3ref="8c.c#L27M/harline" n362e2599ue"36ulass="line" 2609ue"me1536ula>3625et-=_nfi e8 hrefi815xass="line"           t/packet8af_p36u12599ue"36*"v6" cla0*pty tert"> 3136*"v>3629et-=_nfi e8 xass="line"           t/packet8af_p36u22599ue"36hrefi815"230MSG_DONTWAIT36hre>362ilterass="line"           t/packet8af_p36u32599ue"36efers*bnet/packetffENXIO36efe>362a>    3ref="_"line" 2628ue"me152expected_size> #L271" 2608ueexpected_sizea hdd"= 0eass="line"           t/packet8af_p36u42599ue"36_socpo,
362t/packetrf    3ref="8c.c#L27M/harline" n36u52599ue"36agttv_>"e53a>>>>>>>>>*">36agt>362f="+nmen_8   recp_timestamp21"idsrefcla36u62599ue"36tv_>"e53a>>>>>>>>>*">po<36tv_>3626/packetrf #L271" 2608uesize"linesize"linesize"linWAIT35hre>352iltert_socpo3549et-=_nfi e8 ldAIT35hre>352iltert_socpo3549et-=_nfi e8 ldAIT35hre>35hdrefa>    3ref="8c.>35hdrefM/harline" n36u52599ue"36agttv_>"e53a>>>>>6ue"me136=62>352-&7net/p75t/p6kb_he6drsle62me152closingt.c9L354" iARCHclosiesize"linesize"linWAIT35hre>!352iltert_socpo,
>>>*">36ala>3523ref="_inf1refA    3ref="8c.c#L27M/harline" n36u52599ue"36agttv_>"e53a>>>>>{
>3529et-=_nfi e8 hrefi865555562packet8af_ps351e2599ue"351526_eraw 3148n6 e8 href356 8>3535et-=_nfi e8 hrefi865defa63"release_s27e>   tp_"ss=ulashdrefa>    3ref="8c.c#L27M/ha>352iltert_socpo3549et-=_nfi e8 ldAIT35hre>35hdrefa>    3ref="8c.>35hdrefM/harline" n36u52599ue"36agttv_>"e53a>>>>asssnet/35652>3539et-=_nfi e8 hrefi86555556555breakrefa> p_"ss=ulasrba hd1>25MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150rx_ringt.c9L354" iARCHrx_ring"linr 64aw9 clas99ef"rb>   tp_"ss=ulasrba hd15lt;= 5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150tx_ringt.c9L354" iARCHtx_ring"linr 64aw9 clas99ef"rb>   tp_"ss=ulasrba hd++e<"me1525ng15719/af_plent_so."25ng36162599ue"36re" na<9a>      40fENXIO356uN>353iltert_socpo,
<62xass6"line"           t/pac_"ss=ulasrba hd" 26_3ue"me1526_e150pg_vecverslenne2594uepg_vece=r>e<"me1525ng15719/af_plent/panne2594uepg_vecNULefa>    3ref="8cNULe    ket8af_p36u42599ue"36_socpo,
353a>    3ref="_xass="6ine" 63/pgoto p>257  9if     oucq196continuerline" n36u52599ue"36agttv_>"e53a>>>>a3ue"me136_io>353t/packetrf25   3ref="8c.c#L27M/hanne25">pacia hdrefa>    3ref="8c.c#L27M/hapgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_le=q196#Ltv6" cla0pg_vec_le=e=r>me1525ng15719/af_plent_s5">pacia hdrefa>    3ref="8c.c#L27M/haent_so."25ng36162599ue"36re" na<9a>      4>*">po<36t2a>353e=runers*bnet/packe6/e" 2628ue"me152era> #L271"         00ring_buffea> #L271" 26purgeH?"*pAMPIN9_26pupgs1_eize31pt26/>1>2646purgeH?"*pAMPIN9_26pupgs1rline" n36u52599ue"36agttv_>"e53a>>>>a6ue"me136=hr>353-&7net/p75t/p6kb_he6d"lin6" 2628ue"me152unlikelyyyyyyyyyvoid_eize31pt26/>1>26kaddtifindexo,
352iltert_socpoe<"me1525ng15719/af_plen[>pacia hdrefa>    3ref="8c.c#L27M/ha]enne2594uepg_vec0ring_buffea="9adeldorb>   tp_"rline" n36u52599ue"36agttv_>"e53a>>>>a>>>>*">36a h>3533ref="_inf1refA257  9if     oucq196map> #L271" 2608uepag_fa>    3ref="8c.c#ag_fa>tp_"rline" n36u52599ue"36agttv_>"e53a>>>>a{
3539et-=_nfi e8 xass="6ine" 63packet8af_ps351e2599ue"351526_eraw 3148n6afEINVAL356*b>354*&7neefa>    3ref="6c.c#L6455breakrefa>    3ref="8c.c#L2p_"ss=ulasrba hd1>25ag_fa>    3ref="8c.c#ag_fa>tp_"nne25">pacia hdrefa> ag_fa>    3ref="8c.c#ag_fa>tp_"ngs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_le=q196#Ltv6" cla0pg_vec_lepage_"linme1525ng15719/af_plent_s5">pacia hdrefa> ag_fa>    3ref="8c.c#ag_fa>tp_"ent_so."25ng36162599ue"36re" na<9a>      o-&7356e8>3549et-=_nfi e8 ldo3in68 hre64555555555555555555555555553ue"me1526_buffea> #L271" 26purgeH?"*pAMPIN9_26pupgs1_  y-now? EUNATTACHgv_to_26purgeH?"*pAMPIN9_2gv_to_26pup_"ss=ulass="linerefkaddtifindexo,
->354ilterass="line"    6     64SOgoto p>257  9if     oucq196"me1526_buffea> #L271"  ptifindexo,
35insert_26purgeH?"*pAMPIN9_>35insert_26pup_"ss=ulass="linerefass=t/packet735se8>3549etize> #L271" 2608uhdrefa>    3ref="8c.c#L27M/halenne2594uepg_vece6purgeH?"*pAMPIN9_26pupgs1arline" n36132599ue"36>->354a>    3ref="_lspan_6hr_h 64/pgoto p>257  9if     oucq196 oucq196m196#Ltv6" cla0unlikelyH?"*pAMPIN9_SYS_HARDreqverslenne2594uereq="9a"  ptifindexo,
 #L277777777777777777#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n36u52599ue"36agttv_>"e53a>>>>7ffENXIO356 h>3545et-=_nfi e8 ldo3in68 hre64ccccccccc3ue"me1526_e150atomic_reakqe>   tp_"ss=ulashdrefa>    3ref="8c.c#L27M/ha>"ss=ulasrba hd" 26E_SIZEH?"*refa>    3ref="8c.c#L27M/harline" n362e2599ue"36ulass="line" 260sssssseg35692>3546/packetrf #L271"         c_reakqe>   tp_"ss=ulaskaddtifindexo,
"ss=ulasrba hd" 26E_SIZEH?"*refa>    3ref="8c.c#L27M/harline" n362e2599ue"36ulass="line" 260s6ue"me136=0a>354-&7net/p75t/p"line"62628u64 2628ue"me152unlikelyyyyyyyyyket8af_p36u22599ue"36hrefi815"230MSG_   6inf1356am>3543ref="_inf1refA256  9if     uevet/pgs1_eket8af_p36u22599ue"36hrefi815"230MSG_ {
3549et-=_nfi e8 hrefi865p>2564        t/packet8af_p359e2599ue"35>  ize_>#L27M>-6et-mi>-&356sr>355eet-=_nfi e8 xass="6ine" 65M/harline" n35412599ue"35se8 hrefi815"236rv"sref"356gs>3559et-=_nfi e8 ldo3in68 hre6i8spin_unl27e>   tp_"ss=ulass_SYS_HAi pAMPIN9_SYS_HARD_SYS_HAi pvet/pgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_l27e>   tp_"ss=ulaspe=r>eerefa>    3ref="8c.c#L27M/hrline" n362e2599ue"36ulass="line" 260W#L273"7356od>355ilterass="line"    6     658mutex_l27e>   tp_"ss=ulasmuass=t/packet735se8>3549et-=_nfi e8 ldAIT35hre>35op_"linme1525ng157>35op_uevet/pgs1_eize31pt26/>" 26_L27h srefc5op_"linme1525ng157_L27h srefc5op_M/harline" n362e2599ue"36ulass="line" 260efclass=35696>3553et-=_nfi e8 ldo3in68 hre6i8synchronizk_necq196#Ltv6" c ..355t/pacass="line"    6     6t/packet8af_p35"52599ue"35r    3ref="8c.c#L27M/haNXIOa>.<35952599ue"35do3ine8 hrefi816_vlan_9s35655>3556/packetrf   tp_"ss=ulasmutex_l2unl27eH?"*p5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26_3ue"me1526_e150pg_vec_l27e>   tp_"ss=ulaspg_vec_l27e"linerefa>    3ref="8c.c#L27M/harline" n35782599ue"35"me152507300"> 6255cl9ss356cl>355-&7net/p75t/p"line"62628u6"me152closingt#L271" 2608ueeraH?"*refa>    3ref="8c.c#L27M/harline" n35962599ue"35950   tp_ve640fENXIO356nf>3553ref="_inf1refA256  9if ket8af_p359e2599ue"35>  ize_>#L27M>-6e{
3559et-=_nfi e8 hrefi865p>2565packet8af_ps351e2599ue"351526_eraw 3148n67ffENXIO356 h>3565et-=_nfi e8 hrefi865AMPI69_SYS_507300mconst 00ring_buffea> #L271" 2rLtv5op_"linme1525ng157_rLtv5op_e152cize31pt26/>" 26_L27h sop__spk>    3ref="8c.c#_L27h sop__spk>rslenneso."25ng36162599ue"36re" na<9a>          SKB_356t/>3569et-=_nfi e8 hrefi865AMPI69_SYS_HARDrb> ne2594uefuncH?"*1ami"*pAMPIN9_SYS_HAR1ami"*rslennel27e>   tp_"ss=ulasmuPF_719*refa>    3ref="F_719M/halo."25ng36162599ue"36re" na<9a>       #L273"7356a>>356iltert_socpo,
<62lMPI69_SYS_HARDrb> ne2594uefuncH?"*own2p>257  9if     rewn2prslennel27e>  #L271" 2608ueTPAHIS_MODUL"*refa>    3ref=AHIS_MODUL"M/halo."25ng36162599ue"36re" na<9a>       fclass=356> >356a>    3ref="_sb_is_6sldo36ne8 hrefi8rb> ne2594uefuncH?"*_HARD/aue"me1526_e150pgHARD/arslennel27e>ize31pt26/>" 26_L27h s_HARD/aue"me1526_e150p_L27h s_HARD/aM/halo."25ng36162599ue"36re" na<9a>       .356t/packetrf       roptmsg356op>356f="+nmen_8   recp_t6mesta6658 hrefi8spinenne2594uepg_vecconnemenc="+ni*pied#L2connemerslennel27e>ize31pt26/>" 26sc.c#Lo_connemenc="+ni*pied#L2sc.c#Lo_connemeM/halo."25ng36162599ue"36re" na<9a>       vlan_9s35615>356e=runers*bnet/packe6/e" 2628ue"me152swapenne2594uepg_veclassltpaip>257  9if     rlassltpaiprslennel2ize31pt26/>" 26sc.c#Lo_lassltpaip>257  9if     rlass#Lo_lassltpaipM/halo."25ng36162599ue"36re" na<9a>       55cl9ss356rc>356-&7net/p75t/p6kb_he6de" 2628ue"me152swapenne2594uepg_vecaccepenc="+ni*pied#L2acceperslennel27e>   tp_"ss=ulasmulass#Lo_accepenc="+ni*pied#L2lass#Lo_accepeM/halo."25ng36162599ue"36re" na<9a>       0fENXIO356ss>35688verslenne261bue"m615260668ue"me152swapenne2594uepg_vecget261bnc="+ni*pied#L2get261brslennel27e>ize31pt26/>" 26_L27h sget261b.spk>    3ref="8c.c#_L27h sget261b.spk>M/halo."25ng36162599ue"36re" na<9a>       {
3569et-=_nfi e8 hrefi865p>256  9if     rb> enne2594uepg_veceollue"me1526_e150pg_llrslennel27e>  >ize31pt26/>" 26datagram_eollue"me1526_e150pdatagram_eollM/halo."25ng36162599ue"36re" na<9a>      ode=drop356fi>3575et-=_nfi e8 hrefi865AMPI69_SYS_HARDueveenne2594uepg_vecioctlue"me1526_e150pioctlrslennel27e>  #L271" 2608ueTP_L27h sioctlue"me1526_e150p_L27h sioctlM/halo."25ng36162599ue"36re" na<9a>      o   SKB_356dr>3579et-=_nfi e8 hrefi865555567_SYS_HARDrb> ne2594uefuncH?"*lSYS_=r>me1525ng157   tp_"ss=ulasmulass#Lo_lSYS_=r>me1525ng157      o#L273"7356kb>357iltert_socpo,
<62lMPI67_SYS_HARDrb> ne2594uefuncH?"*"*pAMPINr>me1525ng157" 26sc.c#Lo_l*pAMPINr>me1525ng157      ofclass=356+c>357a>    3ref="_sb_is_6s"lin67e8 hrefi8rb> ne2594uefuncH?"*setlc.copenc="+ni*pied#L2letlc.coperslennel2ize31pt26/>" 26sc.c#Lo_letlc.copenc="+ni*pied#L2lc.c#Lo_letlc.copeM/halo."25ng36162599ue"36re" na<9a>      o.      oroptmsg356tr>357f="+nik"ne8verslenn628ef=6758 hrefi8spinenne2594uepg_vecsendmsr 64aw9 clas99efsendmsrrslennel27e>ize31pt26/>" 26_L27h ssendmsr.spk>    3ref="8c.c#_L27h ssendmsr.spk>M/halo."25ng36162599ue"36re" na<9a>      ovlan_9s356+c>357e=runers*bnetxass="6ine" 678ue"me152swapenne2594uepg_vecrecvmsr 64aw9 clas99efrecvmsrrslennel27e>ize31pt26/>" 26_L27h s_Hcvmsr 64aw9 clas99ef_L27h s_HcvmsrM/halo."25ng36162599ue"36re" na<9a>      o55cl9ss35621>357-&7net/p75t/pldo3in68 hre678ue"me152swapenne2594uepg_vecmapH?"*po7mencopiedrefcfilennel27e>  >ize31pt26/>" 26sc.c#Lo_mapH?"*po7mencopiedsc.c#Lo_mapHM/halo."25ng36162599ue"36re" na<9a>      o0fENXIO356me>35788verslenne261bue"m615260678ue"me152swapenne2594uepg_vecsende6purgeH?"*pAMPIN9_sende6purslennel27eize31pt26/>" 26sc.c#Lo_lende6purgeH?"*pAMPIN9_sc.c#Lo_lende6puM/halo."25ng36162599ue"36re" na<9a>      o{
3579et-=_nfi e8 ldo3in68 hre6i8spin}rline" n35962599ue"35950   tp_ve6ue"me152356e8>3585et-=_nfi e8 "line"62628u68M/harline" n35412599ue"35se8 hrefi815"236sre9ALIG356ue>3589et-=_nfi e8 hrefi865AMPI69_SYS_507300mconst 00ring_buffea> #L271" 2rLtv5op_"linme1525ng157_rLtv5op_e152cize31pt26/>" 26_L27h sop_    3ref="8c.c#_L27h sop_rslenneso."25ng36162599ue"36re" na<9a>      tfENXIOa356fe>358iltert_socpo,
<62l4aw68_SYS_HARDrb> ne2594uefuncH?"*1ami"*pAMPIN9_SYS_HAR1ami"*rslennel27e>   tp_"ss=ulasmuPF_719*refa>    3ref="F_719M/halo."25ng36162599ue"36re" na<9a>      et}ENXIO35627>358a>    3ref="_xass="6ine" 68e8 hrefi8rb> ne2594uefuncH?"*own2p>257  9if     rewn2prslennel27e>  #L271" 2608ueTPAHIS_MODUL"*refa>    3ref=AHIS_MODUL"M/halo."25ng36162599ue"36re" na<9a>      a>,
3584et-=_nfi e8 ldo3in68 hre68e8 hrefi8spinenne2594uepg_vec_HARD/aue"me1526_e150pgHARD/arslennel27e>ize31pt26/>" 26_L27h s_HARD/aue"me1526_e150p_L27h s_HARD/aM/halo."25ng36162599ue"36re" na<9a>      3a>>>>>>356fi>358f="+nik"ne8ve"line"62628u6858 hrefi8spinenne2594uepg_vec0iiltert_socpo  >ize31pt26/>" 26_L27h s="8c    3ref="8c.c#_L27h s="8cM/halo."25ng36162599ue"36re" na<9a>      3vlan_9s356me>358e=runers*bnet/packe6/espa688ue"me152swapenne2594uepg_vecconnemenc="+ni*pied#L2connemerslennel27e>ize31pt26/>" 26sc.c#Lo_connemenc="+ni*pied#L2sc.c#Lo_connemeM/halo."25ng36162599ue"36re" na<9a>      ine" 258356tp>358-&7net/p75t/p6kb_he6d"lin688ue"me152swapenne2594uepg_veclassltpaip>257  9if     rlassltpaiprslennel2ize31pt26/>" 26sc.c#Lo_lassltpaip>257  9if     rlass#Lo_lassltpaipM/halo."25ng36162599ue"36re" na<9a>      ert"> 31356>>>35n3ref="_inf1refA      hrefi8153568i>3589et-=_nfi e8 xass="6ine" 68 9if     rb> enne2594uepg_vecget261bnc="+ni*pied#L2get261brslennel27e>ize31pt26/>" 26_L27h sget261b    3ref="8c.c#_L27h sget261bM/halo."25ng36162599ue"36re" na<9a>      gt;     356  >3595et-=_nfi e8 64aw9 6las9969_SYS_HARDueveenne2594uepg_veceollue"me1526_e150pg_llrslennel27e>  >ize31pt26/>" 26_L27h seollue"me1526_e150pgL27h seollM/halo."25ng36162599ue"36re" na<9a>      gre9ALIG356ga>3591et-=ass="line"    6     69_SYS_HARDrb> ne2594uefuncH?"*ioctlue"me1526_e150pioctlrslennel27e>  #L271" 2608ueTP_L27h sioctlue"me1526_e150p_L27h sioctlM/halo."25ng36162599ue"36re" na<9a>      af>->356"d>359iltert_socpo<"line"62628u69_SYS_HARDrb> ne2594uefuncH?"*lSYS_=r>me1525ng157   tp_"ss=ulasmulass#Lo_lSYS_=r>me1525ng157      hrefi81535696>359a>    3ref="_sb_is_6s3ue"69e8 hrefi8rb> ne2594uefuncH?"*s*pAMPINr>me1525ng157" 26sc.c#Lo_l*pAMPINr>me1525ng157      8 hrefi8356in>359t/pacp>257  9if    6oucq169e8 hrefi8spinenne2594uepg_vecsetlc.copenc="+ni*pied#L2letlc.coperslennel2ize31pt26/>" 26_L27h ssetlc.copenc="+ni*pied#L2_L27h ssetlc.copeM/halo."25ng36162599ue"36re" na<9a>      8a>>>>>>356o3>359f="+nik"ne8veode=dr6p9cke6958 hrefi8spinenne2594uepg_vecgetlc.copenc="+ni*pied#L2getlc.coperslennel2ize31pt26/>" 26_L27h sgetlc.copenc="+ni*pied#L2_L27h sgetlc.copeM/halo."25ng36162599ue"36re" na<9a>      5stp>25935650>359e=runxass="line"   6     698ue"me152swapenne2594uepg_veclendmsr 64aw9 clas99efsendmsrrslennel27e>ize31pt26/>" 26_L27h ssendmsr    3ref="8c.c#_L27h ssendmsrM/halo."25ng36162599ue"36re" na<9a>      5ne" 258356r_>359-&7neass="line"    6     698ue"me152swapenne2594uepg_vecrecvmsr 64aw9 clas99efrecvmsrrslennel27e>ize31pt26/>" 26_L27h s_Hcvmsr 64aw9 clas99ef_L27h s_HcvmsrM/halo."25ng36162599ue"36re" na<9a>      fclass="356w9>35988vers=ulassint>p>267  9i698ue"me152swapenne2594uepg_vecmapH?"*po7mencopiedrefcfilennel27e>  >ize31pt26/>" 26_L27h srefc"linme1525ng157_L27h srefcM/halo."25ng36162599ue"36re" na<9a>      frefi815356G_>3599et-=_nfi e8 hrefi865o7me69 9if     rb> enne2594uepg_vecsende6purgeH?"*pAMPIN9_sende6purslennel27eize31pt26/>" 26sc.c#Lo_lende6purgeH?"*pAMPIN9_sc.c#Lo_lende6puM/halo."25ng36162599ue"36re" na<9a>     7hrco7men367e2>3605et-="me1525ng157   tp_ve7tfENXIOa367ga>3609et-=_nfi e8 o7menc7pied#70/packet8af_p36122599ue"36>>261g 8ifind8x7af>->367"d>360iltert_socpo #L271" nh serLtv51ami"*pAMPIN9_SYS_HARnh serLtv51ami"*e152cize31pt26/>" 26_L27h s1ami"*sop_    3ref="8c.c#_L27h s1ami"*sop_rslenneso."25ng36162599ue"36re" na<9a>     7hrefi81536796>360a>    3ref="_unsign7d lon70e8 hrefi8rb> ne2594uefuncH?"*1ami"*pAMPIN9_SYS_HAR1ami"*rslennel27e>   tp_"ss=ulasmuPF_719*refa>    3ref="F_719M/halo."25ng36162599ue"36re" na<9a>     78 hrefi8367in>360t/packetrf   tp_"ss=ulasmu_L27h screaturgeH?"*pAMPIN9__L27h screatuM/halo."25ng36162599ue"36re" na<9a>     785hrefi8367i3>359f="+nik"ne8veode=dr7d lon7058 hrefi8spinenne2594uepg_vecown2p>257  9if     rewn2prslennnel27e>   tp_"ss=ulasmuAHIS_MODUL"*refa>    3ref=AHIS_MODUL"M/halo."25ng36162599ue"36re" na<9a>     75stp>25936750>360e=runers*bnet"nt>p>757  97f     }rline" n35962599ue"35950   tp_ve7t7tp>2593675_>359-&7neass="line"    757  970/packet8af_p35982599ue"35hw9assmi96o1.sr7fclass="367w9>36088verslenne261bue"m71526070    2507300m00ring_buffea> #L271" notifier="8c.cpAMPIN9_SYS_HARnotifier="8c.ce152cize31pt26/>" 26_L27h s825dev_notifierrgeH?"*pAMPIN9__L27h s825dev_notifierrslenneso."25ng36162599ue"36re" na<9a>     7h9lass="367w_>3599et-=_nfi e8 hrefi872628u70 9if     rb> enne2594uepg_vecnotifier=callue"me1526_e150pnotifier=callrslennel27e>  #L271" 2608ueTP_L27h snotifierrgeH?"*pAMPIN9__L27h s8otifierrslelo."25ng36162599ue"36re" na<9a>     7" name1536752>3615et-=_nfi e8 hrefi875ode=71lent_}rline" n35962599ue"35950   tp_ve7>.3611et-=ass="line"    7     7t/packet8af_p36122599ue"36>>261g 8ifind8x7ss}ENXIO367>2>361iltert_socpo>261g 8ifind8x7srefi815367-&>361a>   efa>    3ref="7c.c#L77M/harline" n36142599ue"36cagttv_>"e53a>>7>>>>>>*"367ag>3614et-=_nfi e8 ldo3in78 hre7i8expe507300mvoid_eize31pt26/>1>26_L27h sseq5hdrefa>    3ref="8c._L27h sseq5hdrefexpe> #L271" 2608uefile="+nseq5,po7mencopied#L27h seq5,po7rslena>->    3ref="8c.loff_frslena>->367gt>361f="+nik"ne8vefor pA7PIN9_7YS_HARDrb>   t>->>->361e=runers*bnet/packe7/"lin7" 2628so."25ng36162599ue"36re" na<9a>     706ue"me1367ul>361-&7net/p75t/p6kb_he7d_nfi7e8 ldo3ine8 hr00ring_buffea> #L271" nh pAMPIN9_SYS_HARnh rslena>->  eq5,po7izk_expe>>-> 7>>>>>*">367gt>3613ref="_inf1refA 36n92599ue"36nG_COMPATna>
3619et-=_nfi e8 hrefi875eeee718spin_l27e>   tp_"ss=ulasspircuARDuel27e"linerefa>    3rrcuARDuel27e"expe>arline" n35782599ue"35"me152507300"> 79ue"me15367la>3625et-=_nfi e8 hrefi875xass7"line"        #L271" 2608ueeraH?"*re eq5hlSYS5hdref_e8ve_rcunecH?"*perefa>  eq5hlSYS5hdref_e8ve_rcuexpe>gs1_eize31pt26/>" 26nh pAMPIN9_SYS_HARnh rslel27e>   tp_"ss=ulaspg25073a>    3ref="8c._L27h rsleenne2594uepg_vecsklSYSnecH?"*perefa>  klSYSbl27lea>-> 79.3629et-=_nfi e8 xass="7ine" 7      ket8af_p359e2599ue"35>  ize_>#L27M>-7DONTWAIT367re>362ilterass="line"    7     7t/packet8af_p36u32599ue"36efers*bnet/pack7tffENXIO367fe>362a>    3ref="_"line"72628u7"me152507300mvoid_eize31pt26/>1>26_L27h sseq5nexfa>    3ref="8c._L27h sseq5nexfexpe> #L271" 2608uefile="+nseq5,po7mencopied#L27h seq5,po7rslena>->1>26t-=refa>    3refvbl27lenne2594uepg_vecloff_fa>    3ref="8c.loff_frslena>->362t/packetrf     7>>>>>*">367gt>362f="+nmen_8   recp_t7mesta725 ldo3ine8 hr00ring_buffea> #L271" nh pAMPIN9_SYS_HARnh rslena>->  eq5,po7izk_expe>>-> 7>>*">po<367v_>3626/packetrf #L271"#L271" 2608ueeraH?"*re eq5hlSYS5nexf_rcunecH?"*perefa>  eq5hlSYS5nexf_rcuexpe>>->    3refvbl27legs1_eize31pt26/>" 26nh pAMPIN9_SYS_HARnh rslel27e>   tp_"ss=ulaspg25073a>    3ref="8c._L27h rsleenne2594uepg_vecsklSYSnecH?"*perefa>  klSYSbl27le>-> 796ue"me136762>352-&7net/p75t/p6kb_he7drsle72me152ket8af_p359e2599ue"35>  ize_>#L27M>-7D>>>>*">367la>3523ref="_inf1refA 36n92599ue"36nG_COMPATna>
{
>3529et-=_nfi e8 hrefi875555572packe507300mvoid_ize31pt26/>1>26_L27h sseq5hdoc"linme1525ng157_L27h sseq5hdocexpe> #L271" 2608uefile="+nseq5,po7mencopied#L27h seq5,po7rslena>->1>26t-=refa>    3refvbl27rline" n35742599ue"35f="+code=dropt_7 e8 href357 8>3535et-=_nfi e8 hrefi875defa73"release_s27e>   tp_"ss=ulas_s_HARD/a_"linme1525ng157___HARD/a_expe>>->     740fENXIO357uN>353iltert_socpo,
<72xass738mutex_l27e>   tp_"ss=ulasmurcuARDuelunl27eH?"*p5MESTAMPINrcuARDuelunl27eexpe>arline" n35782599ue"35"me152507300"> 7oc#L271"357ef>353a>    3ref="_xass="7ine" 73/pgotket8af_p359e2599ue"35>  ize_>#L27M>-7a3ue"me1367io>353t/packetrf #L271" 2608ueparlin_mseq5hhow"linme1525ng157_L27h sseq5hhowexpe> #L271" 2608uefile="+nseq5,po7mencopied#L27h seq5,po7rslena>->1>26t-=refa>    3refvbl27rline" n35742599ue"35f="+code=dropt_7 >*">po<3672a>353e=runers*bnet/packe7/e" 273 2628so."25ng36162599ue"36re" na<9a>     7a6ue"me1367hr>353-&7net/p75t/p6kb_he7d"lin73me152closingt.c9L354" iARCHclosit-=refa>    3refvbl27t/panne2594uepg_vecSEQ_START_TOKEN-=refa>    3refSEQ_START_TOKENbl27rline" n35742599ue"35f="+code=dropt_7 >>>>*">367 h>3533ref="_inf1refA257  9if     2608uefile="+nseq5put_"linme1525ng157seq5put_expe>>->Type PrLtv  Iface R Rmem   User   In1"           t/pacarline" n35782599ue"35"me152507300"> 7o{
3539et-=_nfi e8 xass="7ine" 738spin_l27e>  elseeso."25ng36162599ue"36re" na<9a>     7afEINVAL357*b>354*&7neefa>    3ref="7c.c#L7455breakrefa>    3ref=t. rerefers*bnet/p="9adeldo3ine8 hrefi80"> 8efpo->rslenrefers*bnet/p="9a>k_entr*pAMPIN9_SYS_HAR>k_entr*expe>>->    3refvbl27arline" n35782599ue"35"me152507300"> 7o-&7357e8>3549et-=_nfi e8 ldo3in78 hre74555555555555555555555const 00ring_buffea> #L271" 2L27h ss7ee=r>259_ 8ifNULLk1>264aw9 clas99ef"uld we r    y-now? EUNATTACH?"*pty tert"> 3150   tp_"ss=ulass="linerefao3ine8 hrefi80">rslearline" n35782599ue"35"me152507300"> 7o0fENXIO357pv>354ilterass="line"    7     74/packet8af_p36u32599ue"36efers*bnet/pack74c#L271"357  >354a>    3ref="_lspan_7hr_h 74/pgoto p>257  9if     2608uefile="+nseq5pa it>eass="line"    seq5pa it>expe>>->3544et-=_nfi e8 ldo3in78 hre74cc3ue"me1526_e150pr_era> #L27777parlin_mmap: vma is busy: &line"pK"line"-6d"line"-4d"line"04x777line"-5d"line"1d"line"-6u"line"-6u"line"-6lu          t/packet8af_p35752599ue"35etrffENXIOa>.3545et-=_nfi e8 ldo3in78 hre74ccccccccc3ue"me1526_e150atomic_r=ulass="linerefao3ine8 hrefi80">rsleket8af_p35752599ue"35etrffENXIOa>.*">po<36792>3546/packetrf #L271"         c_r=ulass="linereftomic_reake=r>(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26ao3ine8 hrefi80">rslepo-> ARDfcnSnecH?"*perefa>  kARDfcnSrsleaket8af_p35752599ue"35etrffENXIOa>.354-&7net/p75t/p"line"72628u74 2628ue"me152unlikelyyyyyyyyyc_r=ulass="linerefao3ine8 hrefi80">rslepo-> AtypenecH?"*perefa>  kAtypersleket8af_p35752599ue"35etrffENXIOa>.>>>*">367am>3543ref="_inf1refA257  9if     uevet/pgs1_eyyyyyyyyc_r=ulass="linerefntohao3ine8 hrefi80"ntohaexpe>>-> c#L271numa hd1" 3ue"me1526_e150num" na<9aket8af_p35752599ue"35etrffENXIOa>.3549et-=_nfi e8 hrefi875p>2574eeeeeeeeeeeeeeeeeeeeeeeeee* e" 2>-> c#L271numa hd1"ifindexue"me1526_e150nifindexrsleket8af_p35752599ue"35etrffENXIOa>.-&357sr>355eet-=_nfi e8 xass="7ine" 7555breakrefa>    3ref="8c.c#L2" 2>-> c#L271numa hd1"unninge=r>e<"me1525ng1>19/af_plenket8af_p35752599ue"35etrffENXIOa>.-&7357gs>3559et-=_nfi e8 ldo3in78 hre75555555555555555555555555553ue"me=ulass="linereftomic_reake=r>(5MESTAMPIN9_SYS_HARDuevet/pgs1_eize31pt26/>" 26ao3ine8 hrefi80">rslepo-> ARmem_all27necH?"*perefa>  kARmem_all27na<9aket8af_p35752599ue"35etrffENXIOa>.355ilterass="line"    7     75SOgoto p>257  9if     oucq196"me>->    3ref="from_kuid_mungeeexpe>>->>-> #L271" 2608uhc.c#i_uido3ine8 hrefi80"> 8e#i_uidp_"ss=ulass="linerefao3ine8 hrefi80">rsleaaket8af_p35752599ue"35etrffENXIOa>.3553et-=_nfi e8 ldo3in78 hre75/pgoto p>257  9if     oucq196"me>-> 8e#i_in3ue"me1526_e150n> 8e#i_in3p_"ss=ulass="linerefao3ine8 hrefi80">rsleaarline" n35782599ue"35"me152507300"> 7>.355t/pacass="line"    7     75cc3ue"me1526_ket8af_p359e2599ue"35>  ize_>#L27M>-7droptmsg3573555et-=_nfi e8 ldo3in78 hre7521"idsrefcla36u62599ue"36tv_>"e53a>>>>>>7_vlan_9s35755>3556/packetrf #L271"#L271" 2595ue"me35592599ue"35efmsghls*bnetms7255cl9ss357cl>355-&7net/p75t/p"line"72628u75me152ket8af_p359e2599ue"35>  ize_>#L27M>-740fENXIO357nf>3553ref="_inf1refA2575 31, 09 36n92599ue"36nG_COMPATna>
3559et-=_nfi e8 hrefi875p>2575packe507300mconst 00ring_buffea> #L271" seq5oper730on_"linme1525ng157seq5oper730on_/ize> #L271" 2608ueparlin_mseq5op_    3ref="8c.c#_L27h sseq5op_e r    so."25ng36162599ue"36re" na<9a>     77ffENXIO357 h>3565et-=_nfi e8 hrefi875AMPI76_SYS_HARDueveenne2594uepg_vechdrefa>    3ref="8c.c#L27M/ha>   y-now? EUNATTACHL27h sseq5hdrefa>    3ref="8c._L27h sseq5hdrefexpeket8af_p35752599ue"35etrffENXIOa>.3569et-=_nfi e8 hrefi875AMPI79_SYS_HARDrb> ne2594uefuncH?"*nexfa>    3ref="8c.nexfexpe >   y-now? EUNATTACHL27h sseq5nexfa>    3ref="8c._L27h sseq5nexfexpeket8af_p35752599ue"35etrffENXIOa>.>356iltert_socpo,
<72lMPI79_SYS_HARDrb> ne2594uefuncH?"*hdoc"linme1525ng157hdocexpe >   y-now? EUNATTACHL27h sseq5hdoc"linme1525ng157_L27h sseq5hdocexpeket8af_p35752599ue"35etrffENXIOa>. >356a>    3ref="_sb_is_7sldo37ne8 hrefi8rb> ne2594uefuncH?"*hhow"linme1525ng157hhowexpe >   y-now? EUNATTACHL27h sseq5hhow"linme1525ng157_L27h sseq5hhowexpeket8af_p35752599ue"35etrffENXIOa>.356t/packetrf   tp_ve7 roptmsg357op>356f="+nmen_8   recp_t7mesta7621"idsrefcla36u62599ue"36tv_>"e53a>>>>>>7 vlan_9s35715>356e=runers*bnet/packe7/e" 2728ue"m507300mmap> #L271" 2608ueparlin_mseq5ope=r>me1525ng157rlin_mseq5ope=expe> #L271" 2608uefile="+nin1" ue"me1526_e150nin1" pgs1_eize31pt26/>1>26in1" ue"me1526_e150nin1" pgs1eet>   tp_"ss=ulass27eeti*pied#L27h srefcfile> #L271" 2608uefile="+n,po7mencopied#L27h srefcs27rline" n35742599ue"35f="+code=dropt_7 55cl9ss357rc>356-&7net/p75t/p6kb_he7de" 2728ue"mso."25ng36162599ue"36re" na<9a>     770fENXIO357ss>35688verslenne261bue"m715260768ue"me152swap#L271" 2608ueeraH?"*re eq5ope=izk_necH?"*perefa>  eq5ope=izk_p_"ss=ulass="linerefin1" ue"me1526_e150nin1" pgs1ee 2608uefile="+n,po7mencopied#L27h srefcs27legs1_eize31pt26/>" 26arlin_mseq5op_    3ref="8c.c#_L27h sseq5op_e r ket8af_p35752599ue"35etrffENXIOa>.3569et-=_nfi e8 hrefi875p>2576eeeeeeeeeeeeeeeeeeeeeeeeee* e" 26    of> #L271" 2608uefile="+nseq5nh serivaturgeH?"*pAMPIN9_seq5nh serivatursleaarline" n35782599ue"35"me152507300"> 7ode=drop357fi>3575et-=_nfi e8 hrefi875AMPI79_SYS_ket8af_p359e2599ue"35>  ize_>#L27M>-7o   SKB_357dr>3579et-=_nfi e8 hrefi875555577/packet8af_p36122599ue"36>>261g 8ifind8x7o#L273"7357kb>357iltert_socpo,
<72lMPI777h sr507300mconst 00ring_buffea> #L271" ,po7ioper730on_"linme1525ng157,po7ioper730on_/ize> #L271" 2608ueparlin_mseq5fop_    3ref="8c.c#_L27h sseq5fop_e r    so."25ng36162599ue"36re" na<9a>     7ofclass=357+c>357a>    3ref="_sb_is_7s"lin77e8 hrefi8rb> ne2594uefuncH?"*own2p>257  9if     rewn2prslennnnnnnnnn  y-now? EUNATTACAHIS_MODUL"*refa>    3ref=AHIS_MODUL"M/halo."25ng36162599ue"36re" na<9a>     7o.me1525ng157me1525ng157rlin_mseq5ope=expelo."25ng36162599ue"36re" na<9a>     7oroptmsg357tr>357f="+nik"ne8verslenn728ef=7758 hrefi8spinenne2594uepg_veceake=r>(5MESTAMPIN9RDuevet/ nnnnnnnnnn  y-now? EUNATTACseq5eake=r>(5MESTAMPIN9seq5eakeexpelo."25ng36162599ue"36re" na<9a>     7ovlan_9s357+c>357e=runers*bnetxass="7ine" 778ue"me152swapenne2594uepg_vecllseety tert"> 3150 3150     7o55cl9ss35721>357-&7net/p75t/pldo3in78 hre778ue"me152swapenne2594uepg_vec_HARD/aue"me1526_e150pgHARD/arslennnnnnnn  y-now? EUNATTACseq5eaARD/aizk_necH?"*perefa>  eq5eaARD/aizk_expelo."25ng36162599ue"36re" na<9a>     7o0fENXIO357me>35788verslenne261bue"m715260778ue"m}rline" n35962599ue"35950   tp_ve7o{
3579et-=_nfi e8 ldo3in78 hre77packet8af_ps351e2599ue"351526_eraw 3148n7ue"me152357e8>3585et-=_nfi e8 "line"72628u78M/har#endift8af_ps351e2599ue"351526_eraw 3148n7u   SKB_357ue>3589et-=_nfi e8 hrefi875AMPI78/packet8af_p36122599ue"36>>261g 8ifind8x7tfENXIOa357fe>358iltert_socpo,
<72l4aw787h sr507300mmap> #L271" 2608uep_5nh sini_necH?"*perefa> _5nh sini_/ize> #L271" 2608ueparlin_mnh sini_necH?"*perefa> arlin_mnh sini_expe> #L271" 2608uefile="+nnh pAMPIN9_SYS_HARnh rslena>->     7a>,
3584et-=_nfi e8 ldo3in78 hre78e8 hrefi8spin>-> 9_SYS_ini_vet/pgs1_eize31pt26/>" 26nh pAMPIN9_SYS_HARnh rslel27e>   tp_"ss=ulaspg25073a>    3ref="8c._L27h rsleenne2594uepg_vecsklSYSl27e"linerefa>    3rsklSYSl27e"rslearline" n35782599ue"35"me152507300"> 73a>>>>>>357fi>358f="+nik"ne8ve"line"72628u78S_HARDrb>   t>->    3rINIT_HLIST_HEADvet/pgs1_eize31pt26/>" 26nh pAMPIN9_SYS_HARnh rslel27e>   tp_"ss=ulaspg25073a>    3ref="8c._L27h rsleenne2594uepg_vecsklSYSlinerefa>    3rsklSYSrslearline" n35782599ue"35"me152507300"> 73vlan_9s357me>358e=runers*bnet/packe7/espa788ue"mline" n35782599ue"35"me152507300"> 7355cl9ss357tp>358-&7net/p75t/p6kb_he7d"lin78me152closingt.c9L!   tp_"ss=ulaspgrocmnh sfop_screaturgeH?"*pAMPIN9__rocmnh sfop_screatup_"ss=ulass="linerefnh pAMPIN9_SYS_HARnh rsle, parlin_mmap: vma is busy: &525073        t/pack 0legs1_eize31pt26/>" 26arlin_mseq5fop_    3ref="8c.c#_L27h sseq5fop_e r arline" n35742599ue"35f="+code=dropt_7ert"> 31357>>>35n3ref="_inf1refA" 26ENOMEM    3ref="8c.c#ENOMEM9if rline" n35782599ue"35"me152507300"> 73{
3589et-=_nfi e8 xass="7ine" 78packet8af_ps351e2599ue"351526_eraw 3148n7gt;     357  >3595et-=_nfi e8 64aw9 7las9979line"        #L271" 2595ue"me35592599ue"35efmsghls*bnetms7gre9ALIG357ga>3591et-=ass="line"    7     79     ket8af_p359e2599ue"35>  ize_>#L27M>-7af>->357"d>359iltert_socpo<"line"72628u79/packet8af_p36u32599ue"36efers*bnet/pack7hrefi81535796>359a>    3ref="_sb_is_7s3ue"79me152507300mvoid_ #L271" 2608uep_5nh sexi_necH?"*perefa> _5nh sexi_/ize> #L271" 2608ueparlin_mnh sexi_necH?"*perefa> arlin_mnh sexi_expe> #L271" 2608uefile="+nnh pAMPIN9_SYS_HARnh rslena>->     78a>>>>>>357o3>359f="+nik"ne8veode=dr7p9cke79S_HARDrb>   t>-> 75stp>25935750>359e=runxass="line"   7     798ue"mket8af_p359e2599ue"35>  ize_>#L27M>-7a55cl9ss357r_>359-&7neass="line"    7     79/packet8af_p35982599ue"35hw9assmi96o1.sr7fclass="357w9>35988vers=ulassint>p>277  9i79    2507300m00ring_buffea> #L271" pernh soper730on_"linme1525ng157pernh soper730on_/ize> #L271" 2608ueparlin_mnh sop_    3ref="8c.c#_L27h snh sop_rslenneso."25ng36162599ue"36re" na<9a>     7frefi815357G_>3599et-=_nfi e8 hrefi875o7me79 9if     rb> enne2594uepg_vecini_necH?"*perefa> ini_/ize>  y-now? EUNATTACarlin_mnh sini_necH?"*perefa> arlin_mnh sini_expelo."25ng36162599ue"36re" na<9a>     8hrco7men368e2>3605et-="me1525ng157 exi_/ize>  y-now? EUNATTACarlin_mnh sexi_necH?"*perefa> arlin_mnh sexi_expelo."25ng36162599ue"36re" na<9a>     8h1co7men368ea>3591et-=ass="line"    8pied#80/pack}rline" n35962599ue"35950   tp_ve8af>->368"d>360iltert_socpo360a>    3ref="_unsign8d lon80M/harline" n36142599ue"36cagttv_>"e53a>>88 hrefi8368in>360t/packetrf _5exi_/ize> #L271" 2608ueparlin_mexi_necH?"*perefa> arlin_mexi_expe>voidrline" n35742599ue"35f="+code=dropt_885hrefi8368i3>359f="+nik"ne8veode=dr8d lon8058 hrso."25ng36162599ue"36re" na<9a>     85stp>25936850>360e=runers*bnet"nt>p>857  9805mutex_l27e>   tp_"ss=ulasmuunregSYS_rs825devicesnotifierrgeH?"*pAMPIN9_unregSYS_rs825devicesnotifiervet/pgs1_eize31pt26/>" 26arlin_mnh dev_notifierrgeH?"*pAMPIN9__L27h s825dev_notifierrslearline" n35782599ue"35"me152507300"> 8t7tp>2593685_>359-&7neass="line"    857  9807mutex_l27e>   tp_"ss=ulasmuunregSYS_rspernh ssubsy_    3ref="8c.c#unregSYS_rspernh ssubsy_vet/pgs1_eize31pt26/>" 26arlin_mnh sop_    3ref="8c.c#_L27h snh sop_rslearline" n35782599ue"35"me152507300"> 8t8tp>25936859>35988vers=ulassint>p>2815260808mutex_l27e>   tp_"ss=ulasmu> 8e#unregSYS_rue"me1526_e150n> 8e#unregSYS_rp_"ss=ulass="linerefPF_719*refa>    3ref="F_719M/haarline" n35782599ue"35"me152507300"> 8t9tp>2593685_>3599et-=_nfi e8 hrefi882628u808spin_l27e>   tp_"ss=ulasspierLtv5unregSYS_rue"me1526_e150nerLtv5unregSYS_rvet/pgs1_eize31pt26/>" 26arlin_merLtv    3ref="8c.c#_L27h serLtvM/haarline" n35782599ue"35"me152507300"> 8" name1536852>3615et-=_nfi e8 hrefi885ode=81_SYS_ket8af_p359e2599ue"35>  ize_>#L27M>-8>.3611et-=ass="line"    8     8t/packet8af_p36122599ue"36>>261g 8ifind8x8ss}ENXIO368>2>361iltert_socpo #L271" 2608uep_5ini_necH?"*perefa> _5ini_/ize> #L271" 2608ueparlin_mini_necH?"*perefa> arlin_mini_vet/pvoidrline" n35742599ue"35f="+code=dropt_8srefi815368-&>361a>   efa>    3ref="8c.c#L81e8 hrso."25ng36162599ue"36re" na<9a>     8>>>>>>*"368ag>3614et-=_nfi e8 ldo3in88 hre81e8 hrefi8spinmap> #L271" 2608uepr7necH?"*perefa> rc/ize>  y-now? EUNATTACarLtv5regSYS_rue"me1526_e150nerLtv5regSYS_rvet/pgs1_eize31pt26/>" 26arlin_merLtv    3ref="8c.c#_L27h serLtvM/ha, 0arline" n35782599ue"35"me152507300"> 8"5hrefi8368gt>361f="+nik"ne8vefor pA8PIN9_8121"idsrefcla36u62599ue"36tv_>"e53a>>>>>>8>stp>259368e">361e=runers*bnet/packe8/"lin815mutex_l27e> .c9L354" iARCHclosir7necH?"*perefa> rc/ize>!= 0asrefcla36u62599ue"36tv_>"e53a>>>>>>8>7tp>259368ul>361-&7net/p75t/p6kb_he8d_nfi81 2628ue"me152unlikely#Ltv6" cla0ouca hdrefa>    3ref="8c.c#L27M/harline" n36u52599ue"36agttv_>"e53a>>>8>>>>>*">368gt>3613ref="_inf1refA 36n92599ue"36nG_COMPATna>
3619et-=_nfi e8 hrefi885eeee818spin_l27e>   tp_"ss=ulasspi> 8e#regSYS_rue"me1526_e150n> 8e#regSYS_rvet/pgs1_eize31pt26/>" 26arlin_m1ami"*sop_    3ref="8c.c#_L27h s1ami"*sop_rslearline" n35782599ue"35"me152507300"> 89ue"me15368la>3625et-=_nfi e8 hrefi885xass82"release_s27e>   tp_"ss=ulasregSYS_rspernh ssubsy_    3ref="8c.c#regSYS_rspernh ssubsy_vet/pgs1_eize31pt26/>" 26arlin_mnh sop_    3ref="8c.c#_L27h snh sop_rslearline" n35782599ue"35"me152507300"> 89.3629et-=_nfi e8 xass="8ine" 828spin_unl27e>   tp_"ss=ulassregSYS_rs825devicesnotifierrgeH?"*pAMPIN9_regSYS_rs825devicesnotifiervet/pgs1_eize31pt26/>" 26arlin_mnh dev_notifierrgeH?"*pAMPIN9__L27h s825dev_notifierrslearline" n35782599ue"35"me152507300"> 8DONTWAIT368re>362ilterass="line"    8     8t/pack" cla0ouca hdrefa>    3ref="8c.c#L27M/haNXIOa>.<35952599ue"35do3ine8 hrefi818tffENXIO368fe>362a>    3ref="_"line"82628u82e8 hrefi8rb> #L271" 2608ueeraH?"*rer7necH?"*perefa> rc/izerline" n35782599ue"35"me152507300"> 8D>>>>>*"368so>362t/packetrf  ize_>#L27M>-8>>>>>*">368gt>362f="+nmen_8   recp_t8mesta8221"idsrefcla36u62599ue"36tv_>"e53a>>>>>>8>>*">po<368v_>3626/packetrf-> 9odule_ini_p_"ss=ulass="linerefarlin_mini_necH?"*perefa> arlin_mini_vet/arline" n35782599ue"35"me152507300"> 8D7tp>25936862>352-&7net/p75t/p6kb_he8drsle82me152>-> 9odule_exi_p_"ss=ulass="linerefarlin_mexi_necH?"*perefa> arlin_mexi_expearline" n35782599ue"35"me152507300"> 8D>>>>*">368la>3523ref="_inf1refA    3ref=MODUL"_LICENS"p_"ss=arlin_mmap: vma is busy: &GPL        t/pacarline" n35782599ue"35"me152507300"> 8>{
>3529et-=_nfi e8 hrefi885555582packe=ulass="linerefMODUL"_ALIAS_NETPROTO*refa>    3ref=MODUL"_ALIAS_NETPROTOp_"ss=ulass="linerefPF_719*refa>    3ref="F_719M/haarline" n35782599ue"35"me152507300"> 8 e8 href358 8>3535et-=_nfi e8 hrefi885defa83"rele


The original LXR software by the ine" n357http://sourceforge.82599rojects/lxru>LXR communi_yM/ha, this experimental version by ine" n357mailto:lxr@_nfux.no">lxr@_nfux.norslee
lxr._nfux.no kindly hoYS_d by ine" n357http://www.redpill-_nf9ro.no">Redpill Lnf9ro ASM/ha, 9rovider of Lnfuxmconsult is and oper730on_ service_ since 1995.