linux/net/openvswitch/flow.c
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2007-2011 Nicira, Inc.
   3 *
   4 * This program is free software; you can redistribute it and/or
   5 * modify it under the terms of version 2 of the GNU General Public
   6 * License as published by the Free Software Foundation.
   7 *
   8 * This program is distributed in the hope that it will be useful, but
   9 * WITHOUT ANY WARRANTY; without even the implied warranty of
  10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11 * General Public License for more details.
  12 *
  13 * You should have received a copy of the GNU General Public License
  14 * along with this program; if not, write to the Free Software
  15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  16 * 02110-1301, USA
  17 */
  18
  19#include "flow.h"
  20#include "datapath.h"
  21#include <linux/uaccess.h>
  22#include <linux/netdevice.h>
  23#include <linux/etherdevice.h>
  24#include <linux/if_ether.h>
  25#include <linux/if_vlan.h>
  26#include <net/llc_pdu.h>
  27#include <linux/kernel.h>
  28#include <linux/jhash.h>
  29#include <linux/jiffies.h>
  30#include <linux/llc.h>
  31#include <linux/module.h>
  32#include <linux/in.h>
  33#include <linux/rcupdate.h>
  34#include <linux/if_arp.h>
  35#include <linux/ip.h>
  36#include <linux/ipv6.h>
  37#include <linux/tcp.h>
  38#include <linux/udp.h>
  39#include <linux/icmp.h>
  40#include <linux/icmpv6.h>
  41#include <linux/rculist.h>
  42#include <net/ip.h>
  43#include <net/ipv6.h>
  44#include <net/ndisc.h>
  45
  46static struct kmem_cache *flow_cache;
  47
  48static int check_header(struct sk_buff *skb, int len)
  49{
  50        if (unlikely(skb->len < len))
  51                return -EINVAL;
  52        if (unlikely(!pskb_may_pull(skb, len)))
  53                return -ENOMEM;
  54        return 0;
  55}
  56
  57static bool arphdr_ok(struct sk_buff *skb)
  58{
  59        return pskb_may_pull(skb, skb_network_offset(skb) +
  60                                  sizeof(struct arp_eth_header));
  61}
  62
  63static int check_iphdr(struct sk_buff *skb)
  64{
  65        unsigned int nh_ofs = skb_network_offset(skb);
  66        unsigned int ip_len;
  67        int err;
  68
  69        err = check_header(skb, nh_ofs + sizeof(struct iphdr));
  70        if (unlikely(err))
  71                return err;
  72
  73        ip_len = ip_hdrlen(skb);
  74        if (unlikely(ip_len < sizeof(struct iphdr) ||
  75                     skb->len < nh_ofs + ip_len))
  76                return -EINVAL;
  77
  78        skb_set_transport_header(skb, nh_ofs + ip_len);
  79        return 0;
  80}
  81
  82static bool tcphdr_ok(struct sk_buff *skb)
  83{
  84        int th_ofs = skb_transport_offset(skb);
  85        int tcp_len;
  86
  87        if (unlikely(!pskb_may_pull(skb, th_ofs + sizeof(struct tcphdr))))
  88                return false;
  89
  90        tcp_len = tcp_hdrlen(skb);
  91        if (unlikely(tcp_len < sizeof(struct tcphdr) ||
  92                     skb->len < th_ofs + tcp_len))
  93                return false;
  94
  95        return true;
  96}

  89static ia href="+code=bool" class="sref">bool tudhdr_ok"/a>(struct sk_buff *skb)
  89{
  0""/a>        return pskb_may_pull(skb, skb_transport_offset(skb);+
                rrrrrrrrrrrrrrrrrrrizeof(struct tudhdr_/a>));
}

static ia href="+code=bool" class="sref">bool tcmpvdr_ok"/a>(struct sk_buff *skb)
{
        return pskb_may_pull(skb, skb_transport_offset(skb);+
                rrrrrrrrrrrrrrrrrrrizeof(struct tcmpvdr_/a>));
}

  10tu4{tovs_low_cused_tim"/a>(faow_ciffies./a>)
  01<
  11         truct trim"spec/a>{fcur_t./a>;
  11        tu4{fcur_ms/a>, fidle_m./a>;
  11
  115/a>        fkrim"_gt_tr./a>(<&fcur_t./a>;;
  116/a>        fidle_m./a>;= fiffies._to_m.ec./a>(fiffies./a>) -wa href="+code=faow_ciffies. class="sref">faow_ciffies./a>)

  117/a>        fcur_ms/a>,= <tu4{)a href="+code=lcur_t. class="sref">fcur_t./a>;.a href="+code=tcv_sec class="sref">trv_sec/a> *<tMSEC_PER_SEC/a> +   11                rfcur_t./a>;.a href="+code=tcv_nsec class="sref">trv_nsec/a> */tNSEC_PER_MSEC/a>;
  11
  12"/a>        return fcur_ms/a>,=-wa href="+code=fidle_m. class="sref">fidle_m./a>;
  12}
  12
  13#idefne"wa href="+code=fSW_FLOW_KEY_OFFSET class="sref">fSW_FLOW_KEY_OFFSET/a>(faesld/a>);+++++++++++++++\  12        isffset(struct ukw_low_cke"/a>, faesld/a>);++++\  12          a href="+code=sFIELD_SIZEOF class="sref">fFIELD_SIZEOF/a>(struct ukw_low_cke"/a>, faesld/a>);
  12
  12static tparse_pv6.dr_/a>(struct sk_buff *skb), truct ukw_low_cke"/a>,*uke"/a>,   12                r<<<<<<<<uke"len

) 12{ 13"/a> rnsigned int nh_ofs = skb_network_offset(skb); 131/a> rnsigned int th_oen"/a>; 13 ift npayloadofs"/a>; 13 tpv6.dr_/a>(<th_/a>; 13 ia href="+code=unft 8_" class="sref">snft 8_"/a>{tnextdr_/a>; 135/a> t__be6"/a>{faragoffs/a>; 136/a> ift err; 13 13 uke"len

)= fSW_FLOW_KEY_OFFSET/a>(tpv6./a>;.a href="+code=tlabe" class="sref">plabe"/a>); 13 14 err = check_header(skb, nh_ofs + sizeof(sth_/a>;); 14 if (unlikely(err)) 14 eturn err; 143/a> 14 ia href="+code=unh class="sref">th_/a>;= tpv6._dr_/a>(sa href="+code=skb" class="sref">skb); 145/a> tnextdr_/a>;= th_/a>;>tnextdr_/a>; 146/a> npayloadofs"/a>;= <un *)th_/a>;=+ 1)=-wa href="+code=fkb" class="sref">skb->satap/a>; 17 14 uke"/a>,>uip/a>;.a href="+code=tproto class="sref">nproto/a>;= tNEXTHDR_NONE/a>; 14 uke"/a>,>uip/a>;.a href="+code=tto" class="sref">tho = fpv6._gt_tdsiesld/a>(sa href="+code=snh class="sref">th_/a>;) 15 uke"/a>,>uip/a>;.a href="+code=ttt" class="sref">ptt"/a>;= th_/a>;>class="sref">thop_liit"/a>; 11 a href="+code=tke" class="sref">uke"/a>,>tpv6./a>;.a href="+code=tlabe" class="sref">plabe"/a>)= <*sa href="+code=s__be2" class="lref">t__be3 *)a href="+code=lnh class="sref">th_/a>;=&< a href="+code=thton" class="sref">phton"/a>(sa href="+code=sIPV6_FLOWINFO_FLOWLABE" class="sref">EIPV6_FLOWINFO_FLOWLABE"/a>;) 12 ia href="+code=tke" class="sref">uke"/a>,>tpv6./a>;.a href="+code=tadr_ class="sref">tadr_/a>;.a href="+code=tsrc class="sref">tsrc/a>;= th_/a>;>tsadr_/a>; 15 uke"/a>,>tpv6./a>;.a href="+code=tadr_ class="sref">tadr_/a>;.a href="+code=tds">class="sref">tds"/a>;= th_/a>;>tdadr_/a>; 15 155/a> npayloadofs"/a>;= tpv6._skip_extdr_/a>(skb, npayloadofs"/a>;, &tnextdr_/a>;, &faragoffs/a>;) 156/a> if (unlikely(npayloadofs"/a>;=lt; <0) 157/a> return -EINVAL; 15 19 rf (faragoffs/a>;) 10 f (faragoffs/a>;=&< a href="+code=thton" class="sref">nhton"/a>(<~0x7) 16 rrrrrrrrra href="+code=tke" class="sref">uke"/a>,>uip/a>;.a href="+code=tarag class="sref">farag/a>;= fOVS_FRAG_TYPE_LATER/a>; 16 else 16 rrrrrrrrra href="+code=tke" class="sref">uke"/a>,>uip/a>;.a href="+code=tarag class="sref">farag/a>;= fOVS_FRAG_TYPE_FIRST/a>; 16 i 16 166/a> th_oen"/a>;= npayloadofs"/a>;=-wa href="+code=fh_ofs" class="sref">nh_ofs 167/a> skb_set_transport_header(skb, nh_ofs + th_oen"/a>;) 16 uke"/a>,>uip/a>;.a href="+code=tproto class="sref">nproto/a>;= tnextdr_/a>; 16 return th_oen"/a>; 17} 17 17static bool tcmpv6dr_ok"/a>(struct sk_buff *skb) 17{ 17 return 0a href="+code=tpkb_may_pull" class="sref">pskb_may_pull(skb, skb_transport_offset(skb);+ 15 <<<<<<<<<<<<<tpmpv.dr_/a>;); 17} 17 18 idefne"wa href="+code=fTCP_FLAGS_OFFSET class="sref">fTCP_FLAGS_OFFSET/a> 13 19 idefne"wa href="+code=fTCP_FLAG_MASK class="sref">fTCP_FLAG_MASKme=ine" name="L717"> r.c#L718" id="L619" class="line" namlass="lin1e" name="L80"> 80} 1 81 <1a hre1="net/voide=tovs_low_cused_tim" class=">fTCP_FLAG_MASK_tim" class=" href="+code=sk_buff" class=,*skb);+ sk_buff *skb) 82st1atic 1a href/openvswitch/flow.c#L814" id="L714" lass="lin1e" name="L83"> 83{ 1un *)tho = 84 1 18"net/openvswitch/flow.c#L915" id="L515" lass="lin1e" name="L85"> 85 1 1int uke"/a>,>th_/a>;>true; nhton"/a>(<~0x7) 86 <1a hre18 return -skb);+ uke"/a>,>th_/a>;>true; nhton"/a>(<~0x7) tpv6./a>;.a hr"TH_P_IPV"f="net="+cod"+codopenvswitch/flow.c#L92" id="L92" c1llass="line" name="L87"> 87 1 18 return -skb);+ uke"/a>,>uip/a>;.a href="+code=tproto class="sref">nproto/a>;= 18 unlikely(skb->len < skb_transport_offset(skb); tcphdr)))) 89 <1a hre189 return -un *)un *)tcphdr)))) skb); 90 1 19 f (tho = tcphdr)))) fTCP_FLAGS_OFFSET/a> 13fTCP_FLAG_MASKme=ine" name="L71/openvswitch/flow.c#L615" id="L415" llass="line" name="L91"> 91 1 1if ( 92 1 19"net/openvswitch/flow.c#L713" id="L213" lass="lin1e" name="L93"> 93 1 19a href="+code=iu4" class="lrspin_loc">tcmpv6dr_ok"/aspin_loc"+code+code=lfragoffs classa h>skb);+ tcmpv6dr_ok"/aloc"+codt/openvswitch/flow.c#L615" id="L415" lass="lin1e" name="L94"> 94 <1a hre19a href="+code=unh class="sresa h>skb);+ fTCP_FLAG_MASKss=" hreode=tiffies._to_m.ec. cla>fTCP_FLAG_MASK 95 1 19a href="+code=ipayloadofs" csa h>skb);+ skb_transport_packet_coun""+co++/openvswitch/flow.c#L615" id="L415" lass="lin1e" name="L96"> 96} 1skb);+ skb_transport_byte_coun"="+codde=skb_transport_off>skb->len < <1a hre19a href="+code=ikb_set_transpsa h>skb);+ tho = tho = 89st1atic 19a href="+code=skb_set_transpopin_unloc">tcmpv6dr_ok"/aspin_unloc"+code+code=lfragoffs classa h>skb);+ tcmpv6dr_ok"/aloc"+codt/openvswitch/flow.c#L615" id="L415" lass="lin1e" name="L9""> 89{ 1 0""/a> 2 20="net.c#L718" id="L619" class="line" na2class="li2e" name="L1101> 0" 2 2 ="+code=tkw_low_cke" class="sractief">nhton"/a>(<~0xlass="sractief"f="+ce=skb" class="sr_tim" claactief"_alloc>fTCP_FLAG_MASK_tim" claactief"_alloc+codecef"tf="+code=tkw_low_cke" cnlatt">tnextdr_/a>; nhton"/a>(<~0xactief"f="+/openvswitch/flow.c#L813" id="L713"2class="li2e" name="L1202> 0"2/a>}2 2a hre20a href="+codecode=trr" class="sractief"_ef">len < th_oen"/a>; nhton"/a>(<~0xactief"f="+//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L1404> 0"4/a>s2atic 20a href="+code="+code=tkw_low_cke" class="sractief">nhton"/a>(<~0xlass="sractief"f="+ce=skb" class="srsf">satap/a>; {2 2 20f (len < len < <2 2 rrrrrrrrrrrrrr="+code=tpkb_may_pull"ERR_PT">fOVS_FRAG_TYPEERR_PT"+codee=EINVAL" class="sref">EINVAL; 89st2 2a hre20a href="+code=eke" class="srsf">satap/a>; satap/a>; len < EIPV6_FLOWINFOGFP_KERNf""net//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L100"> 10<2 href21f (satap/a>; 01<2fOVS_FRAG_TYPEERR_PT"+codee=EINVAL" class="sref">ENOMEM; 11 2 21"net/openvswitch/flow.c#L713" id="L213"2class="li2e" name="L133"> 11 2 2satap/a>; len < len < 11 2a hre21a href="+code=unh class="srememcp">unlikely(satap/a>; nhton"/a>(<~0xactief"f="+de=nh_ofs" class="larref">satap/a>; nhton"/a>(<~0xactief"f="+/de=nh_ofs" class=actief"_ef">len < 115/a> 2 21eturn satap/a>; 116/a> 2 21="net/openvswitch/flow.c#L917" id="L717"2class="li2e" name="L177"> 117/a> 2 21"net/openvswitch/flow.c#L718" id="L718"2class="li2e" name="L188"> 11 2 218 ="+code=tkw_low_cke" class="s>skb);+ fTCP_FLAG_MASK_tim" claalloc hrefvoid)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L199"> 11 2a hre21="net/openvswitch/flow.c#L510" id="L310"2class="li2e" name="L210"> 12"/a> 2 2return skb);+ 12}2 12 2a hre22a href="+code=tke" class="srskb);+ fTCP_FLAG_MASKkmem_cacheaalloc+code=skb" class="sr" clacache>skb);+ EIPV6_FLOWINFOGFP_KERNf""net//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L213"> 13#2defne22a href="+codecodee=pskb_may_pull"skb);+ 12 2 2ifOVS_FRAG_TYPEERR_PT"+codee=EINVAL" class="sref">ENOMEM; 12 2 22"net/openvswitch/flow.c#L416" id="L616"2class="li2e" name="L216"> 12 2a hre22a href="+code=ih_oen" class=spin_loc"_inf">thop_liit"/a>;spin_loc"_inf"+code+code=lfragoffs classa h>skb);+ tcmpv6dr_ok"/aloc"+codt/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L217"> 12s2atic 22a href="+code=ikb_set_transpsa h>skb);+ nhton"/a>(<~0xlfract""+coode=inextdr_ classNUL">EIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L218"> 12 2 22"net/openvswitch/flow.c#L199" id="L519"2class="li2e" name="L219"> 12{2skb);+ 13"/a> 2 23="net/openvswitch/flow.c#L811" id="L711"2class="li2e" name="L311"> 131/a> 2 23"net/openvswitch/flow.c#L812" id="L712"2class="li2e" name="L312"> 13 2 23 href="+code="+code=sk_buff" classhlisa href>skb);+ skb);+ t__be3 *)uef="+co=sk_buff" classhas">th_/a>;> 13 2 23="net/openvswitch/flow.c#L814" id="L714"2class="li2e" name="L314"> 13 2 2ia href="+code=unft 8_" classhas">th_/a>;>skb);+ th_/a>;>clasas"_se=">fTCP_FLAG_MASKsas"_se="+codt/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L315"> 135/a> 2 23eturn skb);+ clabucket">nhton"/a>(<~0xbucket""+codopenvswitch/flow.c#L615" id="L415"2class="li2e" name="L316"> 136/a> 2 23 return -th_/a>;>skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co=- 1)et/openvswitch/flow.c#L716" id="L716"2class="li2e" name="L317"> 13 2a hre2="net//openvswitch/flow.c#L811" id="L711"2class="li2e" name="L318"> 13 2 23"net/openvswitch/flow.c#L199" id="L519"2class="li2e" name="L319"> 13 2a hre2="net/="+code="+code=sk_buff" classskb);+ nhton"/a>(<~0xalloc_bucket"+codea href="+code=nh_oen" class="_bucket">nhton"/a>(<~0xn_bucket""+co)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L410"> 14 2 2 14 2 2if (skb);+ nhton"/a>(<~0xbucket""+co/openvswitch/flow.c#L716" id="L716"2class="li2e" name="L412"> 14 2 2 eturncode=nh_oen" class=i>nhton"/a>(<~0xi"+code=th_ofs" class=ef">err; 143/a> 2a hre2="net/openvswitch/flow.c#L714" id="L414"2class="li2e" name="L414"> 14 2 2ia href="+code=unh class="srebucket">nhton"/a>(<~0xbucket""+coode=tiffies._to_m.fTCP_FLAG_MASKskb);+ 145/a> 2 24 <<<<<<<<<<<<<nhton"/a>(<~0xn_bucket""+code=skb_nransport_GFP_KERNf">EIPV6_FLOWINFOGFP_KERNf""net//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L416"> 146/a> 2 24f (nhton"/a>(<~0xbucket""+co)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L417"> 17 2a hre24 rrrrrrrrrrrrrr="+code=tpkb_may_pull"NUL">EIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L418"> 14 2 24"net/openvswitch/flow.c#L199" id="L519"2class="li2e" name="L419"> 14 2 2err = fTCP_FLAG_MASKnhton"/a>(<~0xbucket""+cod 0de=nh_ofs" class="_bucket">nhton"/a>(<~0xn_bucket""+code=skb_nransport_GFP_KERNf">EIPV6_FLOWINFOGFP_KERNf""net//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L510"> 15 2 25f (err = 11 2 25 return skb);+ nhton"/a>(<~0xbucket""+co//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L512"> 12 2 25 elseEIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L513"> 15 2 2 15 2a hre2="net/openvswitch/flow.c#L915" id="L515"2class="li2e" name="L515"> 155/a> 2 2(<~0xi"+coodet/e=nh_oen" class=i>nhton"/a>(<~0xi"+co"+code=th_ofs" class="_bucket">nhton"/a>(<~0xn_bucket""+co/e=nh_oen" class=i>nhton"/a>(<~0xi"+co++)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L516"> 156/a> 2 25 return -nhton"/a>(<~0xINIT_HLIST_HEAD+coded="+code=sk_buff" classhlisa href>skb);+ 157/a> 2 2 return -(s>skb);+ (s+code=skb" class="srbucket">nhton"/a>(<~0xbucket""+cod =nh_oen" class=i>nhton"/a>(<~0xi"+coet/openvswitch/flow.c#L716" id="L716"2class="li2e" name="L518"> 15 2a hre2="net/openvswitch/flow.c#L199" id="L519"2class="li2e" name="L519"> 19 2 25eturn nhton"/a>(<~0xbucket""+co/openvswitch/flow.c#L716" id="L716"2class="li2e" name="L610"> 10 2 26="net/openvswitch/flow.c#L811" id="L711"2class="li2e" name="L611"> 16 2 26"net/openvswitch/flow.c#L812" id="L712"2class="li2e" name="L612"> 16 2 26 href="+codevoide=tovs_low_cusedfree_bucket">nhton"/a>(<~0xfree_bucket" href="+code=sk_buff" classskb);+ nhton"/a>(<~0xbucket""+co)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L613"> 16 2 26="net/openvswitch/flow.c#L814" id="L714"2class="li2e" name="L614"> 16 2 26a href="+code=unh class="sresaex_arrayafree>skb);+ nhton"/a>(<~0xbucket""+co//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L615"> 16 2a hre2="net//openvswitch/flow.c#L811" id="L711"2class="li2e" name="L616"> 166/a> 2 26"net/openvswitch/flow.c#L817" id="L217"2class="li2e" name="L617"> 167/a> 2 267 ="+code=tkw_low_cke" cskb);+ fTCP_FLAG_MASK_tim" clatblaalloc+codecode=nh_oen" class="ew_=="+>nhton"/a>(<~0xnew_=="+"+co)openvswitch/flow.c#L615" id="L415"2class="li2e" name="L618"> 16 2 2 16 2 2return skb);+ fTCP_FLAG_MASKkmalloc href=="+code=snh class="sre able>skb);+ EIPV6_FLOWINFOGFP_KERNf""net//openvswitch/flow.c#L615" id="L415"2class="li2e" name="L710"> 17}2 17 2a hre27f (skb);+ 17s2atic 27 elseEIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L713"> 17{2 17 2 27a href="+code=unh class="sre"able>skb);+ clabucket">nhton"/a>(<~0xbucket""+coode=inextdr_ classalloc_bucket">nhton"/a>(<~0xalloc_bucket"+code=nh_oen" class="ew_=="+>nhton"/a>(<~0xnew_=="+"+co)/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L715"> 15 2 27"net/openvswitch/flow.c#L416" id="L616"2class="li2e" name="L716"> 17}2skb);+ clabucket">nhton"/a>(<~0xbucket""+cott/openvswitch/flow.c#L510" id="L610"2class="li2e" name="L717"> 17 2a hre27 return -skb);+ 18 2defne27 r<<<<<<<<EIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"2class="li2e" name="L719"> 19 2defne27eturn 80} 2skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co=de=inextdr_ class="w_=="+>nhton"/a>(<~0xnew_=="+"+co/openvswitch/flow.c#L615" id="L415"2llass="li2e" name="L81"> 81 <2a hre28a href="+code=tke" class="sr"able>skb);+ clacoun">skb_transport_coun"="+codet/openvswitch/flow.c#L80" id="L80" c2lass="lin2e" name="L82"> 82st2atic 28a href="+code=tke" class="sr"able>skb);+ clan>cl_vf">skb_set_transpn>cl_vf"="+codet/openvswitch/flow.c#L80" id="L80" c2llass="li2e" name="L83"> 83{ 2skb);+ clakeepm" cl">fkrim"_gt_tr./aeepm" cl"="+code=check_header" skb);+ 84 2 28a href="+code=unh class="sre>(sarandom_byte">fkrim"_gt_tr./>(sarandom_byte"+code+code=lfragoffs clas"able>skb);+ clasas"_se=">fTCP_FLAG_MASKsas"_se="+cod, clauf">t__be3 *)uef="+cet/openvswitch/flow.c#L716" id="L716"2lass="lin2e" name="L85"> 85 2 28"net/openvswitch/flow.c#L416" id="L616"2lass="lin2e" name="L86"> 86 <2a hre28 return="+code=tpkb_may_pull""able>skb);+ 87 2 28"net//openvswitch/flow.c#L811" id="L711"2lass="lin2"" name="L18"> 18 <2 efne28"net/openvswitch/flow.c#L199" id="L519"2lass="lin2e" name="L89"> 89 <2a hre289 voide=tovs_low_cused_tim" clatblade="+oy>skb);+ skb);+ 90 2 29a hre/openvswitch/flow.c#L814" id="L714"2llass="li2e" name="L91"> 91 2 2if (nhton"/a>(<~0xi"+co/openvswitch/flow.c#L716" id="L716"2lass="lin2e" name="L92"> 92 2 29"net/openvswitch/flow.c#L713" id="L213"2lass="lin2e" name="L93"> 93 2 29a href="+codecodee=pskb_may_pull" able>skb);+ 94 <2a hre29 95 2 29"net/openvswitch/flow.c#L416" id="L616"2lass="lin2e" name="L96"> 96} 2skb);+ clakeepm" cl">fkrim"_gt_tr./aeepm" cl"="+c/.c#L718" id="L619" class="line" na2llass="li2e" name="L9s="sro7 <2a hre29 return -fkrim"_gt_tr./ofipm" cl""+co/openvswitch/flow.c#L716" id="L716"2lass="lin2e" name="L89"> 89st2atic 29"net/openvswitch/flow.c#L199" id="L519"2lass="lin2e" name="L9""> 89{ 2(<~0xi"+coodet/e=nh_oen" class=i>nhton"/a>(<~0xi"+co"+code=th_ofs" class="able>skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co/e=nh_oen" class=i>nhton"/a>(<~0xi"+co++)t/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L10""> 0""/a> 3 30 f (skb);+ 3 30 return skb);+ (s>skb);+ (s+code=skb" class="sr"able>skb);+ clabucket">nhton"/a>(<~0xbucket""+cod =nh_oen" class=i>nhton"/a>(<~0xi"+coe/openvswitch/flow.c#L615" id="L415"3c2ass="li3e" name="L92"> 92 3cl>skb);+ cl"+code=skb" class="srn>cl>skb);+ cl"+co,de=skb" class="srn>skb);+ 93 3a hre30a href="+code href="+code=nh_oen" class=vf">skb_set_transpvf"="+code=tke" class="sr"able>skb);+ clan>cl_vf">skb_set_transpn>cl_vf"="+c/openvswitch/flow.c#L615" id="L415"3c4ass="li3e" name="L94"> 94 <3atic 30"net/openvswitch/flow.c#L915" id="L515"3class="li3e" name="L1505> 0"5/a>{3skb);+ cl>skb);+ cl"+co[=nh_oen" class=vf">skb_set_transpvf"="+c])t/openvswitch/flow.c#L510" id="L610"3c6ass="li3e" name="L96"> 96} 3 30 return -skb);+ skb);+ cl>skb);+ cl"+co[=nh_oen" class=vf">skb_set_transpvf"="+c])/openvswitch/flow.c#L615" id="L415"3c7ass="li3e" name="L9s="sro7 <3 3 rrrrrrrrrrrrrr =sk_buff" class_tim" clafree>skb);+ 89st3 3a hre30eturn 10<3 href31="net.c#L718" id="L619" class="line" na3class="li3e" name="L11"1> 01<3fkrim"_gt_tr./ofipm" cl""+co:.c#L718" id="L619" class="line" na3c2ass="li3e" name="L122"> 11 3 31a href="+code=tke" class="srnhton"/a>(<~0xfree_bucket" href=pskb_may_pull""able>skb);+ clabucket">nhton"/a>(<~0xbucket""+cot/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L133"> 11 3 3 11 3a hre31a hre/openvswitch/flow.c#L811" id="L711"3class="li3e" name="L155"> 115/a> 3 31"net/openvswitch/flow.c#L416" id="L616"3class="li3e" name="L166"> 116/a> 3 31="net="+codevoide=tovs_low_cusedf clatblade="+oy_rcu_cf>skb->skb);+ 117/a> 3 31"net//openvswitch/flow.c#L510" id="L610"3class="li3e" name="L188"> 11 3 31 r<<<<<="+code=sk_buff" classskb);+ r_o">sk_buff *r_o"+code=skb" class="srrcu>skb);+ skb);+ 11 3a hre31="netopenvswitch/flow.c#L615" id="L415"3class="li3e" name="L210"> 12"/a> 3 32a href="+code=tke" class="sr_tim" clatblade="+oy>skb);+ 12}3 12 3a hre32"net/openvswitch/flow.c#L713" id="L213"3class="li3e" name="L213"> 13#3defne32a hrevoide=tovs_low_cused_tim" clatbladeferredade="+oy>skb);+ skb);+ 12 3 3i 12 3 32nt skb);+ 12 3a hre32 return - 12s3atic 32"net/openvswitch/flow.c#L718" id="L718"3class="li3e" name="L218"> 12 3 32a href="+code=skb_set_transpcall_rcu>skb);+ skb);+ clarcu>skb);+ 12{3 13"/a> 3 33="net.c#L718" id="L619" class="line" na3class="li3e" name="L311"> 131/a> 3 33 ="+code=tkw_low_cke" class="s>skb);+ skb);+ skb);+ t__be3 *)uef="+coe=skb" class="srbucket>nhton"/a>(<~0xbucketf="+de=skb_nransport_uf">t__be3 *)uef="+coe=skb" class="sr_bet>nhton"/a>(<~0x_betf="+/.c#L718" id="L619" class="line" na3class="li3e" name="L312"> 13 3 33 href/openvswitch/flow.c#L814" id="L714"3class="li3e" name="L13""> 13 3 33a href="+code="+code=sk_buff" class=,*skb);+ 13 3 3ia href="+code="+code=sk_buff" classhlisa href>skb);+ 135/a> 3 33eturn cl>skb);+ cl"+code=skb" class="srn>skb);+ 136/a> 3 33 returncode=nh_oen" class=vf">skb_set_transpvf"="+c/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L317"> 13 3a hre337 returncode=nh_oen" class=i>nhton"/a>(<~0xi"+co/openvswitch/flow.c#L716" id="L716"3class="li3e" name="L318"> 13 3 33"net/openvswitch/flow.c#L199" id="L519"3class="li3e" name="L319"> 13 3a hre33a href="+code=eke" class="srvf">skb_set_transpvf"="+code=tke" class="sr"able>skb);+ clan>cl_vf">skb_set_transpn>cl_vf"="+c/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L410"> 14 3 34a href="+codewhile de=snh class="srebucket>nhton"/a>(<~0xbucketf="+"+code=th_ofs" class="able>skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co)t/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L411"> 14 3 34 return nhton"/a>(<~0xi"+coodet/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L412"> 14 3 34 else(s>skb);+ (s+code=skb" class="sr"able>skb);+ clabucket">nhton"/a>(<~0xbucket""+cod e=snh class="srebucket>nhton"/a>(<~0xbucketf="+//openvswitch/flow.c#L615" id="L415"3class="li3e" name="L413"> 143/a> 3a hre34a href="+code href="+=sk_buff" classhlisa for_each_entry_rcu>skb);+ cl>skb);+ cl"+co[=nh_oen" class=vf">skb_set_transpvf"="+c])t/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L414"> 14 3 34nhton"/a>(<~0xi"+coo+codee=skb" class="sr_bet>nhton"/a>(<~0x_betf="+/t/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L415"> 145/a> 3 34 <<<<<<<<<<<<<nhton"/a>(<~0xi"+co++/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L416"> 146/a> 3 34 return - 17 3a hre34 rrrrrrrrrrrrrrrrrrrrrr/openvswitch/flow.c#L917" id="L717"3class="li3e" name="L418"> 14 3 34 r<<<<<<<<(<~0x_betf="+dde=check_header" i>nhton"/a>(<~0xi"+coo+ 1/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L419"> 14 3 3skb);+ 15 3 35 f ( 11 3 35 return (<~0xbucketf="+)++/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L512"> 12 3 35 else(<~0x_betf="+ddet/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L513"> 15 3 3 15 3a hre3="net/openvswitch/flow.c#L915" id="L515"3class="li3e" name="L515"> 155/a> 3 3EIPV6_FLOWINFONUL""+co/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L516"> 156/a> 3 35="net/openvswitch/flow.c#L917" id="L717"3class="li3e" name="L517"> 157/a> 3 35"net/openvswitch/flow.c#L718" id="L718"3class="li3e" name="L518"> 15 3a hre358"net="+codevoide=tovs_low_cusedf clatable_copym" cl">fkrim"_gt_tr./f clatable_copym" cl" href="+code=sk_buff" classskb);+ fTCP_FLAG_MASK_l"+cod, <"+code=sk_buff" classskb);+ 19 3 35="net/openvswitch/flow.c#L510" id="L310"3class="li3e" name="L610"> 10 3 36f (skb_set_transp_l"_vf""+co/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L611"> 16 3 36f (nhton"/a>(<~0xi"+co/openvswitch/flow.c#L716" id="L716"3class="li3e" name="L612"> 16 3 36"net/openvswitch/flow.c#L713" id="L213"3class="li3e" name="L613"> 16 3 36a href="+code=iu4" class="lr_l"_vf">skb_set_transp_l"_vf""+codde=check_header" ol">fTCP_FLAG_MASK_l"+cod+code=lhop_liit">clan>cl_vf">skb_set_transpn>cl_vf"="+c/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L614"> 16 3 36a href="+code=unh class="sreneh>skb);+ clan>cl_vf">skb_set_transpn>cl_vf"="+codee=pskb_may_pull"_l"_vf">skb_set_transp_l"_vf""+co/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L615"> 16 3a hre36"net/openvswitch/flow.c#L416" id="L616"3class="li3e" name="L616"> 166/a> 3 36a href="+code=spanname="L6comment">/* Insert+co neh table. */ 167/a> 3 36 rrrrrrforde=eke" class="sri>nhton"/a>(<~0xi"+coodet/e=nh_oen" class=i>nhton"/a>(<~0xi"+co"+code=th_ofs" class=ol">fTCP_FLAG_MASK_l"+cod+code=lhop_liit">clan_bucket">nhton"/a>(<~0xn_bucket""+co/e=nh_oen" class=i>nhton"/a>(<~0xi"+co++)t/openvswitch/flow.c#L510" id="L610"3class="li3e" name="L618"> 16 3 36 r<<<<<<<<skb);+ 16 3 36a href="+codeeeeeeeee="+code=sk_buff" classhlisa href>skb);+ 17}3cl>skb);+ cl"+code=skb" class="srn>skb);+ 17 3a hre37"net/openvswitch/flow.c#L812" id="L712"3class="li3e" name="L712"> 17s3atic 37 else(s>skb);+ (s+code=skb" class="srol">fTCP_FLAG_MASK_l"+cod+code=lhop_liit">clabucket">nhton"/a>(<~0xbucket""+cod =nh_oen" class=i>nhton"/a>(<~0xi"+coe/openvswitch/flow.c#L615" id="L415"3class="li3e" name="L713"> 17{3 17 3 37skb);+ cl>skb);+ cl"+co[=nh_oen" class=_l"_vf">skb_set_transp_l"_vf""+co]/.c#L718" id="L619" class="line" na3class="li3e" name="L715"> 15 3 37 <<<<<<<<<<<<<skb);+ skb);+ 17}3 17 3a hre37 return=skb" class="srol">fTCP_FLAG_MASK_l"+cod+code=lhop_liit">clakeepm" cl">fkrim"_gt_tr./aeepm" cl"="+code=check_header" "+ce>skb);+ 18 3defne37 /openvswitch/flow.c#L917" id="L717"3class="li3e" name="L719"> 19 3defne37="netopenvswitch/flow.c#L615" id="L415"3lass="lin3e" name="L80"> 80} 3skb);+ th_/a>;>skb);+ nhton"/a>(<~0xn_bucket""+co)openvswitch/flow.c#L615" id="L415"3llass="li3e" name="L81"> 81 <3a hre38a hre/openvswitch/flow.c#L510" id="L610"3lass="lin3e" name="L82"> 82st3atic 38a href="+code<"+code=sk_buff" classskb);+ 83{ 3 84 3 38a href="+code=unh class="srenehatable>skb);+ fTCP_FLAG_MASK_tim" clatblaalloc+code=nh_oen" class="_bucket">nhton"/a>(<~0xn_bucket""+co)/openvswitch/flow.c#L615" id="L415"3llass="li3e" name="L85"> 85 3 38nt skb);+ 86 <3a hre38 return -fOVS_FRAG_TYPEERR_PT"+codee=EINVAL" class="sref">ENOMEM; 87 3 38"net/openvswitch/flow.c#L718" id="L718"3lass="lin3"" name="L18"> 18 <3 efne38a href="+code=skb_set_transpf clatable_copym" cl">fkrim"_gt_tr./f clatable_copym" cl" href=skb" class="sr able>skb);+ skb);+ 89 <3a hre38="netopenvswitch/flow.c#L615" id="L415"3lass="lin3e" name="L90"> 90 3 39 f (skb);+ 91 3 39"net//openvswitch/flow.c#L811" id="L711"3lass="lin3e" name="L92"> 92 3 39"net/openvswitch/flow.c#L713" id="L213"3lass="lin3e" name="L93"> 93 3 39a hre="+code=tkw_low_cke" cskb);+ th_/a>;>skb);+ 94 <3a hre39 95 3 39a href="+code="+code=tpkb_may_pull"_m" clatblarehas">th_/a>;>skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co)/openvswitch/flow.c#L615" id="L415"3llass="li3e" name="L96"> 96} 3 <3a hre39"net/openvswitch/flow.c#L718" id="L718"3lass="lin3e" name="L89"> 89st3atic 398 ="+code=tkw_low_cke" cskb);+ fTCP_FLAG_MASK_tim" clatblaexpan" href="+code=sk_buff" classskb);+ 89{ 3 0""/a> 4 40 f (th_/a>;>skb);+ clan_bucket">nhton"/a>(<~0xn_bucket""+co * 2)/openvswitch/flow.c#L615" id="L415"4class="li4e" name="L1101> 0" 4 40"net//openvswitch/flow.c#L811" id="L711"4c2ass="li4e" name="L92"> 92 4 93 4a hre40a hrevoide=tovs_low_cused_tim" clafree>skb);+ skb);+ 94 <4atic 40{4skb);+ 96} 4 40 return - <4 40"net/openvswitch/flow.c#L718" id="L718"4c8ass="li4e" name="L89"> 89st4nhton"/a>(<~0xlfr" claact" href=check_header" _m"orce>skb);+ skb);+ nhton"/a>(<~0xlfract""+co)/openvswitch/flow.c#L615" id="L415"4c9ass="li4e" name="L9""> 89{ 4a hre40a href="+code=eke" class="srkmem_cacheafree>skb);+ skb);+ 10<4 href41="net/openvswitch/flow.c#L811" id="L711"4class="li4e" name="L11"1> 01<4 11 4 41a hre=spanname="L6comment">/* RCU callback used by _tim" cladeferredafree. */ 11 4 413 hre="+codevoide=tovs_low_cusedrcu_free_skb);+ skb);+ 11 4a hre41 115/a> 4 41eturn skb);+ r_o">sk_buff *r_o"+code=skb" class="srrcu>skb);+ skb);+ 116/a> 4 41"net/openvswitch/flow.c#L817" id="L217"4class="li4e" name="L177"> 117/a> 4 41 return=skb" class="srotim" clafree>skb);+ 11 4 41 /openvswitch/flow.c#L917" id="L717"4class="li4e" name="L199"> 11 4a hre41="netopenvswitch/flow.c#L615" id="L415"4class="li4e" name="L210"> 12"/a> 4 42a hre=spanname="L6comment">/* Schedules 'd="L' to be freed after the a hr RCU grace period. 12}4 * The caller must hold rcu_rref_lock fordthis to be sensible. */ 12 4a hre42"net/voide=tovs_low_cused_tim" cladeferredafree>skb);+ skb);+ 13#4defne42="net/openvswitch/flow.c#L814" id="L714"4class="li4e" name="L214"> 12 4 42a href="+code=unh class="srecall_rcu>skb);+ skb);+ 12 4 42nt 12 4a hre42"net/openvswitch/flow.c#L817" id="L217"4class="li4e" name="L217"> 12s4atic 42"net/=spanname="L6comment">/* Schedules 'lfract"' to be freed after the a hr RCU grace period. 12 4 42a hre=spanname="L6comment"> * The caller must hold rcu_rref_lock fordthis to be sensible. */ 12{4nhton"/a>(<~0x_tim" cladeferredafreeract"+code="+code=sk_buff" class=,* 94 <3atic 30"netd="L213"3class="a> 3a hre30a href="+codfter the a hr RCU grace period.cl>skb);+ cl"+code=skbch/flow.c#L817" id="L+co,d=skb" class="8"L6comment"> * The calleuff" class ngrace period.code=lfra 116/a> 4 33 href4openvswitch/flow.c#L814"4id="L414"3class="li4e" name="L216"> 12 4a h 33a hre4="+code="+code=sk_buff" 4lass=43"3llass="li3e" name="L84"> 84 3 4 3ia hre4="+code="+code=sk_buff" 4lassh4isa hr hacall(<~0xn_bucket""+co)parse_vlahref>skb);+ parse_vlahionm" cladef" nameL717"4clask_buf class="srrcu>sksk_buf atic 30"netd="L213"3clkf hre//openvswitlkfb);+ skbskbcl 42nt 817" id="L+co,d=skb" class="8"L6commee42"net/o returncode=nh_oen" clas4=vf">4kb_set_transpv;+ skbnh43tch/flow.c#L917" id="m"orce"+code)=pskbepenvswitch/h>skb 12{4skb 91 3 4re33a hre4="+code=eke" class="srvf4>skb_4et_transpvf"="}ass="li3e" name="L91"> 91 3 4 34a hre4="+codewhile de=snh clas4="sre4ucket>nhton"/a;+ skbskb 91 3 4 34 4 return 11 4 34 4 elseskb);+ skb);+ lehf>skb_l"+c*)uef=";+ skb 96} 4 re34a hre4="+code href="+=sk_buff"4class4lisa for_each_entry_rc">th_/alass="li3e" name="L513"> 15 3 4 34 155/a> 3 4 34 4 <<<<<<<<<<<<<skb);+ skb);+ skb);+ plkf_may_pulla skb 155/a> 3 4 e42"net/o return - 96} 4 r 42"net/= rrrrrrrrrrrrrrrrrrrrrr/4penvs4itch/flow.c#L917" id="">th_/ahref="net//openvswitch/flow.c#L615" id="L415"3lass="li3e" name="L513"> 15 3 4 33"net/4 r<<<<<<<< 13 3a 4 3skbskb 15 3 4 35 4 f (skb);+ skb *r_oqp_pull"skbcl"+co[=t="sr able" name="L=t="sa 116/a> 4 35 4 return skb 116/a> 4 34 4 else 93 4a h 3th_/alass="li3e" name="L513"> 15 3 4re3="net/4penvswitch/flow.c#L915" 4d="L5451"3class="li3e" name="L155"> 115/a> 3 4 3 166/a> 3 4 35="net4openvswitch/flow.c#L917"4id="L45blade="+oy_rm"orce"+code)=pskbepenvswitch/h>skb 96} 4 35"net/4penvswitch/flow.c#L718" 4d="L7450"3class="li3e" name="L188"> 11 3 4re358"net4"+codevoide=tovs_low_cus4df cl45hatable>skb);+ skb 12{4cl>skbskb 12{4nh46nhton"/a>(<~0xi"+coodet/openvswitch/p8d="L619" class=uhatableodef=tovs_low_cctrlref>skb);+ ctrl5"3lass="li3e" name="L513"> 15 3 4 36"net/4penvswitch/flow.c#L713" 4d="L246ef>skb);+ 15 3 4 346isa for_each_entry_rcu>skb);+ skb 15 3 4 e3="net/4="+code=unh class="srene4>skb<4a>);+ 91 3 4re36"net/4penvswitch/flow.c#L416" 4d="L646skb);+ 15 3 4 35="net4="+code=spanname="L6comm4nt">/4 Insert+co neh "orce"+code)=pskbepenvswitch/h>skb 15 3 4 35"net/4 rrrrrrforde=eke" class=4sri>n46"4c8ass="li4e" name="L89"> 89st4skb 15 3 4 36a hre4="+codeeeeeeeee="+code=s4_buff46afree>skb);+ skb);+ __lkf_pulla 15 3 4hr37 4 f ( 131/a> 3 4re37"net/4penvswitch/flow.c#L812" 4d="L747n"/a>(<~0xi"+c 96} 4 c 37 4 elseth_/a>;> 15 3 4hr37"net/4penvswitch/flow.c#L714" 4d="L444"3class="li3e" name="L714"> 17 3 4 37skb);+ lehf>skb_l"+c*)uef=";+ 96} 4 37 4 <<<<<<<<<<<<<th_/a>;>nhton"/a>ETH_P_802_s5"4class="li4e" name="L166"> 116/a> 4 hr37f ( 12s4atire37 4 return=skb" class="srol4>fTCP4FLAG_MASK_l"+c skb);+ skb);+ plkf_may_pulla 96} 4 36 4openvswitch/flow.c#L917"4id="L47class=,*skb)">th_/a>;> 116/a> 4 h 36a hre4penvswitch/flow.c#L615" 4d="L445"3lass="lin3e" name="L80"> 80} 3 15 3 4re38a hre4openvswitch/flow.c#L510"4id="L48n"/a>(<~0xi"+cskb *r_oLLC_SAP_SNAP_pull"skb 15 3 4r 37 4="+code<"+code=sk_buff" 4lass<48ef>skb);+ skb *r_oLLC_SAP_SNAP_pull"skb 15 3 4rr37"net/4penvswitch/flow.c#L714" 4d="L448isa for_each_entr unlikely+codee=llcd="L619" class=llcionmrcu+codef=tovs_low_couw.c#L615" id="L4ouwatab[0]<|a has"_n>cl"+co[llcd="L619" class=llcionmrcu+codef=tovs_low_couw.c#L615" id="L4ouwatab[1]<|a has"_n>cl"+co[llcd="L619" class=llcionmrcu+codef=tovs_low_couw.c#L615" id="L4ouwatab[2]) !/a0ass="li4e" name="L96"> 96} 4 38a hre4="+code=unh class="srene4atabl48isa for_each_entry>sk">th_/a>;>nhton"/a>ETH_P_802_s5"4class="li4e" name="L166"> 116/a> 4 38nt 166/a> 3 4re38 4 return -skb);+ __lkf_pulla 116/a> 4 e37 4penvswitch/flow.c#L718" 4d="L748LAG_MASK_l"+c">th_/a>;> 15 3 4ne38a hre4="+code=skb_set_transpf 4latab487"4class="li4e" name="L199"> 11 4a hre38="net4penvswitch/flow.c#L615" 4d="L445"3lass="lin3e" name="L90"> 90 3 4 39 4 f (skbskb);+ skbskb 90 3 4 e38a hre4openvswitch/flow.c#L811"4class49nhton"/a>(<~0xi"+cood f (skb);+ skb);+ 116/a> 4 ksk_6166e" name="L90"> 90 116/a> 4 ksk_=tovs_low_ctcw.c#L615"ksk_6L166"> 116/a> 4 ksk_6L166;+ 95 3 39a4href=49 116/a> 4 erro6=tovs_ltch/flow.c#L915" 4d="L5451"3class="lis">th_/a>4> <3a hre39"4et/op49urn=skb" class="srol4>fTCP4FLAG_MASK_l"+e" name="489"> 89st3atic 398 4 ="+49h>skb);+ < name="L219"> 12{4<" idICMPv6 ="+c and e22r fieldsme=""> 116-bit transport portef="+code=nh_oen" clas4=i>nh46nhton"/a>(<~a {4stor""> m 3 16-bit clwork byte orderpanname="L6comment"> * The caller must hold4e" name=4L10""> 0""/a> 4 40 4 4f (nh46nhton"/a>(<5s">th_/a>5>r_oqp_pull" 116/a> 4 tpf at">r_oqp_pull"nhton"/a>ETH_P_802_s5"4class="li4e" nksk_"> 116/a> 4 ksk_=tovcode)=ptcw.c#L615" iisk_6L> 15 3 4ne38aisk_6L> 1" cltch/flow.c#L718" 4d="L748LAG_MASK_l"54e" name=5L92"> 92 4r_oqp_pull" 116/a> 4 tpf at">r_oqp_pull" 3 3 14nhton"/a>ETH_P_802_s5"4class="li4e" nksk_"> 116/a> 4 ksk_=tovcode)=ptcw.c#L615" iisk_6L15" 5 3 4ne38aisk_6L15" " cltch/flow.c#L718" 4d="L748LAG_MASK_l"542" name=5Ltableodef=00class= 39a 5revoi502e=lfra 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nkclask_buf class="si_buf at">r_oqp_pull" 116/a> 4 tpf attch/flow.c#L718" 4d="L748LAG_MASK_l"543" name=5Lef="+ce=skb" class="sr_5f" cl50cod 0"5/a>{4skksk_"> 116/a> 4 ksk_=tovcode)=ptcw.c#L615" iisk_6L15" 5 3 4ne38aisk_6L15" " cl =_lt ef=toef=toa href=sk_buff"4class4lisa for_eac545" name=5Lgt;s50" name="L=t="sa <"4class="li4e" nksk_"> 116/a> 4 ksk_=tovcode)=ptcw.c#L615" iisk_6L> 15 3 4ne38aisk_6L> 1" cl =_l=ptcw.c#L615" iNDISC_NEIGHBOUR_SOLICITATION5 3 4ne38aNDISC_NEIGHBOUR_SOLICITATIONnvswitch/flow.c#L714" 4d="L448isa for_eac56" id="L756"4c7ass="li4e" name="L95="sro5 <4 40"net/4class="li4e" nksk_"> 116/a> 4 ksk_=tovcode)=ptcw.c#L615" iisk_6L> 15 3 4ne38aisk_6L> 1" cl =_l=ptcw.c#L615" iNDISC_NEIGHBOUR_ADVERTISEM="L166"> 116/a> 4NDISC_NEIGHBOUR_ADVERTISEM="Lnvswititch/flow.c#L510"4id="L45classhlisa 5e" name="589"> 89st4 16 3 sk_veioass=llc72arse_i sk_veioode=name="L419"> 14);+ lehf>skb_l"+c*)uef=";+ 14clabucket">nhtonbc;+ skb);+ 90);+ clabucket">nhtonoffs>c;+ 01<4(<~0xi5e" name="5122"> 11 4 41a 5re=sp51hatableodef=tovs_low_cctrlref>skb 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nkclask_buf class="si_buf at">r_oqp_pull"skb<5a>);+ 16 ordera>{4process cighbor discovery opodfte, w 12="li="+code=nh_oen" clas4=i>nh46nhton"/a>(<54e" name=5L155"> 115/a> 4 41e5urn <5 href=n/openvswitch/flow.c#L44444444444444444* w.cir""pa"netpanname="L6comment"> * The caller must hol5);+ nh46nhton"/a>(<5e" name="5177"> 117/a> 4 41 5 r51cet/openvswitcskbepen 0"netd="L213"3clkf hre//openvswitlkfbsk sk_veioass=llc72arse_i sk_veioode=n class=llc_sme="L90"> 90{4li4e" name="L96">clabucket">nhtonouc;+ 11 4a hre41=5netop51rskb);+ skb ar=lllabucket">nhtonb ar=ll;+ 12"/a> 4 42a 5re=sp51low.c#L615" id="L415"3class=""+code=sk_e22rlerro6"> 116/a> 4 erro6=tovs_l3e" name="L513"> 15 3 4 33"net/4 r<<<<<<<<clabucket">nhtonouc;+ 12 4 42a5href=52kb 3 37 bs52" name="L=t="sa r_oqp_pull"r_oqp_pull"clabucket">nhtonhar">code=name="L419"> 14cl"+co[=t="sr able"ar">clabucket">nhtonhar">code=ch/flow.c#L718" 4d="L748LAG_MASK_l"5 ;+ 12 4a hre42"5et/op52" name="L=t="sa skb 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nkclask_buf class="si_buf at">r_oqp_pull" 12s4atic 42"n5t/=sp5nname="L6comment">/* Schedules 'lfra5t"' t5 be freed after the a hr5RCU g52kb 90clabucket">nhtonoffs>c;+ nhton"5a>(<~0x_tim" cladeferred5freer52low.c#L615" id="L415"while<"4class="li4e" nksk_veioass=llc72arse_i sk_veioode=n 4 el8titch/flow.c#L510"4id="L45classhlisa 5="L+co,d=5kb" class="8"L6comment">5* The53hatableodef=tovs_low_llllllllnap_hdi_set_3)f" nameLnd_opoL166"> 116/a> 4 nd_opoL166e" name="L90"> 90 116/a> 4 nd_opo;+ 116/a> 4 nd_opoL166e" nam)L213"3cprotocode=tablef="+ce=skb"n (cl"+co[=t="sr ableopo"> 116/a> 4 opo;+ clabucket">nhtonoffs>c;+ 12 4a h 33a5hre4=53+code=sk_protoionmasssssssssss="li3e" name="L611"poLeioass=llc72arse_i"poLeioode=name="L419"> 14 116/a> 4 nd_opo;+ 84 3 4 3ia 5re4="5code="+code=sk_buff" 4lassh4isa hr hacal5(<~0xn_bu5ket""+co)parse_vlahref>s5b53" name="L=t="sa skb);+ plkf_may_pulla /* Schedules 'lfra5917" id="5"orce"+code)=pskbepenvsw5tch/h5skb )=pk layer address sh"> appropriat"li="+code=nh_oen" clas4=i>nh46nhton"/a>(<5>skb)5"orce"+code)=pskbepenvsw5tch/h53nh46nhton"/a>(<5>">nhton"5e" name="L91"> 91 5 4 53 ( swicepanname="L6comment"> * The caller must hol5a;+ nh46nhton"/a>(<5e" name="5122"> 11 4 34 5 4 54ic 30"netd="L213"3clkf hre//op="L213"3cprotocode=t_opo"> 116/a> 4 nd_opo;+ 15 3 4ne38aad_opoL> 1" cl =_l=ptcw.c#L615" iND_OPT_SOURCE_LL_ADDw.c#L615" id="L4ND_OPT_SOURCE_LL_ADDwame="L6comment">/* Schedules 'lfra5+ s54+code=sk_protoionmassssssssssssssef=toef=toli3e" name="L611"poLeioass=llc72arse_i"poLeioode=nael8titch/flow.c#L510"4id="L45classhlisa 5_entry_rc5>th_/alass="li3e" name="5513">5 15 3 4 34skb);+ plkf_may_pulla sks_addr2_s5"4class="li4e" nacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull" 155/a> 3 4 34 5 4 54" name="L=t="sa {4li4e" name="L96invalitablef="+ce=skb"invalitode=ch/flow.c#L718" 4d="L748LAG_MASK_l"5+ s54nsert+code=skb" class="srneh>>>>>>>>>li4e" name="L96memcpode=sk_ethatic.mmemcpo2_s5"4class="li4e" nacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"(<5vswitch/f5ow.c#L615" id=""""""""""5)uef=5+cet/openvswitcskbepenvswitch/h>skbcl"+co[=t="sr ableopo"> 116/a> 4 opo;+ <"li3e" name="L715ffs>clabucket">nhtonoffs>c;+ <+s=llc_sme="L90"> 90 116/a> 4 nd_opo;+ <)]name="L166"> 11638ntALEN5 3 4ne38a38ntALEN;+ 116/a> 4 nd_opo;+ 15 3 4ne38aad_opoL> 1" cl =_l=ptcw.c#L615" iND_OPT_TARGET_LL_ADDw.c#L615" id="L4ND_OPT_TARGET_LL_ADDwame="L6comment">/* Schedules 'lfra5+skb)5319"> 13 3a 4 3skbnhton"5em_cacqp_pull"skbskb);+ plkf_may_pulla sks_addr2_s5"4class="li4e" nacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"skb<5eyati55hatableodef=tovs_low_llllllllllllllllllllllllgo>{4li4e" name="L96invalitablef="+ce=skb"invalitode=ch/flow.c#L718" 4d="L748LAG_MASK_l"5A822xl_rc5+code+__lkf_pullref>skb<5a>);+55ic 30"netd="L213"3clkf hre//oooooooooli4e" name="L96memcpode=sk_ethatic.mmemcpo2_s5"4class="li4e" nacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"(<5e" name="593"> 93 4a h 3cl"+co[=t="sr ableopo"> 116/a> 4 opo;+ <"li3e" name="L715ffs>clabucket">nhtonoffs>c;+ <+s=llc_sme="L90"> 90 116/a> 4 nd_opo;+ <)]name="L166"> 11638ntALEN5 3 4ne38a38ntALEN;+ (<5eentry_rc5ss="li3e" name="L513"> 555515 3 4 34 115/a> 3 4 3skb)5e" name="5616"> 166/a> 3 4 35="5et4op55nsert+code=skb" class="srneh>+code)=peth_typ sk_veioass=llc72arse_i sk_veioode=n-=si3e" name="L611"poLeioass=llc72arse_i"poLeioode=ch/flow.c#L7111"4class49nhton"/a>(<5eswitch/f5de)=pskbepenvswitch/h>sk5clabucket">nhtonoffs>c;+ (<5e17" id="5L188"> 11 3 4re3585net4"55w.c#L615" id="L415"3lch/flow.c#L615" 4d="L445"3lass="lin53skb)5nhton"5nlikely+codee=p8d="L619"5class55(skb<5>cl>skb{4li4e" name="L96">clabucket">nhtonouc;+ nhtonmems>c2_s5"ef=tovs_low_cusedrcuacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"clabucket">nhtonhar">code=, 0 )6ass="li3e" name="L513acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"clabucket">nhtonhar">code=itch/flow.c#L718" 4d="L748LAG_MASK_l"5=}ass="li5e" name="L91"> 91 5 4re56"net/4penvswili4e" name="L96mems>clabucket">nhtonmems>c2_s5"i3e" name="L513acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"r_oqp_pull"r_oqp_pull"nhtonmems>c2_s5"i3e" name="L513acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iiclask_buf class="si_buf at">r_oqp_pull"r_oqp_pull"r_oqp_pull"r_oqp_pull"s5b/* Schedules 'lfra5e" name="589"> 89st4clabucket">nhtonouc;+ <:href="=skb" cla4s="sr4ref>skb)5+skb)5"+codeprotocode="+code=s5_prot5ionm);+ 14 116/a> 4 erro6=tovskb_set_transpf 4latab487"4class="l5e" name="5311"> 131/a> 3 4re37"n5t/4pe57vswitch/flow.c#L812" id="L712"4c2ass="li5+cnh46nhton"/a>(<5e" name="5714"> 17 3 4 37 * The caller must hol5_c);+s > fr 3, allh );bcode)open pointinga>{4>="li="+code=nh_oen" clas4=i>nh46nhton"/a>(<5clatblain5>th_/a>;>n/openvswitch/flow.c#L4* E>sks cl "li415;+="+code=nh_oen" clas4=i>nh46nhton"/a>(<5cswitch/f5217"> 12s4atire37 5 4 r5turn=sn/openvswitch/flow.c#L4* @in_port: port number on"which @skb wasaefceivespanname="L6comment"> * The caller must hol5c s57ce period. * The caller must hol5cskb)5>th_/a>;> * The caller must hol5c);+ 80} 3nh46nhton"/a>(<5kb);+5 at );bcode)eion 4 el38ntHLENpanname="L6comment"> * The caller must hol5+c * The caller must hol5+ * The caller must hol5_entr unl5kely+codee=llcd="L619" c5ass=l58cod * The caller must hol5_cth_/a>;> * The caller must hol5_latblain5616"> 166/a> 3 4re38 5 4 r58bn/openvswitch/flow.c#L4*anname="L6comment"> * The caller must hol5_switch/f5ode)=psklkf_pullref>skb<5a>);+58urn=sn/openvswitch/flow.c#L4* - );bcode)mac_"li415: > E>sks cl "li415panname="L6comment"> * The caller must hol5_ * The caller must hol5_skb)5L199"> 11 4a hre38=5net4p58 E>sks cl "li415, or jclaspalas> anname="L6comment"> * The caller must hol5_);+ 90 3 4 39 5 4 58 ({4>=" firlasbyte ofs> E>sks cl payloaspanname="L6comment"> * The caller must hol5(<~0xn_bu5ket""+co)parse_icmpvenvs5itch/59period. * The caller must hol5(c 1 is438nt * The caller must hol5( n jclaspalas> IP "li415, p="one is4pres616 andanname="L6comment"> * The caller must hol5(entr unl5lef="+ce=skb" class="sr_5im" c59cod skswise > s * The caller must hol5(c 95 3 39a5href=59href=n/openvswitch/flow.c#L4* For o>sks cmpcode)olL> 1 valu3s it is4left untouow.cpanname="L6comment"> * The caller must hol5(latblain5>n/openvswitch/flow.c#L4*ref="+code=nh_oen" clas4=i>nh46nhton"/a>(<53e" name=5L9s="sro7 <3a hre39"5et/op59urn=ss="li3e" name="L611"s="li4e"extractlabucket">nhtonos="li4e"extract2_s5"c 30"netd="L213"3clkf hre//openvswitlkfb);+ skb 3 4hr37 u="li3e" name="L513"> in_portablef="+ce=skb"in_portef clas_keyatic 30"netd="L213"3ckey_pull"skb 90 3 4 e38a hre4openvswitch/flow.c#L811"4class49nhton"/a>(<5e" name="589"> 89st3atic 398 5 ="+59w.c#L615" id="L415"3llp52>skb);+ 0""/a> 4 40 5 59_lkf_pulla 116/a> 4 erro6=tovs_ltch/flow.c#L915" 4d="L5451"3class="l6s">th_/a>6> 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nd="L4tcw"3ll * 92 4 116/a> 4 90 *nhtonmems>c2_s5"e="L90"> 90 3 4 e38a hre4openvswit 0 )6ass="lme="L90"> 90 3 4 e38a hre4openvswiwich/flow.c#L718" 4d="L748LAG_MASK_l"64e" name=6L1505> 0"5/a>{4skb)645" name=6Lgt;s60" class=llc_sli4e" name="L96acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iphode=sk_ethatic.mpho(r_oqp_pull" 14);+ lehf>skb_l"+c*)uef=";+ <3a hre39"6="sro6 <4 40li4e" name="L96acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iphode=sk_ethatic.mpho(r_oqp_pull" 89st3atic 398 6ref="60<<<<<<);+ lehf>skb_l"+_res6t_mac_"li4152_s5"e="L90"> 90);+ skb<64e" name=6L11"1> 01<4{4hava at eialas> 14sbyte E>sks clef="+code=nh_oen" clas4=i>nh46nhton"/a>(<6e" name="6122"> 11 4 41a 6re=sp61 )=pear open areapanname="L6comment"> * The caller must hol6 _tim" cl6deferredafree. */nh46nhton"/a>(<6back>skb<6a>);+ * 116/a> 4 90 115/a> 4 41e6urn <61"net/4penvswili4e" name="L96memcpode=sk_ethatic.mmemcpo2_s5"4class="li4e" nacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" id="L4tcw"3ll *r_oqp_pull" * 3 4ne38ah_sourc1=tovla213"3cprotocode38ntALEN5 3 4ne38a38ntALEN;+ (<6);+ *r_oqp_pull" 3 3 * 3 3 3 4ne38a38ntALEN;+ (<6)6" name=6177"> 117/a> 4 41 6 r61name="L6comment">/* Schedules 'lfra6;+ 3 4ne38a38ntALEN;+ (<6)ee+codee6L199"> 11 4a hre41=6netop61r(<6));+ 12"/a> 4 42a 6re=sp61low.c#L615" ip="L213"3cprotocodevlan_tx_34 s6165 3 4ne38avlan_tx_34 s6162_s5"e="L90"> 90 *r_oqp_pull"} 4 tc nta8s_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nb);+ lehf>skb_l"+c*)uef=";+ } 4 vlan_tc ;+ (<6 rcu_rref6lock fordthis to be sens6ble. 62hatableodef=telseop="L213"3cprotocoded="L4tcw"3ll * 3 4hr37"net/h_15nhton"/a>ETH_P_802_s5"4class="li4e" n38nt 3 4ne38a38nt skrrcu>svlande=sk_ethatic.mprcu>svlan;+ 90 3 4 e38a hre4openvswiwitch/flow.c#L917"4id="L47class=,*skb<6L214"> 12 4 42a6href=62kb 15 3 4 33"net/4 r<<<<<<<< 12 4a hre42"6et/op62" class=llc_sli4e" name="L96acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" id="L4tcw"3ll *r_oqp_pull" 3 4ne38a> 1" cl =eionm" cladef" nameL71L513"> 15 3 4ne38aameL71L513"> 12_s5"e="L90"> 90 12s4atic 42"n6t/=sp626ow.c#L615" ip="L213"3cprotocode hre//openvswitlkfbskacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" id="L4tcw"3ll *r_oqp_pull" 3 4ne38a> 1" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"0witch/flow.c#L917"4id="L47class=,* 15 3 4 33"net/4 r<<<<<<<<(<6t">nhton"6a>(<~0x_tim" cladeferred6freer62low.c#L615" iopenvswitcskbepb);+ lehf>skb_l"+_res6t_ clwork_"li4152_s5"e="L90"> 906* The63cu+codef=tovs_low_cethcode="a,c*)uefs"L4tcw"3ll *a,c*)uefs";+ 90 15 3 4re38a hre4openvswi"-me="L419"> 14);+ lehf>skb_l"+_mac_"li4152_s5"e="L90"> 9063se 12 4a h 33a6hre4=63+code=sk_prot_iod.nh46nhton"/a>(<64e" name=684"> 84 3 4 3ia 6re4="633ow.c#L615" ip="L213"3cprotocodeacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" id="L4tcw"3ll *r_oqp_pull" 3 4ne38a> 1" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" n38nt 15 3 438nt s6b63" name="L=t="sa 116/a> 4 kp166e" name="L90"> 90 *nonta8ch/flow.c#L718" 4d="L748LAG_MASK_l"6="L+co,d=6kb" class="8"L6commee42"6et/o 63nsert+code=skb" class_low_cethcode="a,be15 3 4hr37 a,be15li3e" name="L513"> "ffs>clabucket">nhtonoffs>c;+ /* Schedules 'lfra6917" id="6"orce"+code)=pskbepenvsw6tch/h6skb 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull"(<6>">nhton"6e" name="L91"> 91 6 4 63low.c#L615" id="L415"=ptcw.c#L615" idrro6"> 116/a> 4 erro6=tovs_l=ptcw.c#L615" icheck_kp166"> 116/a> 4 check_kp1662_s5"e="L90"> 90skdrro6"> 116/a> 4 erro6=tovttitch/flow.c#L510"4id="L45classhlisa 6e" name="6122"> 11 4 34 6 4 64ic 30"netd="L213"3clkf hre//op="L213"3cprotocodedrro6"> 116/a> 4 erro6=tovs__l3e" name="L513"> INVAL"> 15 3 43INVAL=tovtitch/flow.c#L510"4id="L45classhlisa 6ee" name=6ely+codee=pskb_may_pull"6a h>s64+code=sk_protoionmassssssssssssss415"=ptcw.c#L615" i/openvswitdata5"3lass="li3e" name="L513"> 15transport_"li415 3 37 transport_"li415;+ 14);+ lehf>skb_l"+c*)uef=";+ );+ lehf>skb_ clwork_"li4152_s5ch/flow.c#L718" 4d="L748LAG_MASK_l"6ae" name=6>th_/alass="li3e" name="6513">6 15 3 4 34 116/a> 4 erro6=tovs_ltch/flow.c#L915" 4d="L5451"3class="l6e" name="6515"> 155/a> 3 4 34 6 4 64" name="L=t="sa s64nsert+code=skb" class="srneh>go>{4li4e" name="L96">clabucket">nhtonouc;+ 13 3a 4 3 90 *nonta8s_low_ctcw.c#L615"k"L166"> 116/a> 4 ipL1662_s5"e="L90"> 90nhton"6em_cacqp_pull"skb 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" *nonta8code)=ptcw.c#L615" isaddrablef="+ce=skb"saddr2_s5ch/flow.c#L718" 4d="L748LAG_MASK_l"6kb);+6skb<6eyati65hatableodef=tovs_low_213"3cprotocodeacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" 3 3 14 *nonta8code)=ptcw.c#L615" idaddrablef="+ce=skb"daddr2_s5ch/flow.c#L718" 4d="L748LAG_MASK_l"6k" name="6+code+__lkf_pullref>skb<6a>);+65se 93 4a h 3 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 *nonta8code)=ptcw.c#L615" i15 656515 3 4 34 116/a> 4 kp2_s5">r_oqp_pull"nhton"/a>ETHtobnta8s_me="L419"> 14 *nonta8code)=ptcw.c#L615" itobet>nhton"/a>ETHtobnta8ch/flow.c#L718" 4d="L748LAG_MASK_l"6k" name="6L155"> 115/a> 3 4 3 116/a> 4 kp2_s5">r_oqp_pull" 14 *nonta8code)=ptcw.c#L615" itt/openvswitlkfb 166/a> 3 4 35="6et4op65nserth/flow.c#L718" 4d="L748LAG_MASK_l"6kswitch/f6de)=pskbepenvswitch/h>sk6 "ffs>clabucket">nhtonoffs>c;+ 14 *nonta8code)=ptcw.c#L615" ifrag_offL4tcw"3ll *frag_off;+ ETH_P_802_s5"4class="li4e" nIP_OFFSEL166"> 116/a> 4IP_OFFSEL" cltch/flow.c#L718" 4d="L748LAG_MASK_l"6e17" id="6L188"> 11 3 4re3586net4"65w.c#L615" id="L415"3lp="L213"3cprotocode"ffs>clabucket">nhtonoffs>c;+ 116/a> 4 kp2_s5">r_oqp_pull" *frag;+ 14nhton"6nlikely+codee=p8d="L619"6class65low.c#L615" id="L415"3class="go>{4li4e" name="L96">clabucket">nhtonouc;+ cl>skb *nonta8code)=ptcw.c#L615" ifrag_offL4tcw"3ll *frag_off;+ ETH_P_802_s5"4class="li4e" nIP_MF166"> 116/a> 4IP_MF;+ 14 3 4hr37"net/b 90 15 3 4ne38agsoL> 1;+ 15 3 4SKB_GSO_UD3" clth/flow.c#L714" 4d="L448isa for_eac6+e" name=6>skb);+ 3 4 34 116/a> 4 kp2_s5">r_oqp_pull" *frag;+ 14 116/a> 4OVS_FRAG_TYPE_FIRSL;+ " name="6e" name="L91"> 91 6 4re66 <<<<<<<<<<<<<skb)6=" name="6nh46nhton"/a>(<6=switch/f6ode)=pskbepenvswitch/h>s6b 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4IPPROTO_TC3;+ 89st4 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"6+skb)6"+codeprotocode="+code=s6_prot66kb 116/a> 4 tcp166_ok2_s5"e="L90"> 90nhton"6em_cac__lkf_pullref>skb<6a>);+66low.c#L615" id="L415"3class="""""""""a h"+co/openvswitch/fltcp166"> 116/a> 4 tcp166e" name="L90"> 90 116/a> 4 tcpode=name="L419"> 14 116/a> 4 tcpL1662_s5"e="L90"> 90 131/a> 3 4re37"n6t/4pe67hatableodef=tovs_low_llllllllllllllll213"3cprotocodeacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 116/a> 4 tcpode=code)=ptcw.c#L615" isourc15 3 4ne38asourc1=tovch/flow.c#L718" 4d="L748LAG_MASK_l"6exi"+cood6ely+codee=ntohnvswitch/f6ow.c#67ic 30"netd="L213"3clkf hre//oooooooooli4e" name="L96acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 116/a> 4 tcpode=code)=ptcw.c#L615" ide15 3 3th_/a>;> 17 3 4 37 3 4 34 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4IPPROTO_UD3;+ 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"6clatblain6>th_/a>;> 116/a> 4 dp166_ok2_s5"e="L90"> 90 12s4atire37 6 4 r67cet/openvswitcskbepenvswitch/h>skb 116/a> 4 dp166e" name="L90"> 90 116/a> 4 dpode=name="L419"> 14 116/a> 4 dpL1662_s5"e="L90"> 90s67kb 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 116/a> 4 dpode=code)=ptcw.c#L615" isourc15 3 4ne38asourc1=tovch/flow.c#L718" 4d="L748LAG_MASK_l"6eskb)6>th_/a>;>skb 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 116/a> 4 dpode=code)=ptcw.c#L615" ide15 3 3nhton"680"> 80} 3 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4IPPROTO_ICM3;+ 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"6+ 116/a> 4 sk_166_ok2_s5"e="L90"> 90 3 4 34 116/a> 4 sk_166e" name="L90"> 90 116/a> 4 sk_ode=name="L419"> 14 116/a> 4 sk_L1662_s5"e="L90"> 90th_/a>;> 1 and 90 16-bilef="+code=nh_oen" clas4=i>nh46nhton"/a>(<6_latblain6616"> 166/a> 3 4re38 6 4 r68bn/openvswitch/flow.c#L444444444444444444444444444444444* transport port fields, so we n{4stor"ef="+code=nh_oen" clas4=i>nh46nhton"/a>(<6_switch/f6ode)=psklkf_pullref>skb<6a>);+68urn=sn/openvswitch/flow.c#L444444444444444444444444444444444* them in"16-bil clworksbyte order. sref="+code=nh_oen" clas4=i>nh46nhton"/a>(<6_ 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull"nhton"/a>ETH_P_802_s5"4class="li4e" n sk_"> 116/a> 4 sk_ode=code)=ptcw.c#L615" it 15 3 4ne38a> 1" cltch/flow.c#L718" 4d="L748LAG_MASK_l"6_skb)6L199"> 11 4a hre38=6net4p68kbskb 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14nhton"/a>ETH_P_802_s5"4class="li4e" n sk_"> 116/a> 4 sk_ode=code)=ptcw.c#L615" i15" "> 116/a> 4 15" " cltch/flow.c#L718" 4d="L748LAG_MASK_l"6_">nhton"690"> 90 3 4 39 6 4 68low.c#L615" id="L415"3class="ch/flow.c#L812" id="L712"4c2ass="li6(<~0xn_bu6ket""+co)parse_icmpvenvs6itch/69hatableodef=tovs_low_ch/flow.c#L812" id="L712"4c2ass="li6(c *r_oqp_pull" 3 4ne38a> 1" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" n38nt 15 3 438nt 116/a> 4 ar_166_ok2_s5"e="L90"> 90 3 4 34);+ lehf>skb_ar__ 90);+ lehf>skb_ar_=tovch/flow.c#L718" 4d="L748LAG_MASK_l"6(c 95 3 39a6href=69 <<<<<<<<<<<<<skb)6(latblain6>);+ lehf>skb_ar__ 90);+ lehf>skb_l"+_ clwork_"li4152_s5"e="L90"> 90 <3a hre39"6et/op69name="L6comment">/* Schedules 'lfra6e" name="689"> 89st3atic 398 6 ="+69w.c#L615" id="L415"3lp="L213"3cprotocodear_a>);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_hrtablef="+ce=skb"ar_hrt" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nAR3HRD_38nEw.c#L615" id="L4AR3HRD_38nEw" clt"L6comment">/* Schedules 'lfra6eskb)6lef="+ce=skb" class="sr_6im" c69kbskb 3 4hr37"net/ar_pra" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" n38nt 15 3 438nt /* Schedules 'lfra6e">nhton"6L10""> 0""/a> 4 40 6 69low.c#L615" id="L415"3class="""""""""ef=toef=toli3e" name="L611ar_a>);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_hloass=llc72arse_iar_hlo" cl =_low_ctcw.c#L615"38ntALEN5 3 4ne38a38ntALEN;+ <"L6comment">/* Schedules 'lfra7s">th_/a>7> 92 4 )ower 8 bils ofs> op15" . sref="+code=nh_oen" clas4=i>nh46nhton"/a>(<743" name=7Lef="+ce=skb" class="sr_7f" cl7015 3 4 34nhton"/a>ETH=tohb2_s5"4class="li4e" nar_a>);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_o_a>);+ lehf>skb_ar_o_;+ /* Schedules 'lfra74e" name=7L1505> 0"5/a>{4 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14nhton"/a>ETH=tohb2_s5"4class="li4e" nar_a>);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_o_a>);+ lehf>skb_ar_o_;+ s70nsert+code=skb" class="srneh>=ptcw.c#L615" imemcpode=sk_ethatic.mmemcpo2_s5"ef=tovs_low_cusedrcuacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iicl4"> 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" 90);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_sip"> 116/a> 4 ar_sip=tovas6ass="li3e" name="L513acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iicl4"> 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" <3a hre39"7="sro70cet/openvswitcskbepenvswitch/+code)=ptcw.c#Lmemcpode=sk_ethatic.mmemcpo2_s5"ef=tovs_low_cusedrcuacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iicl4"> 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" 3 3);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_tip"> 116/a> 4 ar_tip=tovas6ass="li3e" name="L513acode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iicl4"> 116/a> 4 kpv4nta8">r_oqp_pull"r_oqp_pull" 3 3 89st3atic 398 7ref="70kb 116/a> 4 kpv4nta8">r_oqp_pull");+ lehf>skb_ar_=tov">r_oqp_pull" 3 4re38a hre4sh>=tovase="L90"> 90);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_sh> 3 4re38a hre4ar_sh>=tovase="L90"> 90 3 4ne38a38ntALEN;+ (<7ree+codee7"+code=sk_buff" class=fm7 claa70kb 116/a> 4 kpv4nta8">r_oqp_pull");+ lehf>skb_ar_=tov">r_oqp_pull" 3 4re38a hre4th>=tovase="L90"> 90);+ lehf>skb_ar_=tovcode)=ptcw.c#L615" iar_th> 3 4re38a hre4ar_th>=tovase="L90"> 90 3 4ne38a38ntALEN;+ (<7r9e+codee7"10""> 0""/a> 4 40 7lass=70low.c#L615" id="L415"3class="r+code=sk_e22rlcmpveioass=llc72arse_icmpveioode=name="L419"> 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull");+ lehf>skb_ar_=tovwch/flow.c#L7111"4class49nhton"/a>(<74e" name=7L11"1> 01<4 11 4 41a 7re=sp71ic 30"netd="Lc elseop="L213"3cprotocodeacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" id="L4tcw"3ll *r_oqp_pull" 3 4ne38a> 1" cl =_low_ctcw.c#L615"_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" n38nt 15 3 438nt nh46nhton"/a>(<7back>skb<7a>);+ nh46nhton"/a>(<7be" name=7L155"> 115/a> 4 41e7urn <71" name="L=t="sa 116/a> 4 ameL71i_bu1662_s5"e="L90"> 90 90 3 4 e38a hre4openvswi, ef=tovs_low_cusedrcuacoveioass=llc72arse_icmpveioode=wch/flow.c#L7111"4class49nhton"/a>(<745" name=7sknhveioass=llc72arse_inhveio=tov el 0ttitch/flow.c#L510"4id="L45classhlisa 7 6" name=7177"> 117/a> 4 41 7 r71cet/openvswitcskbepenvswitch/p="L213"3cprotocode="veioass=llc72arse_inhveio=tov =_l3e" name="L513"> INVAL"> 15 3 43INVAL=tovtch/flow.c#L510"4id="L45classhlisa 7 7" name=7" clafree+code=skb" clas7="sr<71kb 15transport_"li415 3 37 transport_"li415;+ 14);+ lehf>skb_l"+c*)uef=";+ );+ lehf>skb_ clwork_"li4152_s5ch/flow.c#L718" 4d="L748LAG_MASK_l"7)ee+codee7L199"> 11 4a hre41=7netop71kb 12"/a> 4 42a 7re=sp71low.c#L615" id="L415"3class="""""""""=ptcw.c#L615" idrro6"> 116/a> 4 erro6=tovs_l=ptcw.c#L615" inhveioass=llc72arse_inhveio=tovch/flow.c#L718" 4d="L748LAG_MASK_l"7#39; to b7 freed after the a hr RC7 grac72hatableodef=tovs_low_________go>{4li4e" name="L96">clabucket">nhtonouc;+ skb<7L214"> 12 4 42a7href=72kb 116/a> 4 kp2_s5">r_oqp_pull" *frag;+ 14{4li4e" name="L96">clabucket">nhtonouc;+ 12 4a hre42"7et/op72nsert+code=skb" classp="L213"3cprotocodeb 3 4hr37"net/b 90 15 3 4ne38agsoL> 1;+ 15 3 4SKB_GSO_UD3" clth/flow.c#L714" 4d="L448isa for_eac7e" name="7217"> 12s4atic 42"n7t/=sp72cet/openvswitcskbepenvswitch/+code)=ptcw.c#Lacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iic"> 116/a> 4 kp2_s5">r_oqp_pull" *frag;+ 14 116/a> 4OVS_FRAG_TYPE_FIRSL;+ nh46nhton"/a>(<7t">nhton"7a>(<~0x_tim" cladeferred7freer72low.c#L615" id="L415"p="L213"3cprotocodeacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iip"> 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4NEXTHDR_TC3;+ 7* The73hatableodef=tovs_low_________r+code=sk_e22rlcmpveioass=llc72arse_icmpveioode=name="L419"> 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"7=rcu_rref7+code+code=lfragoffs cla773ic 30"netd="L213"3clkf hre//op="L213"3cprotocodetcp166_ok"> 116/a> 4 tcp166_ok2_s5"e="L90"> 90 12 4a h 33a7hre4=73+code=sk_protoionmassssssssssssssssssa h"+co/openvswitch/fltcp166"> 116/a> 4 tcp166e" name="L90"> 90 116/a> 4 tcpode=name="L419"> 14 116/a> 4 tcpL1662_s5"e="L90"> 90 84 3 4 3ia 7re4="7315 3 4 34 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 116/a> 4 tcpode=code)=ptcw.c#L615" isourc15 3 4ne38asourc1=tovch/flow.c#L718" 4d="L748LAG_MASK_l"7(<~0xn_bu7ket""+co)parse_vlahref>s7b73" name="L=t="sa 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 116/a> 4 tcpode=code)=ptcw.c#L615" ide15 3 3 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4NEXTHDR_UD3;+ 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"7=ee+codee7"orce"+code)=pskbepenvsw7tch/h73kb 116/a> 4 dp166_ok2_s5"e="L90"> 90nhton"7e" name="L91"> 91 7 4 73low.c#L615" id="L415"""""""""""""""""a h"+co/openvswitch/fl dp166"> 116/a> 4 dp166e" name="L90"> 90 116/a> 4 dpode=name="L419"> 14 116/a> 4 dpL1662_s5"e="L90"> 90 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 116/a> 4 dpode=code)=ptcw.c#L615" isourc15 3 4ne38asourc1=tovch/flow.c#L718" 4d="L748LAG_MASK_l"7e" name="7122"> 11 4 34 7 4 74ic 30"netd="L213"3clkf hre//of hre//o=ptcw.c#L615" iacode=sk_ethatic.m"orce"+code)=ptcw.c#L615" iicl6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 116/a> 4 dpode=code)=ptcw.c#L615" ide15 3 3s74+code=sk_protoionmassssssssssch/flow.c#L812" id="L712"4c2ass="li7ae" name=7>th_/alass="li3e" name="7513">7 15 3 4 34 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 14 15 3 4NEXTHDR_ICM3;+ 155/a> 3 4 34 7 4 74" name="L=t="sa 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"7+ s74nsert+code=skb" class="srneh>s="L213"3cprotocode sk_6166_ok"> 116/a> 4 sk_6166_ok2_s5"e="L90"> 90 116/a> 4 erro6=tovs_l=ptcw.c#L615" iameL71isk_v6"> 15 3 4ameL71isk_v62_s5"e="L90"> 90 90 3 4 e38a hre4openvswi, ef=tovs_low_cusedrcuacoveioass=llc72arse_icmpveioode=ase="L90"> 90th_/ahref="net//openvsw7tch/f74kb 116/a> 4 erro6=tovsel 0th/flow.c#L718" 4d="L748LAG_MASK_l"7+ee+codee7319"> 13 3a 4 3{4li4e" name="L96">clabucket">nhtonouc;+ nhton"7em_cacqp_pull"skbskb<7eyati75hatableodef=tovs_low_ch/flow.c#L812" id="L712"4c2ass="li7k" name="7+code+__lkf_pullref>skb<7a>);+75ic 30"netd="Lch/flow.c#L812" id="L712"4c2ass="li7ke" name=793"> 93 4a h 3 757515clabucket">nhtonouc;+ <:penvswitch/flow4c#L814" id="L711"37k" name="7L155"> 115/a> 3 4 3 90 116/a> 4 cmpveiop=tovs_l=ptcw.c#L615" iacoveioass=llc72arse_icmpveioode=href="+="+code=sk_buff" classhlisa 7k 166/a> 3 4 35="7et4op75nsert+code=skef=tovs213"3cprotocodedrro6"> 116/a> 4 erro6=tovhref="+="+code=sk_buff" classhlisa 7kswitch/f7de)=pskbepenvswitch/h>sk7 11 3 4re3587net4"75<<<<<< 14 12<> 4 3+code=li4e" name="L96"vs_);+ _has"L4tcw"3ll *"vs_);+ _has"2_s5"const"a h"+co/openvswitch/flsw_);+ _> 3 4 e38a hre4osw_);+ _> e" name="L90"> 90 3 4 e38a hre4openvswi, de="+code=sk_e22rlacoveioass=llc72arse_icmpveioode=w<nhton"7nlikely+codee=p8d="L619"7class75low.ctch/flow.c#L510"4id="L45classhlisa 7>cl>skb 12<> 4 jhas"22_s5"netd="L213"3clkf L216"> 12<> 4 3+code=m)e="L90"> 90 3 4 e38a hre4openvswi, e="L90"> 90 15 3 4DIV_ROUND_U32_s5"e="L90"> 90 12<> 4 3+code)), 0thref="+="+code=sk_buff" classhlisa 70xi"+cood7t/openvswitch/p8d="L619"7class76ic 30ch/flow.c#L812" id="L712"4c2ass="li7+ skb);+ 90 116/a> 4 "vs_);+ _tbl_lookup2_s5"a h"+co/openvswitch/fl);+ _tabl15 3 4ne38a);+ _tabl1e" name="L90"> 90 3 4ne38atabl1e" n,penvswitch/flow4c#L814" id="L711"37+" name="7e" name="L91"> 91 7 4re76" name="L=t="sa 3 4 e38a hre4osw_);+ _> e" name="L90"> 90 3 4 e38a hre4openvswi, de="+code=sk_e22rlacoveioass=llc72arse_icmpveioode=w<switch/f7ode)=pskbepenvswitch/h>s7b 90 89st4 116/a> 4 hlist_no" e" name="L90"> 90)7"+codeprotocode="+code=s7_prot76kb 116/a> 4 hlist_"li4e" name="L90"> 90 116/a> 4 hli4e" nhref="+="+code=sk_buff" classhlisa 70">nhton"7em_cac__lkf_pullref>skb<7a>);+76low.c#L615" ie="L419"> 14 12<> 4 3+code=li4e" name="L96has"L4tcw"3ll *has"2_s5href="+="+code=sk_buff" classhlisa 7e" name="7311"> 131/a> 3 4re37"n7t/4pe77hatabref="+="+code=sk_buff" classhlisa 7exi"+cood7ely+codee=ntohnvswitch/f7ow.c#77ic 30"netd="Lli4e" name="L96has"L4tcw"3ll *has"2_s5s_l=ptcw.c#L615" i"vs_);+ _has"L4tcw"3ll *"vs_);+ _has"2_s5"e="L90"> 90 3 4 e38a hre4openvswi, e="L90"> 90(<7e th_/a>;> 17 3 4 37 3 4 e="L90"> 90 116/a> 4 hli4e" ns_l=ptcw.c#L615" ifind_buck>clabucket">nhtonfind_buck>c2_s5"e="L90"> 90 3 4ne38atabl1e" n,Lli4e" name="L96has"L4tcw"3ll *has"2_s5wch/flow.c#L7111"4class49nhton"/a>(<7e" name="7ely+codee=lkf hre//openv7witlk77" name="L=t="/openvswitch/flhlist_for_each_entry_rcu"> 116/a> 4 hlist_for_each_entry_rcu2_s5"e="L90"> 90 90 116/a> 4 hli4e" n,Lli4e" name="L96has"_no" "> 116/a> 4 has"_no" e" n[e="L90"> 90 3 4ne38atabl1e" nef=";+ );+ lehf>skb_ h"+_v15e" n]titch/flow.c#L510"4id="L45classhlisa 7clatblain7>th_/a>;> 12s4atire37 7 4 r77cet/openvswitcskbepenp="L213"3cprotocode);+ 3 4 e38a hre4o);+ e" nef=";+ *has"2_s5s__low_ctcw.c#L615"_as"L4tcw"3ll *has"2_s5sef=toef=toh/flow.c#L718" 4d="L748LAG_MASK_l"7c+ s77kb 116/a> 4 memck_2_s5"ef=tovs_low_cusedrcu);+ 3 4 e38a hre4o);+ e" nef=";+ 3 4 e38a hre4openvswi, e="L90"> 90 90nhton"780"> 80} 3 15 3 4NULLe" nhref="+="+code=sk_buff" classhlisa 7+ nh46nhton"/a>(<7_cth_/a>;>nhtonovs_);+ _tbl_inserc2_s5"a h"+co/openvswitch/fl);+ _tabl15 3 4ne38a);+ _tabl1e" name="L90"> 90 3 4ne38atabl1e" n,ta h"+co/openvswitch/flsw_);+ 3 4 e38a hre4osw_);+ e" name="L90"> 90 166/a> 3 4re38 7 4 r78nserttch/flow.c#L510"4id="L45classhlisa 7_switch/f7ode)=psklkf_pullref>skb<7a>);+78cet/openvswita h"+co/openvswitch/flhlist_"li4"> 116/a> 4 hlist_"li4e" name="L90"> 90 116/a> 4 hli4e" nhref="+="+code=sk_buff" classhlisa 7_ 11 4a hre38=7net4p78kb 90 116/a> 4 hli4e" ns_l=ptcw.c#L615" ifind_buck>clabucket">nhtonfind_buck>c2_s5"e="L90"> 90 3 4ne38atabl1e" n,Lli4e" name="L96);+ 3 4 e38a hre4o);+ e" nef=";+ *has"2_s5wch/flow.c#L7111"4class49nhton"/a>(<7_">nhton"790"> 90 3 4 39 7 4 78low.c#L615" ie="L419"> 14 116/a> 4 hlist_add_"li4_rcu2_s5"ef=tovs_low_cusedrcu);+ 3 4 e38a hre4o);+ e" nef=";+ 116/a> 4 has"_no" e" n[e="L90"> 90 3 4ne38atabl1e" nef=";+ );+ lehf>skb_ h"+_v15e" n],Lli4e" name="L96hli4"> 116/a> 4 hli4e" nwch/flow.c#L7111"4class49nhton"/a>(<7(<~0xn_bu7ket""+co)parse_icmpvenvs7itch/79hatableodef=te="L90"> 90 3 4ne38atabl1e" nef=";+ nhtoncounce" n++ch/flow.c#L7111"4class49nhton"/a>(<7(xi"+cood7 f ( 3 4ne38a"vs_);+ _tbl_remov12_s5"a h"+co/openvswitch/fl);+ _tabl15 3 4ne38a);+ _tabl1e" name="L90"> 90 3 4ne38atabl1e" n,ta h"+co/openvswitch/flsw_);+ 3 4 e38a hre4osw_);+ e" name="L90"> 90 95 3 39a7href=79 << 14 116/a> 4 hlist_del_rcu2_s5"ef=tovs_low_cusedrcu);+ 3 4 e38a hre4o);+ e" nef=";+ 116/a> 4 has"_no" e" n[e="L90"> 90 3 4ne38atabl1e" nef=";+ );+ lehf>skb_ h"+_v15e" n]wch/flow.c#L7111"4class49nhton"/a>(<7(switch/f7L9s="sro7 <3a hre39"7et/op796atableodef=te="L90"> 90 3 4ne38atabl1e" nef=";+ nhtoncounce" n--ch/flow.c#L7111"4class49nhton"/a>(<7( 89st3atic 398 7 ="+79w.c#L615" id=+ 3 4ne38aBUG_ON2_s5"e="L90"> 90 3 4ne38atabl1e" nef=";+ nhtoncounce" nsel 0tch/flow.c#L7111"4class49nhton"/a>(<7(skb)7lef="+ce=skb" class="sr_7im" c79kbnhton"7L10""> 0""/a> 4 40 7 79low.ch/flow.c#L812" id="L712"4c2ass="li8s">th_/a>8> arguvswi for each %OVS_KEY_ATTR_* Netclak attribute. sref="+code=nh_oen" clas4=i>nh46nhton"/a>(<84e" name=8L92"> 92 4nhton"/a>ETH"vs_cmpveiobe" n[e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_MAXe" ns+ 1]s_ltch/flow.c#L510"4id="L45classhlisa 842" name=8Ltableodef=00class= 39a 8revoi80+code=sk_prot[e="L90"> 90 15 3 4OVS_KEY_ATTR_ENCA3e" n]s_l-1,penvswitch/flow4c#L814" id="L711"3843" name=8Lef="+ce=skb" class="sr_8f" cl8015 3 4 [e="L90"> 90 15 3 4OVS_KEY_ATTR_PRIORITYe" n]s_l6ass="li3e" name="L513 L216"> 12<> 4 3+code),penvswitch/flow4c#L814" id="L711"3844" name=8L95"> 95 3 39a8 90 116/a> 4OVS_KEY_ATTR_IN_PORLe" n]s_l6ass="li3e" name="L513 L216"> 12<> 4 3+code),penvswitch/flow4c#L814" id="L711"3845" name=8Lgt;s80nsert+code=sk[e="L90"> 90 116/a> 4OVS_KEY_ATTR_E8nEwNELe" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpve> rn>clabucket">nhton"vs_cmpve> rn>ccode),penvswitch/flow4c#L814" id="L711"3846" name=8L9s="sro7 <3a hre39"8="sro80cet/openvswit[e="L90"> 90 3 4ne38aOVS_KEY_ATTR_VLANe" n]s_l6ass="li3e" name="L513__be16"> 15 3 4__be16code),penvswitch/flow4c#L814" id="L711"3847" name=8L9"> 89st3atic 398 8ref="80kb 90 116/a> 4OVS_KEY_ATTR_E8nEwTYPEe" n]s_l6ass="li3e" name="L513__be16"> 15 3 4__be16code),penvswitch/flow4c#L814" id="L711"3848" name=8Lef="+ce=skb" class="sr_8 claa80kb 90 116/a> 4 OVS_KEY_ATTR_IPV4e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvipv4"> 116/a> 4 "vs_cmpvipv4code),penvswitch/flow4c#L814" id="L711"3849" name=8L10""> 0""/a> 4 40 8lass=80low.c#L615" i[e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV6e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvipv6"> 15 3 4"vs_cmpvipv6code),penvswitch/flow4c#L814" id="L711"384e" name=8L11"1> 01<4 90 15 3 4OVS_KEY_ATTR_TC3e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvtcp"> 116/a> 4 "vs_cmpvtcpcode),penvswitch/flow4c#L814" id="L711"384e" name=8122"> 11 4 41a 8re=sp81ic 30"netd="L[e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpv dp"> 116/a> 4 "vs_cmpv dpcode),penvswitch/flow4c#L814" id="L711"3842" name=8deferredafree. */ 90 15 3 4OVS_KEY_ATTR_ICM3e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvick_"> 116/a> 4 "vs_cmpvick_code),penvswitch/flow4c#L814" id="L711"3843" name=8a>);+ 3 4 [e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3V6e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvick_v6"> 15 3 4"vs_cmpvisk_v62_s5),penvswitch/flow4c#L814" id="L711"3844" name=8L155"> 115/a> 4 41e8urn <81" name="L=t="[e="L90"> 90 15 3 4OVS_KEY_ATTR_AR3e" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvar_a>);+ lehf>skb_"vs_cmpvar_2_s5),penvswitch/flow4c#L814" id="L711"3845" name=8 90 15 3 4OVS_KEY_ATTR_NDe" n]s_l6ass="la h"+co/openvswitch/fl"vs_cmpvn4"> 116/a> 4 "vs_cmpvn42_s5),penvswitch/flow4c#L814" id="L711"3846" name=8177"> 117/a> 4 41 8 r816code}ch/flow.c#L7111"4class49nhton"/a>(<8 7" name=8" clafree+code=skb" clas8="sr<81<<<<<< 11 4a hre41=8netop81kbETHipv4_);+ _from_nlattrb2_s5"a h"+co/openvswitch/flsw_);+ _> 3 4 e38a hre4osw_);+ _> e" name="L90"> 90 3 4 e38a hre4oswpenvswi, de=me="L90"> 90 12"/a> 4 42a 8re=sp81low.c#L615" id="L415"3class=""""""""" const"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90 3 4re38a hre4ae" n[],Lli4e" name="L96 L216"> 12<> 4 3+code=me="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5w< 116/a> 4 "vs_cmpvick_codeame="L90"> 90 3 4 e38a hre4o sk__> e" nhref="+="+code=sk_buff" classhlisa 8#_tim" cl8a _tim" cladeferredafree8code=822c 30"netd="Lconst"a h"+co/openvswitch/fl"vs_cmpvtcp"> 116/a> 4 "vs_cmpvtcpcodeame="L90"> 90 3 4 e38a hre4otcp_> e" nhref="+="+code=sk_buff" classhlisa 8#3" name=8L214"> 12 4 42a8href=82kb 116/a> 4 "vs_cmpv dpcodeame="L90"> 90 3 4 e38a hre4o dp_> e" nhref="+="+code=sk_buff" classhlisa 8#4" name=8code+code=lfragoffs clas8a h>s82 <<<<<<<<<<<<<skb)8 5" name=8L216"> 12 4a hre42"8et/op82nsert+code=skru44ly"L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip"> 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 12s4atic 42"n8t/=sp82cet/openvswitcaseo/openvswitch/flIPPROTO_TC3"> 15 3 4IPPROTO_TC3et/o:penvswitch/flow4c#L814" id="L711"38#+ 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n))w< INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8#9" name=8a>(<~0x_tim" cladeferred8freer82low.c#L615" id="L415"me="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n)href="+="+code=sk_buff" classhlisa 8="L+co,d=8kb" class="8"L6comment">8* The83hatabref="+="+code=sk_buff" classhlisa 8=rcu_rref8+code+code=lfragoffs cla883ic 30"netd="L213"3clkme="L90"> 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"84e" name=8L216"> 12 4a h 33a8hre4=83+code=sk_protoionmasse="L90"> 90 3 4 e38a hre4otcp_> e" ns_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"843" name=884"> 84 3 4 3ia 8re4="8315 3 4 34 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 4 e38a hre4otcp_> e" n3e" name="L513"> 15tcp_srde="+code=sk_ethtcp_srd=tovhref="+="+code=sk_buff" classhlisa 8(<~0xn_bu8ket""+co)parse_vlahref>s8b83" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 3 4 e38a hre4otcp_> e" n3e" name="L513"> 15tcp_d15 3 3/* Schedules 'lfra8=+ 15 3 4IPPROTO_UD3et/o:penvswitch/flow4c#L814" id="L711"38=ee+codee8"orce"+code)=pskbepenvsw8tch/h83kb 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n))w<nhton"8e" name="L91"> 91 8 4 83low.c#L615" id="L415"""""""""ef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8a;+ 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n)href="+="+code=sk_buff" classhlisa 8arcu_rref8122"> 11 4 34 8 4 84ses84+code=sk_protoionmassme="L90"> 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8ae" name=8>th_/alass="li3e" name="8513">8 15 3 4 34 90 3 4 e38a hre4o dp_> e" ns_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"8a<~0xn_bu8515"> 155/a> 3 4 34 8 4 84" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 4 e38a hre4o dp_> e" ncode)=ptcw.c#L615" i dp_srde="+code=sk_eth dp_srd=tovhref="+="+code=sk_buff" classhlisa 8a5" name=8ely+codee=pskb_may_pull"8a h>s84nsert+code=skb" class213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 3 4 e38a hre4o dp_> e" ncode)=ptcw.c#L615" i dp_d15 3 3th_/ahref="net//openvsw8tch/f84<<<<<< 13 3a 4 3 15 3 4IPPROTO_ICM3et/o:penvswitch/flow4c#L814" id="L711"38_">nhton"8em_cacqp_pull"skb 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3e" n))w<skb<8eyati85hatableodef=tovs_low_""""""""ef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8k" name="8+code+__lkf_pullref>skb<8a>);+85ic 30"netd="L213"3clkme="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3e" n)href="+="+code=sk_buff" classhlisa 8ke" name=893"> 93 4a h 3 858515 3 4 34 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8k" name="8L155"> 115/a> 3 4 3 3 4 e38a hre4o sk__> e" ns_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"8k5" name=8616"> 166/a> 3 4 35="8et4op85nsert+code=skb" class213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull"nhton"/a>ETH_P_802_s5"4class="li4e" n sk__> 3 4 e38a hre4o sk__> e" ncode)=ptcw.c#L615" iisk__> 15 3 4ne38aisk__> 1" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8k" name="8de)=pskbepenvswitch/h>sk8 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 116/a> 4 kpv4nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14nhton"/a>ETH_P_802_s5"4class="li4e" n sk__> 3 4 e38a hre4o sk__> e" ncode)=ptcw.c#L615" iisk__15" 3 4 e38a hre4o sk__15" " cltch/flow.c#L718" 4d="L748LAG_MASK_l"8k+ 11 3 4re3588net4"85w.c#L615" id="L415"3lbreakhref="+="+code=sk_buff" classhlisa 83skb)8nhton"8nlikely+codee=p8d="L619"8class85low.ch/flow.c#L812" id="L712"4c2ass="li8>cl>skbskb);+ ETHipv6_);+ _from_nlattrb2_s5"a h"+co/openvswitch/flsw_);+ _> 3 4 e38a hre4osw_);+ _> e" name="L90"> 90 3 4 e38a hre4oswpenvswi, de=me="L90"> 90 91 8 4re86" name="L=t="sa );+ lehf>skb_ lattre" name="L90"> 90 3 4re38a hre4ae" n[],Lli4e" name="L96 L216"> 12<> 4 3+code=me="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5w<switch/f8ode)=pskbepenvswitch/h>s8b 15 3 4"vs_cmpvisk_v62_s5ame="L90"> 90 3 4 e38a hre4o sk_v6_> =tovhref="+="+code=sk_buff" classhlisa 80+ 89st4 116/a> 4 "vs_cmpvtcpcodeame="L90"> 90 3 4 e38a hre4otcp_> e" nhref="+="+code=sk_buff" classhlisa 80skb)8"+codeprotocode="+code=s8_prot86kb 116/a> 4 "vs_cmpv dpcodeame="L90"> 90 3 4 e38a hre4o dp_> e" nhref="+="+code=sk_buff" classhlisa 80">nhton"8em_cac__lkf_pullref>skb<8a>);+86low.ch/flow.c#L812" id="L712"4c2ass="li8e" name="8311"> 131/a> 3 4re37"n8t/4pe87hatableodef=tru44ly"L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip"> 116/a> 4 kp2_s5">r_oqp_pull" 3 4hr37"net/15 15 3 4IPPROTO_TC3et/o:penvswitch/flow4c#L814" id="L711"38e th_/a>;> 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n))w< 17 3 4 37 3 4 34 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8e" name="8ely+codee=lkf hre//openv8witlk87" name="L=t="sa 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n)href="+="+code=sk_buff" classhlisa 8clatblain8>th_/a>;> 12s4atire37 8 4 r87cet/openvswitcskbepenme="L90"> 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8c+ s87kb 90 3 4 e38a hre4otcp_> e" ns_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_TC3e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"8cskb)8>th_/a>;> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 4 e38a hre4otcp_> e" n3e" name="L513"> 15tcp_srde="+code=sk_ethtcp_srd=tovhref="+="+code=sk_buff" classhlisa 8e">nhton"880"> 80} 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 3 4 e38a hre4otcp_> e" n3e" name="L513"> 15tcp_d15 3 3);+8 15 3 4IPPROTO_UD3et/o:penvswitch/flow4c#L814" id="L711"38k" name="8kely+codee=llcd="L619" c8ass=l8815 3 4 34 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n))w< INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8_latblain8616"> 166/a> 3 4re38 8 4 r88nsert+code=skb" classme="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n)href="+="+code=sk_buff" classhlisa 8_switch/f8ode)=psklkf_pullref>skb<8a>);+88name="L6comment">/* Schedules 'lfra8_ 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8_skb)8L199"> 11 4a hre38=8net4p88kb 3 4 e38a hre4o dp_> e" ns_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_UD3e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"8_">nhton"890"> 90 3 4 39 8 4 88low.c#L615" id="L415"213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 4 e38a hre4o dp_> e" ncode)=ptcw.c#L615" i dp_srde="+code=sk_eth dp_srd=tovhref="+="+code=sk_buff" classhlisa 8(<~0xn_bu8ket""+co)parse_icmpvenvs8itch/89hatableodef=tovs_low_213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14 3 4 e38a hre4o dp_> e" ncode)=ptcw.c#L615" i dp_d15 3 3 15 3 4IPPROTO_ICM3V6et/o:penvswitch/flow4c#L814" id="L711"38(c 95 3 39a8href=89" name="L=t="sa 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3V6e" n))w< INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 8(switch/f8L9s="sro7 <3a hre39"8et/op89cet/openvswitcskbepenme="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3V6e" n)href="+="+code=sk_buff" classhlisa 8( 89st3atic 398 8 ="+89<<<<<< 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cltch/flow.c#L718" 4d="L748LAG_MASK_l"8(">nhton"8L10""> 0""/a> 4 40 8 89low.c#L615" id="L415"213"3cprotocode sk_v6_> 3 4 e38a hre4o sk_v6_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_ICM3V6e" n]tch/flow.c#L718" 4d="L748LAG_MASK_l"9s">th_/a>9> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull"nhton"/a>ETH_P_802_s5"4class="li4e" n sk_v6_> 3 4 e38a hre4o sk_v6_> =tovcode)=ptcw.c#L615" iisk_v6_> 15 3 4ne38aisk_v6_> 1" cltch/flow.c#L718" 4d="L748LAG_MASK_l"94e" name=9L92"> 92 4 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 3 3 14nhton"/a>ETH_P_802_s5"4class="li4e" n sk_v6_> 3 4 e38a hre4o sk_v6_> =tovcode)=ptcw.c#L615" iisk_v6_15" 3 4 e38a hre4o sk_v6_15" " cltch/flow.c#L718" 4d="L748LAG_MASK_l"942" name=9Ltableodef=00class= 39a 9revoi90ode/openvswitch/flow4c#L814" id="L711"3943" name=9Lef="+ce=skb" class="sr_9f" cl9015 3 4 34 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 14nhton"/a>ETH_P_802_s5"4class="li4e" nNDISC_NEIGHBOUR_SOLICITATION5 3 4ne38aNDISC_NEIGHBOUR_SOLICITATIONnta8ti||penvswitch/flow4c#L814" id="L711"3944" name=9L95"> 95 3 39a9 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 tp" cl">r_oqp_pull" 14nhton"/a>ETH_P_802_s5"4class="li4e" nNDISC_NEIGHBOUR_ADVERTISEMENL166"> 116/a> 4NDISC_NEIGHBOUR_ADVERTISEMENLe" n))itch/flow.c#L510"4id="L45classhlisa 945" name=9Lgt;s90nsert+code=skb" class213"3clkconst"a h"+co/openvswitch/fl"vs_cmpvn4"> 116/a> 4 "vs_cmpvn42_s5ame="L90"> 90 3 4 e38a hre4ood_> =tovhref="+="+code=sk_buff" classhlisa 946" name=9L9s="sro7 <3a hre39"9="sro90name="L6comment">/* Schedules 'lfra947" name=9L9"> 89st3atic 398 9ref="90kb 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_NDe" n))w< INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 949" name=9L10""> 0""/a> 4 40 9lass=90low.c#L615" id="L415"""""""""me="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_NDe" n)href="+="+code=sk_buff" classhlisa 94e" name=9L11"1> 01<4 11 4 41a 9re=sp91ic 30"netd="L213"3clk""""""""me="L90"> 90 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 n4e" nwch/flow.c#L7111"4class49nhton"/a>(<942" name=9deferredafree. */ 90 3 4 e38a hre4ood_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_NDe" n]wch/flow.c#L7111"4class49nhton"/a>(<943" name=9a>);+ 3 4 34 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 n4e" n">r_oqp_pull"clabucket">nhtontarg>ce" nase="L90"> 90 3 4 e38a hre4ood_> =tovef=";+ clabucket">nhton d_targ>ce" nah/flow.c#L7111"4class49nhton"/a>(<944" name=9L155"> 115/a> 4 41e9urn <91" name="L=t="sa 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 n4e" n">r_oqp_pull"clabucket">nhtontarg>ce" n)wch/flow.c#L7111"4class49nhton"/a>(<945" name=9 90 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 n4e" n">r_oqp_pull" 90 3 4 e38a hre4ood_> =tovef=";+ 90 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<946" name=9177"> 117/a> 4 41 9 r91cet/openvswitcskbepen213"3clke="L90"> 90 15 3 4ipv6nta8">r_oqp_pull" 116/a> 4 n4e" n">r_oqp_pull" 90 3 4 e38a hre4ood_> =tovef=";+ 90 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<947" name=9" clafree+code=skb" clas9="sr<91kb 11 4a hre41=9netop91kb 12"/a> 4 42a 9re=sp91low.c#L615" ich/flow.c#L812" id="L712"4c2ass="li9#39; to b9 freed after the a hr RC9 grac92hatabref="+="+code=sk_buff" classhlisa 9 rcu_rref9lock fordthis to be sens9ble. 92ic 30"netd="Lef=tovs0href="+="+code=sk_buff" classhlisa 9#_tim" cl9a _tim" cladeferredafree9code=92+codech/flow.c#L812" id="L712"4c2ass="li9#3" name=9L214"> 12 4 42a9href=92kbnh46nhton"/a>(<9#4" name=9code+code=lfragoffs clas9a h>s92 <<ETHparse_);+ _nlattrb2_s5"const"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90ttra>);+ lehf>skb_attre" nah/flow.c#L7111"4class49nhton"/a>(<9 5" name=9L216"> 12 4a hre42"9et/op92nsert+code=skb" class213"3clkkkkkkkconst"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90 3 4re38a hre4ae" n[],Lli4e" name="L96 L216"> 12<> 4 3+code=me="L90"> 90ttrbp"> 116/a> 4 >ttrbpe" nwh/flow.c#L7111"4class49nhton"/a>(<9 6" name=9217"> 12s4atic 42"n9t/=sp92cet/otch/flow.c#L510"4id="L45classhlisa 9#+ );+ lehf>skb_ lattre" name="L90"> 90);+ lehf>skb_ la=tovhref="+="+code=sk_buff" classhlisa 9#ee+codee9lock fordthis to be sens9ble. 92kb 90 12<> 4 3+code=e="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5href="+="+code=sk_buff" classhlisa 9#9" name=9a>(<~0x_tim" cladeferred9freer92low.c#L615" i de="+code=sk_e22rlremet>nhton"/a>ETHrem2_s5href="+="+code=sk_buff" classhlisa 9="L+co,d=9kb" class="8"L6comment">9* The93hatabref="+="+code=sk_buff" classhlisa 9=rcu_rref9+code+code=lfragoffs cla993ic 30"netd="Le="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5s=s0href="+="+code=sk_buff" classhlisa 94e" name=9L216"> 12 4a h 33a9hre4=93+code=sk_prot=ptcw.c#L615" inla_for_each_neste4"> 116/a> 4 nla_for_each_neste42_s5"i3e" name="L513 laa>);+ lehf>skb_ la=tov,Lli4e" name="L96>ttra>);+ lehf>skb_attre" na="+code=sk_e22rlremet>nhton"/a>ETHrem2_s5)itch/flow.c#L510"4id="L45classhlisa 943" name=984"> 84 3 4 3ia 9re4="9315 3 4 34 15 3 4u1cet/op>r_oqp_pull" 3 4ne38a> 1" cls_l=ptcw.c#L615" inla_t 15 3 4ne38anla_t 12_s5"i3e" name="L513 laa>);+ lehf>skb_ la=tovwch/flow.c#L7111"4class49nhton"/a>(<9(<~0xn_bu9ket""+co)parse_vlahref>s9b93" name="L=t="sa 3 4ne38a> 1" clsf="; e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_MAXe" ns||Le="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 3 4ne38a> 1" cl)w< INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 9=ee+codee9"orce"+code)=pskbepenvsw9tch/h93kb 91 9 4 93low.c#L615" id="L415""+code=sk_e22rlexpecte4veioass=llc72arse_iexpecte4veio2_s5s_l=ptcw.c#L615" i"vs_cmpveiobet>nhton"/a>ETH"vs_cmpveiobe" n[e="L90"> 90 3 4ne38a> 1" cl]href="+="+code=sk_buff" classhlisa 9a;+ 11 4 34 9 4 94ic 30"netd="L213"3clk""""""""ef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 9ee" name=9ely+codee=pskb_may_pull"9a h>s94ode/openvswitch/flow4c#L814" id="L711"39ae" name=9>th_/alass="li3e" name="9513">9 15 3 4 34 90ttrbet>nhton"/a>ETHattrb2_s5s|= 1sel el e="L90"> 90 3 4ne38a> 1" clhref="+="+code=sk_buff" classhlisa 9e<~0xn_bu9515"> 155/a> 3 4 34 9 4 94" name="L=t="sa 3 4re38a hre4ae" n[e="L90"> 90 3 4ne38a> 1" cl]s_l=ptcw.c#L615" inlaa>);+ lehf>skb_ la=tovhref="+="+code=sk_buff" classhlisa 9a5" name=9ely+codee=pskb_may_pull"9a h>s94nsert+code=skch/flow.c#L812" id="L712"4c2ass="li9a" name="9ow.c#L615" id=""""""""""9)uef=9+cet/openvswitp="L213"3cprotocoderemet>nhton"/a>ETHrem2_s5)h/flow.c#L812" id="L712"4c2ass="li9a+ th_/ahref="net//openvsw9tch/f94kb INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 9eee+codee9319"> 13 3a 4 3nhton"9em_cacqp_pull"skb 90ttrbp"> 116/a> 4 >ttrbpe" ns_l=ptcw.c#L615" i>ttrbet>nhton"/a>ETHattrb2_s5href="+="+code=sk_buff" classhlisa 9kb);+9skb<9eyati95hatableodef=tef=tovs0href="+="+code=sk_buff" classhlisa 9k" name="9+code+__lkf_pullref>skb<9a>);+95ic 30ch/flow.c#L812" id="L712"4c2ass="li9ke" name=993"> 93 4a h 3 959515nh46nhton"/a>(<9k" name="9L155"> 115/a> 3 4 3nh46nhton"/a>(<9k5" name=9616"> 166/a> 3 4 35="9et4op95nsert_iod. extracte4 );+ cmp.ef="+code=nh_oen" clas4=i>nh46nhton"/a>(<9k" name="9de)=pskbepenvswitch/h>sk9nh46nhton"/a>(<9k+ 11 3 4re3589net4"95w.c#L_iod.nh46nhton"/a>(<9kee+codee9nh46nhton"/a>(<9k">nhton"9nlikely+codee=p8d="L619"9class95low.c_iod.nh46nhton"/a>(<9>cl>skbnhton"/a>ETH"vs_);+ _from_nlattrb2_s5"a h"+co/openvswitch/flsw_);+ _> 3 4 e38a hre4osw_);+ _> e" name="L90"> 90 3 4 e38a hre4oswpenvswi, de=me="L90"> 90 116/a> 4 cmpveiope" nah/flow.c#L7111"4class49nhton"/a>(<90xi"+cood9t/openvswitch/p8d="L619"9class96ic 30"netd="L213"3clk""""""const"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90ttra>);+ lehf>skb_attre" n)h/flow.c#L812" id="L712"4c2ass="li9+ skb);+ );+ lehf>skb_ lattre" name="L90"> 90 3 4re38a hre4ae" n[e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_MAXe" ns+ 1]href="+="+code=sk_buff" classhlisa 9+" name="9e" name="L91"> 91 9 4re96" name="L=t="const"a h"+co/openvswitch/fl"vs_cmpve> rn>clabucket">nhton"vs_cmpve> rn>ce" name="L90"> 90 _> 3 4 e38a hre4oe> _> 2_s5href="+="+code=sk_buff" classhlisa 9=" name="9s9b 90 12<> 4 3+code=e="L90"> 90ttrbet>nhton"/a>ETHattrb2_s5href="+="+code=sk_buff" classhlisa 90+ 89st4nhton"9em_cac__lkf_pullref>skb<9a>);+969et/openvswite="L90"> 90clabucket">nhtonmems>c2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswi, 0,l6ass="la h"+co/openvswitch/flsw_);+ _> 3 4 e38a hre4osw_);+ _> e" n)wch/flow.c#L7111"4class49nhton"/a>(<9e" name="9311"> 131/a> 3 4re37"n9t/4pe97hatableodef=t"+code=sk_e22rlcmpveioass=llc72arse_icmpveioode=name="L419"> 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" ne> 3 4 e38a hre4oe> =tovwch/flow.c#L7111"4class49nhton"/a>(<9exi"+cood9ely+codee=ntohnvswitch/f9ow.c#97se);+ lehf>skb_err2_s5name="L419"> 14nhton"/a>ETHparse_);+ _nlattrb2_s5"li4e" name="L96>ttra>);+ lehf>skb_attre" na="+code=sk_e22rl> 3 4re38a hre4ae" n, ef=tovs_low_cusedrcu>ttrbet>nhton"/a>ETHattrb2_s5wch/flow.c#L7111"4class49nhton"/a>(<9ee" name=9714"> 17 3 4 37 3 4 p="L213"3cprotocodeerra>);+ lehf>skb_err2_s5)h/flow.c#L812" id="L712"4c2ass="li9e" name="9ely+codee=lkf hre//openv9witlk97" name="L=t="sa );+ lehf>skb_err2_s5href="+="+code=sk_buff" classhlisa 9clatblain9>th_/a>;> 12s4atire37 9 4 r97cet/openvswit_iod. attributes. */ef="+code=nh_oen" clas4=i>nh46nhton"/a>(<9c+ s97kbttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_PRIORITYe" n)witch/flow.c#L510"4id="L45classhlisa 9cskb)9>th_/a>;> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4oph vswi">r_oqp_pull" 12<> 4 nla_get_ L22_s5"li4e" name="L96> 3 4re38a hre4ae" n[e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_PRIORITYe" n]wch/flow.c#L7111"4class49nhton"/a>(<9e">nhton"980"> 80} 3ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90nhton"/a>ETHOVS_KEY_ATTR_PRIORITYe" n)ch/flow.c#L7111"4class49nhton"/a>(<9kb);+9ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_IN_PORLe" n)witch/flow.c#L510"4id="L45classhlisa 9+ 90 12<> 4 3+code=e="L90"> 90nhtonin_porc" cls_l=ptcw.c#L615" inla_get_ L216"> 12<> 4 nla_get_ L22_s5"li4e" name="L96> 3 4re38a hre4ae" n[e="L90"> 90 116/a> 4OVS_KEY_ATTR_IN_PORLe" n]wch/flow.c#L7111"4class49nhton"/a>(<9k" name="9kely+codee=llcd="L619" c9ass=l9815 3 4 34 90nhtonin_porc" clsode)_l=ptcw.c#L615" iDP_MAX_PORLSlabucket">nhtonDP_MAX_PORLS2_s5)h/flow.c#L812" id="L712"4c2ass="li9_cth_/a>;> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 9_latblain9616"> 166/a> 3 4re38 9 4 r98nsert+code=skb" class213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4oph vswi">r_oqp_pull"nhtonin_porc" cls_l=ptcw.c#L615" iin_porclabucket">nhtonin_porc" clhref="+="+code=sk_buff" classhlisa 9_switch/f9ode)=psklkf_pullref>skb<9a>);+98cet/openvswitcskbepen213"3cprotocode>ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_IN_PORLe" n)href="+="+code=sk_buff" classhlisa 9_+ 11 4a hre38=9net4p98kb 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4oph vswi">r_oqp_pull"nhtonin_porc" cls_l=ptcw.c#L615" iDP_MAX_PORLSlabucket">nhtonDP_MAX_PORLS2_s5href="+="+code=sk_buff" classhlisa 9_">nhton"990"> 90 3 4 39 9 4 98low.c#L615" ich/flow.c#L812" id="L712"4c2ass="li9(<~0xn_bu9ket""+co)parse_icmpvenvs9itch/99hatabref="+="+code=sk_buff" classhlisa 9(xi"+cood9 f (nh46nhton"/a>(<9( ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERNELe" n)w)h/flow.c#L812" id="L712"4c2ass="li9(entr unl9lef="+ce=skb" class="sr_9im" c9915 3 4 34 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 9(c 95 3 39a9href=99" name="L=t="213"3cprotocode>ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERNELe" n)href="+="+code=sk_buff" classhlisa 9(latblain9> 90 _> 3 4 e38a hre4oe> _> 2_s5s_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERNELe" n]wch/flow.c#L7111"4class49nhton"/a>(<9( 89st3atic 398 9 ="+997et/openvswite="L90"> 90 3 4 e38a hre4oe> =tov">r_oqp_pull" _> 3 4 e38a hre4oe> _> 2_s5code)=ptcw.c#L615" ie> _srde="+code=sk_ethe> _srd=tova="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<9(skb)9lef="+ce=skb" class="sr_9im" c99kb 90 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 3 _d15 3 3 _d15=tova="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<9(">nhton"9L10""> 0""/a> 4 40 9 99low.ch/flow.c#L812" id="L712"4c2ass="li10s">th_/a>10s">t"> 0""/a> 4 40 10s">>10s"bttrbet>nhton"/a>ETHattrb2_s5sef=tol(1usel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" nwsef=toef=to

11do> 4 h_/ab8/ba/46266ca60356159802d842644be072d086e8_3/10s">>/flow.c#L812" id="L712"4c2ass="li10s1>th_/a>10sf (10sic 30"netd="L213"=ptcw.c#L615" inla_get_be16"> 15 3 4nla_get_be162_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" n])s_ame="L419"> 14nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_8021Q5 3 4ne38aETH_P_8021Qe" n)witch/flow.c#L510"4id="L45classhlisa 10s2>th_/a>10stableodef=00class= 39a 10sta>10s+code=sk_protoionmassconst"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90 116/a> 4 encap=tovhref="+="+code=sk_buff" classhlisa 10s3>th_/a>10sef="+ce=skb" class="sr_10sef>10s15 3 4 34 90 15 3 4__be162_s5me="L419"> 14 15 3 4tci=tovhref="+="+code=sk_buff" classhlisa 10s4>th_/a>10s95"> 95 3 39a10s95>10s4ow.ch/flow.c#L812" id="L712"4c2ass="li10s5>th_/a>10sgt;10snsert+code=skb" classp="L213"3cprotocode>ttrbet>nhton"/a>ETHattrb2_s5s!= ((1sel el e="L90"> 90 3 4ne38aOVS_KEY_ATTR_VLANe" nws|penvswitch/flow4c#L814" id="L711"310s6>th_/a>10s9s="sro7 <3a hre39"10s9s>10scet/openvswitcskbepen213"3clkkkkkkk(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" nws|penvswitch/flow4c#L814" id="L711"310s7>th_/a>10s9"> 89st3atic 398 10s9">10skb 90 15 3 4OVS_KEY_ATTR_ENCA3e" n)w)h/flow.c#L812" id="L712"4c2ass="li10s8>th_/a>10sef="+ce=skb" class="sr_10sef>10skb INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 10s9>th_/a>10s10""> 0""/a> 4 40 10s10>10slow.ch/flow.c#L812" id="L712"4c2ass="li101">th_/a>10L11"1> 01<410L15 3 4 34 90 116/a> 4 encap=tovs_l=ptcw.c#L615" i> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_ENCA3e" n]href="+="+code=sk_buff" classhlisa 10L1>th_/a>10122"> 11 4 41a 10122>10Lic 30"netd="L213"3clk213"3cprotocodetci"> 15 3 4tci=tovs_l=ptcw.c#L615" inla_get_be16"> 15 3 4nla_get_be162_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 3 4ne38aOVS_KEY_ATTR_VLANe" n]wch/flow.c#L7111"4class49nhton"/a>(<10L2>th_/a>10deferredafree. */10L+code=sk_protoionmassp="L213"3cprotocodetci"> 15 3 4tci=tovsef=tol=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nVLAN_TAG_PRESENL166"> 116/a> 4VLAN_TAG_PRESENLe" n)witch/flow.c#L510"4id="L45classhlisa 1013>th_/a>10a>);+ )>10L15 3 4 34 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 15 3 4tci=tovs_l=ptcw.c#L615" itci"> 15 3 4tci=tovhref="+="+code=sk_buff" classhlisa 1014>th_/a>10L155"> 115/a> 4 41e10L15>10L4ow.ch/flow.c#L812" id="L712"4c2ass="li1015>th_/a>10 90);+ lehf>skb_err2_s5name="L419"> 14nhton"/a>ETHparse_);+ _nlattrb2_s5"li4e" name="L96encap"> 116/a> 4 encap=tova="+code=sk_e22rl> 3 4re38a hre4ae" n, ef=tovs_low_cusedrcu>ttrbet>nhton"/a>ETHattrb2_s5wch/flow.c#L7111"4class49nhton"/a>(<10L6>th_/a>10177"> 117/a> 4 41 10177>10Lcet/openvswitcskbepen213"3clkp="L213"3cprotocodeerra>);+ lehf>skb_err2_s5)h/flow.c#L812" id="L712"4c2ass="li10L7>th_/a>10" clafree+code=skb" clas10" c>10Lkb);+ lehf>skb_err2_s5href="+="+code=sk_buff" classhlisa 10L8>th_/a>10L199"> 11 4a hre41=10L19>10Lkb 15 3 4tci=tovwitch/flow.c#L510"4id="L45classhlisa 1019>th_/a>10210"> 12"/a> 4 42a 10210>10Llow.c#L615" id="L415"""""""""_iod.nh46nhton"/a>(<102">th_/a>10 freed after the a hr RC10 fr>10 fet/openvswitcskbepen213"3clkp="L213"3cprotocodenla_eioass=llc72arse_inla_eio2_s5"i3e" name="L513encap"> 116/a> 4 encap=tovw)h/flow.c#L812" id="L712"4c2ass="li1021>th_/a>10lock fordthis to be sens10loc>10 ic 30"netd="L213"3clk""""""""kkkkkk0"ef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1022>th_/a>10a _tim" cladeferredafree10a _>10 ode/openvswitch/flow4c#L814" id="L711"310 3>th_/a>10L214"> 12 4 42a10L21>10 15 3 4 34 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls_l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_8021Q5 3 4ne38aETH_P_8021Qe" n)href="+="+code=sk_buff" classhlisa 1024>th_/a>10code+code=lfragoffs clas10cod>10 " name="L=t="sa 90 116/a> 4 cmpveiope" ns_l=ptcw.c#L615" icmpveioass=llc72arse_icmpveioode=href="+="+code=sk_buff" classhlisa 10 5>th_/a>10L216"> 12 4a hre42"10L21>10 nsert+code=skb" class213"3clkef=tovs0href="+="+code=sk_buff" classhlisa 10 6>th_/a>10217"> 12s4atic 42"n10217>10 cet/openvswitcskbepen} elseitch/flow.c#L510"4id="L45classhlisa 10 7>th_/a>10 be freed after the a hr10 be>10 kb INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 10 8>th_/a>10lock fordthis to be sens10loc>10 kbth_/a>10a>(<~0x_tim" cladeferred10a>(>10 low.c#L615" ich/flow.c#L812" id="L712"4c2ass="li103">th_/a>10kb" class="8"L6comment">10kb">10kbde/openvswitch/flow4c#L814" id="L711"31031>th_/a>10+code+code=lfragoffs cla10+co>10k1bttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" nwwitch/flow.c#L510"4id="L45classhlisa 1032>th_/a>10L216"> 12 4a h 33a10L21>10k+code=sk_protoionmasse="L90"> 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls_l=ptcw.c#L615" inla_get_be16"> 15 3 4nla_get_be162_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" n])href="+="+code=sk_buff" classhlisa 1033>th_/a>1084"> 84 3 4 3ia 1084">10k15 3 4 34 90nhton"/a>ETHntohb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cl)sel 1536)h/flow.c#L812" id="L712"4c2ass="li1034>th_/a>10ket""+co)parse_vlahref>s10ket>10k" name="L=t="sa INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 10k5>th_/a>10kb" class="8"L6commee42"10kb">10knsert+code=skb" class213"3cprotocode>ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" nwhref="+="+code=sk_buff" classhlisa 10k6>th_/a>1010kcet/openvswit} elseitch/flow.c#L510"4id="L45classhlisa 1037>th_/a>10"orce"+code)=pskbepenvsw10"or>10kkb 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls_l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_802_216"> 12<> 4 ETH_P_802_2e" nwhref="+="+code=sk_buff" classhlisa 10k8>th_/a>10"orce"+code)=pskbepenvsw10"or>10k8ow.c#L615" ich/flow.c#L812" id="L712"4c2ass="li1039>th_/a>10e" name="L91"> 91 10e" >10klow.ch/flow.c#L812" id="L712"4c2ass="li104">th_/a>1010 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwwitch/flow.c#L510"4id="L45classhlisa 1041>th_/a>10122"> 11 4 34 10122>10 15 3 4"vs_cmpvipv4e" name="L90"> 90 3 4 e38a hre4o pv4_> =tovhref="+="+code=sk_buff" classhlisa 1042>th_/a>10ely+codee=pskb_may_pull"10ely>10th_/a>10>th_/alass="li3e" name="10>th>10<15 3 4 34ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV4e" n)w)h/flow.c#L812" id="L712"4c2ass="li1044>th_/a>10515"> 155/a> 3 4 34 10515>10<" name="L=t="sa INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1045>th_/a>10ely+codee=pskb_may_pull"10ely>10ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV4e" n)href="+="+code=sk_buff" classhlisa 1046>th_/a>10ow.c#L615" id=""""""""""10ow.>10/* Schedules 'lfra10<7>th_/a>10>th_/ahref="net//openvsw10>th>10 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n)href="+="+code=sk_buff" classhlisa 1048>th_/a>10319"> 13 3a 4 310 3 4 e38a hre4o pv4_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV4e" n])href="+="+code=sk_buff" classhlisa 1049>th_/a>10em_cacqp_pull"skb10 90 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_frag3 4 e38a hre4o pv4_frag2_s5se="; e="L90"> 90nhton"/a>ETHOVS_FRAG_TYPE_MAX2_s5)h/flow.c#L812" id="L712"4c2ass="li105">th_/a>10skb<1010 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1051>th_/a>10+code+__lkf_pullref>skb<10+co>10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs_l=ptcw.c#L615" iipv4_> 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_protoet>nhton"/a>ETHipv4_proto=tovhref="+="+code=sk_buff" classhlisa 1052>th_/a>1093"> 93 4a h 310<+code=sk_protoionmasse="L90"> 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHtob=tovs_l=ptcw.c#L615" iipv4_> 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_tobet>nhton"/a>ETHipv4_tob=tovhref="+="+code=sk_buff" classhlisa 1053>th_/a>10ss="li3e" name="L513"> 10ss=>10<15 3 4 34 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull" 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_ttl3 4 e38a hre4oipv4_ttl=tovhref="+="+code=sk_buff" classhlisa 1054>th_/a>10L155"> 115/a> 3 4 310<" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull" 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_frag3 4 e38a hre4o pv4_frag2_s5href="+="+code=sk_buff" classhlisa 1055>th_/a>10616"> 166/a> 3 4 35="10616>10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_srde="+code=sk_ethipv4_srd2_s5href="+="+code=sk_buff" classhlisa 1056>th_/a>10de)=pskbepenvswitch/h>sk10de)>10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3 14 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_d15 3 3th_/a>10L188"> 11 3 4re35810L18>10<7ame="L6comment">/* Schedules 'lfra1058>th_/a>10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHOVS_FRAG_TYPE_LATER" cl)stch/flow.c#L510"4id="L45classhlisa 1059>th_/a>10nlikely+codee=p8d="L619"10nli>10);+ lehf>skb_err2_s5name="L419"> 14nhton"/a>ETH pv4_f;+ _from_nlattrb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswi, ef=tovs_low_cusedrcucmpveioass=llc72arse_icmpveioode=a="+code=sk_e22rl> 3 4re38a hre4ae" n, ef=tovs_low_cusedrcu>ttrbet>nhton"/a>ETHattrb2_s5wch/flow.c#L7111"4class49nhton"/a>(<106">th_/a>10nlikely+codee=p8d="L619"10nli>10nlow.c#L615" id="L415"""""""""p="L213"3cprotocodeerra>);+ lehf>skb_err2_s5)h/flow.c#L812" id="L712"4c2ass="li1061>th_/a>10t/openvswitch/p8d="L619"10t/o>10nic 30"netd="L213"3clk""""""""kkkkkk0"ef=tovs213"3cprotocodeerra>);+ lehf>skb_err2_s5ch/flow.c#L7111"4class49nhton"/a>(<1062>th_/a>10+codde=check_hp8d="L619"10+co>10n+code=sk_protoionmassch/flow.c#L812" id="L712"4c2ass="li1063>th_/a>10>skb);+ sk>10n15 3 4 } elseip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwwitch/flow.c#L510"4id="L45classhlisa 1064>th_/a>10e" name="L91"> 91 10e" >10n" name="L=t="sa 15 3 4"vs_cmpvipv6e" name="L90"> 90 3 4 e38a hre4o pv6_> =tovhref="+="+code=sk_buff" classhlisa 1065>th_/a>1010nnserth/flow.c#L718" 4d="L748LAG_MASK_l"10n6>th_/a>10ode)=pskbepenvswitch/h>s10ode>10ncet/openvswitcskbepenp="L!(213"3cprotocode>ttrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV6e" n)w)h/flow.c#L812" id="L712"4c2ass="li1067>th_/a>1089"> 89st410nkb INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1068>th_/a>10"+codeprotocode="+code=s10"+c>10nkbttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV6e" n)href="+="+code=sk_buff" classhlisa 1069>th_/a>10em_cac__lkf_pullref>skb<10em_>10nlow.ch/flow.c#L812" id="L712"4c2ass="li107">th_/a>10311"> 131/a> 3 4re37"n10311>1031b 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv6"> 15 3 4ipv6nta8">r_oqp_pull"th_/a>10ely+codee=ntohnvswitch/f10ely>103ic 30"netd="L213"3clk213"3cprotocodeipv6_> 3 4 e38a hre4o pv6_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_IPV6e" n])href="+="+code=sk_buff" classhlisa 1072>th_/a>10>th_/a>;>th>103+code=sk_protoionmassp="L213"3cprotocodeipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_frag3 4 e38a hre4o pv6_frag2_s5se="; e="L90"> 90nhton"/a>ETHOVS_FRAG_TYPE_MAX2_s5)h/flow.c#L812" id="L712"4c2ass="li1073>th_/a>10714"> 17 3 4 3710315 3 4 34 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1074>th_/a>10ely+codee=lkf hre//openv10ely>103" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 14 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_label3 4 e38a hre4oipv6_label=tovhref="+="+code=sk_buff" classhlisa 1075>th_/a>10>th_/a>;>th>103nsert+code=skb" class213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs_l=ptcw.c#L615" iipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_protoet>nhton"/a>ETHipv6_proto=tovhref="+="+code=sk_buff" classhlisa 1076>th_/a>10217"> 12s4atire37 10217>103cet/openvswitcskbepen213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHtob=tovs_l=ptcw.c#L615" iipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_t 4 e33 4 e38a hre4o pv6_t 4 e3=tovhref="+="+code=sk_buff" classhlisa 1077>th_/a>10ely+codee=pskb_may_pull"10ely>103kbr_oqp_pull" 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_hlimi5 3 3th_/a>10>th_/a>;>th>103kb 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull" 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_frag3 4 e38a hre4o pv6_frag2_s5href="+="+code=sk_buff" classhlisa 1079>th_/a>1080"> 80} 3103low.c#L615" id="L415"213"3cprotocodememcp 3 4 e38a hre4omemcp 2_s5"ef=tovs_low_cusedrcubw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_srde="+code=sk_ethipv6_srd=tovaref="+="+code=sk_buff" classhlisa 108">th_/a>1010 3 4 34 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull"(<10<1>th_/a>10ely+codee=llcd="L619" cl10ely>10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3 3 3(<10<2>th_/a>10ely+codee=llcd="L619" cl10ely>10<+code=sk_protoionmassleodef=6ass="lvs_low_cusedrcubw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3(<10<3>th_/a>10kely+codee=llcd="L619" c10kel>10<3ow.ch/flow.c#L812" id="L712"4c2ass="li1084>th_/a>10>th_/a>;>th>10<" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHOVS_FRAG_TYPE_LATER" cl)stch/flow.c#L510"4id="L45classhlisa 1085>th_/a>10616"> 166/a> 3 4re38 10616>10 90);+ lehf>skb_err2_s5name="L419"> 14nhton"/a>ETH pv6_f;+ _from_nlattrb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswi, ef=tovs_low_cusedrcucmpveioass=llc72arse_icmpveioode=a="+code=sk_e22rl> 3 4re38a hre4ae" n, ef=tovs_low_cusedrcu>ttrbet>nhton"/a>ETHattrb2_s5wch/flow.c#L7111"4class49nhton"/a>(<1086>th_/a>10ode)=psklkf_pullref>skb<10ode>10);+ lehf>skb_err2_s5)h/flow.c#L812" id="L712"4c2ass="li1087>th_/a>10>10);+ lehf>skb_err2_s5href="+="+code=sk_buff" classhlisa 1088>th_/a>10L199"> 11 4a hre38=10L19>10th_/a>1090"> 90 3 4 39 1090">10 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_AR3"> 15 3 4ETH_P_AR3e" nwwitch/flow.c#L510"4id="L45classhlisa 109">th_/a>10ket""+co)parse_icmpvenvs10ket>10ke name="L=t="sa 90 3 4 e38a hre4oarp_> 2_s5href="+="+code=sk_buff" classhlisa 1091>th_/a>10 f (10ksettrbet>nhton"/a>ETHattrb2_s5sef=tol(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_AR3e" n)w)h/flow.c#L812" id="L712"4c2ass="li1093>th_/a>10lef="+ce=skb" class="sr_10lef>10k15 3 4 34 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1094>th_/a>10L95"> 95 3 39a10L95>10k" name="L=t="sa ttrbet>nhton"/a>ETHattrb2_s5sef=to= ~(1sel el e="L90"> 90 15 3 4OVS_KEY_ATTR_AR3e" n)href="+="+code=sk_buff" classhlisa 1095>th_/a>10>10knserth/flow.c#L718" 4d="L748LAG_MASK_l"1096>th_/a>10L9s="sro7 <3a hre39"10L9s>10kcet/openvswitcskbepen213"3cprotocodecmpveioass=llc72arse_icmpveioode=name="L419"> 14 116/a> 4SW_FLOW_KEY_OFFSEL2_s5"4class="li4e" nipv4"> 15 3 4ipv4e" n">r_oqp_pull"th_/a>1089"> 89st3atic 398 1089">10kkb 3 4re38a hre4nla_dat>2_s5"4class="li4e" n> 3 4re38a hre4ae" n[e="L90"> 90 15 3 4OVS_KEY_ATTR_AR3e" n])href="+="+code=sk_buff" classhlisa 1098>th_/a>10lef="+ce=skb" class="sr_10lef>10kkb 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_sip3 4 e38a hre4oarp_sip=tovhref="+="+code=sk_buff" classhlisa 1099>th_/a>10L10""> 0""/a> 4 40 10L10>10klow.c#L615" id="L415"213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3 14 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_tip3 4 e38a hre4oarp_tip=tovhref="+="+code=sk_buff" classhlisa 11s">th_/a>11s">t"> 0""/a> 4 40 11s">>110e name="L=t="sa rp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_op3 4 e38a hre4oarp_op2_s5sef=tol=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"0xff00w)h/flow.c#L812" id="L712"4c2ass="li11s1>th_/a>11sf (11sic 30"netd="L213" hr4leodef=tef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 11s2>th_/a>11stableodef=00class= 39a 11sta>11s+code=sk_protoionmass213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs_l=ptcw.c#L615" intohbet>nhton"/a>ETHntohb2_s5"i3e" name="L513>rp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_op3 4 e38a hre4oarp_op2_s5)href="+="+code=sk_buff" classhlisa 11s3>th_/a>11sef="+ce=skb" class="sr_11sef>11s15 3 4 34 90 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 4re38a hre4sh>ode=a="+code=sk_e22rl>rp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_sh> 3 4re38a hre4arp_sh>ode=a="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<11s4>th_/a>11s95"> 95 3 39a11s95>110" name="L=t="sa 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 4re38a hre4th>ode=a="+code=sk_e22rl>rp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_th> 3 4re38a hre4arp_th>ode=a="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<11s5>th_/a>11sgt;11snsert+code=sk}ref="+="+code=sk_buff" classhlisa 11s6>th_/a>11s9s="sro7 <3a hre39"11s9s>110name="L6comment">/* Schedules 'lfra11s7>th_/a>11s9"> 89st3atic 398 11s9">110kbttrbet>nhton"/a>ETHattrb2_s5)h/flow.c#L812" id="L712"4c2ass="li11s8>th_/a>11sef="+ce=skb" class="sr_11sef>11skb INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 11s9>th_/a>11s10""> 0""/a> 4 40 11s10>110low.c#L615" ime="L90"> 90 116/a> 4 cmpveiope" ns_l=ptcw.c#L615" icmpveioass=llc72arse_icmpveioode=href="+="+code=sk_buff" classhlisa 111">th_/a>11L11"1> 01<4111bde/openvswitch/flow4c#L814" id="L711"311L1>th_/a>11122"> 11 4 41a 11122>11Lic 30"netd="Lef=tovs0href="+="+code=sk_buff" classhlisa 11L2>th_/a>11deferredafree. */11L+code}ref="+="+code=sk_buff" classhlisa 1113>th_/a>11a>);+ )>1113ow.ch/flow.c#L812" id="L712"4c2ass="li1114>th_/a>11L155"> 115/a> 4 41e11L15>11L4ow.c_iod.nh46nhton"/a>(<1115>th_/a>11_from_nlattrb - parses Netskbk attributes into a f;+ cmp.ef="+code=nh_oen" clas4=i>nh46nhton"/a>(<1116>th_/a>11177"> 117/a> 4 41 11177>11162_s5_iod.nh46nhton"/a>(<1117>th_/a>11" clafree+code=skb" clas11" c>11Lkbnh46nhton"/a>(<1118>th_/a>11L199"> 11 4a hre41=11L19>11Lkbnh46nhton"/a>(<1119>th_/a>11210"> 12"/a> 4 42a 11210>11Llow.c_iod.nh46nhton"/a>(<112">th_/a>11 freed after the a hr RC11 fr>11 fet/o_iod.toform a f;+ cmp, which muli3e="+code=nh_oen" clas4=i>nh46nhton"/a>(<1121>th_/a>11lock fordthis to be sens11loc>11 ic 30_iod.nh46nhton"/a>(<1122>th_/a>11a _tim" cladeferredafree11a _>11 ode/o_iod., th>tois, the parts of the f;+ cmp th>tocannot beef="+code=nh_oen" clas4=i>nh46nhton"/a>(<11 3>th_/a>11L214"> 12 4 42a11L21>11 15nh46nhton"/a>(<1124>th_/a>11code+code=lfragoffs clas11cod>1124ow.c_iod.nh46nhton"/a>(<11 5>th_/a>11L216"> 12 4a hre42"11L21>11 nsertinto/openvswitch/fl"vs_f;+ _metadat>_from_nlattrb3 4 e38a hre4o"vs_f;+ _metadat>_from_nlattrb2_s5"i3e" name="L513 L216"> 12<> 4 3+code=me="L90"> 90 15 3 4u16e" name="L90"> 90nhtonin_porc" clah/flow.c#L7111"4class49nhton"/a>(<11 6>th_/a>11217"> 12s4atic 42"n11217>11 cet/openvswitcskbepennnnnnnnnnnnnnnnconst"a h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90);+ lehf>skb_attre" n)h/flow.c#L812" id="L712"4c2ass="li11 7>th_/a>11 be freed after the a hr11 be>11 kb);+ lehf>skb_ lattre" name="L90"> 90);+ lehf>skb_ laode=href="+="+code=sk_buff" classhlisa 11 9>th_/a>11a>(<~0x_tim" cladeferred11a>(>11 low.c#L615" iinto/openvswitch/flrema>);+ lehf>skb_remode=href="+="+code=sk_buff" classhlisa 113">th_/a>11kb" class="8"L6comment">11kb">11kbde/openvswitch/flow4c#L814" id="L711"31131>th_/a>11+code+code=lfragoffs cla11+co>11k1b 90nhtonin_porc" cls_l=ptcw.c#L615" iDP_MAX_PORLSlabucket">nhtonDP_MAX_PORLS2_s5href="+="+code=sk_buff" classhlisa 11k2>th_/a>11L216"> 12 4a h 33a11L21>11k+code=sk_protme="L90"> 90th_/a>1184"> 84 3 4 3ia 1184">1133ow.ch/flow.c#L812" id="L712"4c2ass="li1134>th_/a>11ket""+co)parse_vlahref>s11ket>11k" name="L=t="=ptcw.c#L615" inla_for_each_neste4 3 4re38a hre4nla_for_each_neste42_s5"i3e" name="L513 laa>);+ lehf>skb_ laode=a="+code=sk_e22rl>ttra>);+ lehf>skb_attre" na="+code=sk_e22rlrema>);+ lehf>skb_remode=witch/flow.c#L510"4id="L45classhlisa 11k5>th_/a>11kb" class="8"L6commee42"11kb">11knsert+code=skb" classinto/openvswitch/flt 15 3 4ne38a> 1" cls_l=ptcw.c#L615" inla_t 15 3 4ne38anla_t 12_s5"i3e" name="L513 laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<11k6>th_/a>11113name="L6comment">/* Schedules 'lfra1137>th_/a>11"orce"+code)=pskbepenvsw11"or>11kkb 3 4ne38a> 1" clsel _l=ptcw.c#L615" iOVS_KEY_ATTR_MAXet>nhton"/a>ETHOVS_KEY_ATTR_MAX2_s5sef=toef=tol=ptcw.c#L615" i"vs_cmpvle_bet>nhton"/a>ETH"vs_cmpvle_be" n[e="L90"> 90 3 4ne38a> 1" cl]se="; 0witch/flow.c#L510"4id="L45classhlisa 11k8>th_/a>11"orce"+code)=pskbepenvsw11"or>113kbnhton"/a>ETH"vs_cmpvle_be" n[e="L90"> 90 3 4ne38a> 1" cl])h/flow.c#L812" id="L712"4c2ass="li1139>th_/a>11e" name="L91"> 91 11e" >113low.c#L615" id="L415"""""""""""""""""ef=tovs3e" name="L513"> INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 114">th_/a>11114bde/openvswitch/flow4c#L814" id="L711"31141>th_/a>11122"> 11 4 34 11122>11 3 4ne38a> 1" clwitch/flow.c#L510"4id="L45classhlisa 1142>th_/a>11ely+codee=pskb_may_pull"11ely>114+code=sk_protoionmassleodef= caseo=ptcw.c#L615" iOVS_KEY_ATTR_PRIORITYet>nhton"/a>ETHOVS_KEY_ATTR_PRIORITYcode:ch/flow.c#L510"4id="L45classhlisa 1143>th_/a>11>th_/alass="li3e" name="11>th>11<15 3 4 34 90 12<> 4 nla_get_ L22_s5"i3e" name="L513 laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1144>th_/a>11515"> 155/a> 3 4 34 11515>11<" name="L=t="sa (<1145>th_/a>11ely+codee=pskb_may_pull"11ely>114nserth/flow.c#L718" 4d="L748LAG_MASK_l"1146>th_/a>11ow.c#L615" id=""""""""""11ow.>114cet/openvswitcskbepennnnnnnnncaseo=ptcw.c#L615" iOVS_KEY_ATTR_IN_PORLet>nhton"/a>ETHOVS_KEY_ATTR_IN_PORLcode:ch/flow.c#L510"4id="L45classhlisa 1147>th_/a>11>th_/ahref="net//openvsw11>th>11 12<> 4 nla_get_ L22_s5"i3e" name="L513 laa>);+ lehf>skb_ laode=wse=";_l=ptcw.c#L615" iDP_MAX_PORLSlabucket">nhtonDP_MAX_PORLS2_s5)h/flow.c#L812" id="L712"4c2ass="li1148>th_/a>11319"> 13 3a 4 311 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1149>th_/a>11em_cacqp_pull"skb11 90nhtonin_porc" cls_l=ptcw.c#L615" inla_get_ L216"> 12<> 4 nla_get_ L22_s5"i3e" name="L513 laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<115">th_/a>11skb<1111(<1151>th_/a>11+code+__lkf_pullref>skb<11+co>11th_/a>1193"> 93 4a h 311<+code=sk_protoionmass}ref="+="+code=sk_buff" classhlisa 1153>th_/a>11ss="li3e" name="L513"> 11ss=>11<15 3 4 }ref="+="+code=sk_buff" classhlisa 1154>th_/a>11L155"> 115/a> 3 4 311<" name="L=t="p="L213"3cprotocoderema>);+ lehf>skb_remode=wref="+="+code=sk_buff" classhlisa 1155>th_/a>11616"> 166/a> 3 4 35="11616>11 INVAL"> 15 3 43INVAL=tovhref="+="+code=sk_buff" classhlisa 1156>th_/a>11de)=pskbepenvswitch/h>sk11de)>11th_/a>11L188"> 11 3 4re35811L18>11<7ame=}ref="+="+code=sk_buff" classhlisa 1158>th_/a>11th_/a>11nlikely+codee=p8d="L619"11nli>11 3 4 e38a hre4osw_f;+ _> e" name="L90"> 90 3 4 e38a hre4oswpenvswi, a h"+co/openvswitch/flsk_buff3 4 e38a hre4osk_buffe" name="L90"> 90th_/a>11nlikely+codee=p8d="L619"11nli>11nlow.ctch/flow.c#L510"4id="L45classhlisa 1161>th_/a>11t/openvswitch/p8d="L619"11t/o>11nic 30"netd="La h"+co/openvswitch/fl"vs_cmpvetherL51et>nhton"/a>ETH"vs_cmpvetherL51e" name="L90"> 90 3 4 e38a hre4oeth_> =tovhref="+="+code=sk_buff" classhlisa 1162>th_/a>11+codde=check_hp8d="L619"11+co>11n+code=sk_prota h"+co/openvswitch/flnlattra>);+ lehf>skb_ lattre" name="L90"> 90);+ lehf>skb_ laode=,ame="L90"> 90 116/a> 4 encap=tovhref="+="+code=sk_buff" classhlisa 1163>th_/a>11>skb);+ sk>1163ow.ch/flow.c#L812" id="L712"4c2ass="li1164>th_/a>11e" name="L91"> 91 11e" >116" name="L=t="p="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4ophye" n">r_oqp_pull"116nsert+code=skb" c=ptcw.c#L615" inla_put_ L216"> 12<> 4 nla_put_ L22_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_PRIORITYet>nhton"/a>ETHOVS_KEY_ATTR_PRIORITYcodea="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4ophye" n">r_oqp_pull" 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1167>th_/a>1189"> 89st41167ame="L6comment">/* Schedules 'lfra1168>th_/a>11"+codeprotocode="+code=s11"+c>11nkb 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4ophye" n">r_oqp_pull"nhtonin_porc" cls!_l=ptcw.c#L615" iDP_MAX_PORLSlabucket">nhtonDP_MAX_PORLS2_s5sef=toef=toh/flow.c#L812" id="L712"4c2ass="li1169>th_/a>11em_cac__lkf_pullref>skb<11em_>116low.c#L615" id="L=ptcw.c#L615" inla_put_ L216"> 12<> 4 nla_put_ L22_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_IN_PORLet>nhton"/a>ETHOVS_KEY_ATTR_IN_PORLcodea="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iph 3 4 e38a hre4ophye" n">r_oqp_pull"nhtonin_porc" clw)h/flow.c#L812" id="L712"4c2ass="li117">th_/a>11311"> 131/a> 3 4re37"n11311>1131b 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1171>th_/a>11ely+codee=ntohnvswitch/f11ely>117seth>113+code=sk_prote="L90"> 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ETHERNEL166"> 116/a> 4OVS_KEY_ATTR_ETHERNELvswi, aass="lme="L90"> 90 3 4 e38a hre4oeth_> =tov)wch/flow.c#L7111"4class49nhton"/a>(<1173>th_/a>11714"> 17 3 4 3711315 3 4 p="L!i3e" name="L513 laa>);+ lehf>skb_ laode=wh/flow.c#L7111"4class49nhton"/a>(<1174>th_/a>11ely+codee=lkf hre//openv11ely>113" name="L=t="sa 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1175>th_/a>11>th_/a>;>th>113nsert+code=ske="L90"> 90 3 4 e38a hre4oeth_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1176>th_/a>11217"> 12s4atire37 11217>113cet/openvswit4class="li4e" nmemcp 3 4 e38a hre4omemcp 2_s5"i3e" name="L513eth_> 3 4 e38a hre4oeth_> =tovcode)=ptcw.c#L615" ie> _srde="+code=sk_ethe> _srdcodea="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<1177>th_/a>11ely+codee=pskb_may_pull"11ely>113kb _d15 3 3 _d15codea="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 3(<1178>th_/a>11>th_/a>;>th>117kbth_/a>1180"> 80} 3113low.c#L615" ip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a>ciow.c#||"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_8021Q5 3 4ne38aETH_P_8021Q=tov)witch/flow.c#L510"4id="L45classhlisa 118">th_/a>1111 3 4 34 15 3 4nla_put_be162_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ETHERTYPE166"> 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" na="+code=sk_e22rl_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_8021Q5 3 4ne38aETH_P_8021Q=tov)wi||ch/flow.c#L510"4id="L45classhlisa 1181>th_/a>11ely+codee=llcd="L619" cl11ely>11 15 3 4nla_put_be162_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_VLAN5 3 4ne38aOVS_KEY_ATTR_VLANcodea="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a>ciow.cw)h/flow.c#L812" id="L712"4c2ass="li11<2>th_/a>11ely+codee=llcd="L619" cl11ely>11<+code=sk_protoionmassleodef="gotoc=ptcw.c#L615" inla_put_failur15 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 11<3>th_/a>11kely+codee=llcd="L619" c11kel>11815 3 4 34 90 116/a> 4 encap=tovs_l=ptcw.c#L615" inla_nest_starclabucket">nhtonnla_nest_starc2_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ENCA3"> 15 3 4OVS_KEY_ATTR_ENCA3e" nwch/flow.c#L7111"4class49nhton"/a>(<1184>th_/a>11>th_/a>;>th>11<" name="L=t="sa 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a>ciow.cwh/flow.c#L7111"4class49nhton"/a>(<1185>th_/a>11616"> 166/a> 3 4re38 11616>11 116/a> 4 unencap=tovhref="+="+code=sk_buff" classhlisa 11<6>th_/a>11ode)=psklkf_pullref>skb<11ode>1111 90 116/a> 4 encap=tovs_l=ptcw.c#L615" iNULL"> 15 3 4NULL=tovhref="+="+code=sk_buff" classhlisa 11<8>th_/a>11L199"> 11 4a hre38=11L19>11th_/a>1190"> 90 3 4 39 1190">118low.ch/flow.c#L812" id="L712"4c2ass="li119">th_/a>11ket""+co)parse_icmpvenvs11ket>11ke name="L=t="p="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_802_216"> 12<> 4 ETH_P_802_2ow.cw)h/flow.c#L812" id="L712"4c2ass="li1191>th_/a>11 f (119ic 30"netd="L213"3clkgotoc=ptcw.c#L615" iunencap"> 116/a> 4 unencap=tovhref="+="+code=sk_buff" classhlisa 11k2>th_/a>11atableodef=00class= 39a 11ata>11k+coderef="+="+code=sk_buff" classhlisa 11k3>th_/a>11lef="+ce=skb" class="sr_11lef>11915 3 4 p="L=ptcw.c#L615" inla_put_be16"> 15 3 4nla_put_be162_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ETHERTYPE166"> 116/a> 4OVS_KEY_ATTR_ETHERTYPEe" na="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" clw)h/flow.c#L812" id="L712"4c2ass="li1194>th_/a>11L95"> 95 3 39a11L95>11k" name="L=t="sa 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1195>th_/a>11>11knserth/flow.c#L718" 4d="L748LAG_MASK_l"1196>th_/a>11L9s="sro7 <3a hre39"11L9s>11kcet/openvswitp="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwwitch/flow.c#L510"4id="L45classhlisa 1197>th_/a>1189"> 89st3atic 398 1189">11kkb 15 3 4"vs_cmpvipv4b 90 3 4 e38a hre4o pv4_> =tovhref="+="+code=sk_buff" classhlisa 1198>th_/a>11lef="+ce=skb" class="sr_11lef>119kbth_/a>11L10""> 0""/a> 4 40 11L10>11klow.c#L615" id="L415"213"3cprotocode laa>);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_IPV4"> 15 3 4OVS_KEY_ATTR_IPV4vswi, aass="lme="L90"> 90 3 4 e38a hre4o pv4_> =tov)wch/flow.c#L7111"4class49nhton"/a>(<12s">th_/a>12s">t"> 0""/a> 4 40 12s">>120e name="L=t="sa (<12s1>th_/a>12sf (12sic 30"netd="L213" hr4leodef=tgotoc=ptcw.c#L615" inla_put_failur15 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 12s2>th_/a>12stableodef=00class= 39a 12sta>12s+code=sk_protoionmass213"3cprotocodeipv4_> 3 4 e38a hre4o pv4_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<12s3>th_/a>12sef="+ce=skb" class="sr_12sef>12s15 3 4 34 90 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_srde="+code=sk_ethipv4_srd2_s5s_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull"(<12s4>th_/a>12s95"> 95 3 39a12s95>120" name="L=t="sa 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_d15 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3(<12s5>th_/a>12sgt;120nsert+code=skb" class213"3cprotocodeipv4_> 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_protoet>nhton"/a>ETHipv4_proto=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovch/flow.c#L7111"4class49nhton"/a>(<12s6>th_/a>12s9s="sro7 <3a hre39"12s9s>120cet/openvswitcskbepen213"3cprotocodeipv4_> 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_tobet>nhton"/a>ETHipv4_tob=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHtob=tovch/flow.c#L7111"4class49nhton"/a>(<12s7>th_/a>12s9"> 89st3atic 398 12s9">120kb 90 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_ttl3 4 e38a hre4oipv4_ttl=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"(<12s8>th_/a>12sef="+ce=skb" class="sr_12sef>12skb 90 3 4 e38a hre4o pv4_> =tovcode)=ptcw.c#L615" iipv4_frag3 4 e38a hre4o pv4_frag2_s5s_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"(<12s9>th_/a>12s10""> 0""/a> 4 40 12s10>120low.c#L615" ic elseip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwwitch/flow.c#L510"4id="L45classhlisa 121">th_/a>12L11"1> 01<4121e name="L=t="sa 15 3 4"vs_cmpvipv6e" name="L90"> 90 3 4 e38a hre4o pv6_> =tovhref="+="+code=sk_buff" classhlisa 12L1>th_/a>12122"> 11 4 41a 12122>121se);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_IPV6"> 15 3 4OVS_KEY_ATTR_IPV6e" n, aass="lme="L90"> 90 3 4 e38a hre4o pv6_> =tov)wch/flow.c#L7111"4class49nhton"/a>(<1213>th_/a>12a>);+ )>12115 3 4 34(<1214>th_/a>12L155"> 115/a> 4 41e12L15>121" name="L=t="sa 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1215>th_/a>12 3 4 e38a hre4o pv6_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1216>th_/a>12177"> 117/a> 4 41 12177>121cet/openvswitcskbepen213"3cprotocodememcp 3 4 e38a hre4omemcp 2_s5"i3e" name="L513ipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_srde="+code=sk_ethipv6_srd=tova ef=tovs_low_cusedrcubw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull"(<1217>th_/a>12" clafree+code=skb" clas12" c>121kb(<1218>th_/a>12L199"> 11 4a hre41=12L19>121kb 90 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3(<1219>th_/a>12210"> 12"/a> 4 42a 12210>121low.c#L615" id="L415"""""""""""""""""6ass="lvs_low_cusedrcuipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_d15 3 3(<122">th_/a>12 freed after the a hr RC12 fr>122e name="L=t="sa 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_label3 4 e38a hre4oipv6_label2_s5s_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"(<1221>th_/a>12lock fordthis to be sens12loc>122ic 30"netd="L213"3clk213"3cprotocodeipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_protoet>nhton"/a>ETHipv6_proto=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovch/flow.c#L7111"4class49nhton"/a>(<1222>th_/a>12a _tim" cladeferredafree12a _>122+code=sk_protoionmass213"3cprotocodeipv6_> 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_t 4 e33 4 e38a hre4o pv6_t 4 e3=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHtob=tovch/flow.c#L7111"4class49nhton"/a>(<12 3>th_/a>12L214"> 12 4 42a12L21>12215 3 4 34 90 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_hlimi5 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"(<1224>th_/a>12code+code=lfragoffs clas12cod>122" name="L=t="sa 3 4 e38a hre4o pv6_> =tovcode)=ptcw.c#L615" iipv6_frag3 4 e38a hre4o pv6_frag2_s5s_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"(<12 5>th_/a>12L216"> 12 4a hre42"12L21>122nsert+code=sk} elseip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_AR3"> 15 3 4ETH_P_AR3e" nwwitch/flow.c#L510"4id="L45classhlisa 12 6>th_/a>12217"> 12s4atic 42"n12217>12 cet/openvswitcskbepena h"+co/openvswitch/fl"vs_cmpvarp3 4 e38a hre4o"vs_cmpvarpe" name="L90"> 90 3 4 e38a hre4oarp_> 2_s5href="+="+code=sk_buff" classhlisa 12 7>th_/a>12 be freed after the a hr12 be>1227ame="L6comment">/* Schedules 'lfra12 8>th_/a>12lock fordthis to be sens12loc>122kb 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_AR3"> 15 3 4OVS_KEY_ATTR_AR3e" n, aass="lme="L90"> 90 3 4 e38a hre4oarp_> 2_s5)wch/flow.c#L7111"4class49nhton"/a>(<1229>th_/a>12a>(<~0x_tim" cladeferred12a>(>122low.c#L615" id="L415"p="L!i3e" name="L513 laa>);+ lehf>skb_ laode=wh/flow.c#L7111"4class49nhton"/a>(<123">th_/a>12kb" class="8"L6comment">12kb">123a name="L=t="sa 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1231>th_/a>12+code+code=lfragoffs cla12+co>123ic 30"netd="L213"3clk213"3cprotocodearp_> 3 4 e38a hre4oarp_> 2_s5s_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<12k2>th_/a>12L216"> 12 4a h 33a12L21>123+code=sk_protoionmass213"3cprotocodemems51et>nhton"/a>ETHmems512_s5"4class="li4e" narp_> 3 4 e38a hre4oarp_> 2_s5, 0, aass="la h"+co/openvswitch/fl"vs_cmpvarp3 4 e38a hre4o"vs_cmpvarpe" n)wch/flow.c#L7111"4class49nhton"/a>(<1233>th_/a>1284"> 84 3 4 3ia 1284">12315 3 4 34 90 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_sip3 4 e38a hre4oarp_sip=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull"(<1234>th_/a>12ket""+co)parse_vlahref>s12ket>123" name="L=t="sa 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_tip3 4 e38a hre4oarp_tip=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull");+ lehf>skb_addre" n">r_oqp_pull" 3 3(<12k5>th_/a>12kb" class="8"L6commee42"12kb">12knsert+code=skb" class213"3cprotocodearp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_op3 4 e38a hre4oarp_op2_s5s_l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovwch/flow.c#L7111"4class49nhton"/a>(<1236>th_/a>12123cet/openvswitcskbepen213"3cprotocodememcp 3 4 e38a hre4omemcp 2_s5"i3e" name="L513>rp_> 3 4 e38a hre4oarp_> 2_s5code)=ptcw.c#L615" iarp_sh> 3 4re38a hre4arp_sh>ode=a="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 4re38a hre4sh>ode=a="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<1237>th_/a>12"orce"+code)=pskbepenvsw12"or>12kkb 3 4re38a hre4arp_th>ode=a="+code=sk_e22rlbw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 4re38a hre4th>ode=a="+code=sk_e22rlETH_ALEN5 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<1238>th_/a>12"orce"+code)=pskbepenvsw12"or>123kbth_/a>12e" name="L91"> 91 12e" >123low.ch/flow.c#L812" id="L712"4c2ass="li124">th_/a>12124e name="L=t="p="LL213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwi||ch/flow.c#L510"4id="L45classhlisa 1241>th_/a>12122"> 11 4 34 12122>12 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwwief=toef=toh/flow.c#L812" id="L712"4c2ass="li1242>th_/a>12ely+codee=pskb_may_pull"12ely>124+code=sk_protoionm=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull" 15 3 4OVS_FRAG_TYPE_LATERe" nwitch/flow.c#L510"4id="L45classhlisa 1243>th_/a>12>th_/alass="li3e" name="12>th>1243ow.ch/flow.c#L812" id="L712"4c2ass="li1244>th_/a>12515"> 155/a> 3 4 34 12515>12<" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs__l=ptcw.c#L615" iIPPROTO_TC3"> 15 3 4IPPROTO_TC3e" nwitch/flow.c#L510"4id="L45classhlisa 1245>th_/a>12ely+codee=pskb_may_pull"12ely>124nsert+code=skb" class213"3clka h"+co/openvswitch/fl"vs_cmpvtcp3 4 e38a hre4o"vs_cmpvtcpe" name="L90"> 90 3 4 e38a hre4otcp_> 3e" ch/flow.c#L7111"4class49nhton"/a>(<1246>th_/a>12ow.c#L615" id=""""""""""12ow.>124name="L6comment">/* Schedules 'lfra1247>th_/a>12>th_/ahref="net//openvsw12>th>12 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_TC3"> 15 3 4OVS_KEY_ATTR_TC3e" n, aass="lme="L90"> 90 3 4 e38a hre4otcp_> 3e" )wch/flow.c#L7111"4class49nhton"/a>(<1248>th_/a>12319"> 13 3a 4 312(<1249>th_/a>12em_cacqp_pull"skb12 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 125">th_/a>12skb<1212 90 3 4 e38a hre4otcp_> 3e" s_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1251>th_/a>12+code+__lkf_pullref>skb<12+co>12 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwwitch/flow.c#L510"4id="L45classhlisa 1252>th_/a>1293"> 93 4a h 312<+code=sk_protoionmasssa 90 3 4 e38a hre4otcp_> 3e" code)=ptcw.c#L615" itcp_srde="+code=sk_ethtcp_srd=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull"(<1253>th_/a>12ss="li3e" name="L513"> 12ss=>12515 3 4 34 90 3 4 e38a hre4otcp_> 3e" code)=ptcw.c#L615" itcp_d15 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 3(<1254>th_/a>12L155"> 115/a> 3 4 3125" name="L=t="sa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwwitch/flow.c#L510"4id="L45classhlisa 1255>th_/a>12616"> 166/a> 3 4 35="12616>12 90 3 4 e38a hre4otcp_> 3e" code)=ptcw.c#L615" itcp_srde="+code=sk_ethtcp_srd=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull"(<1256>th_/a>12de)=pskbepenvswitch/h>sk12de)>125cet/openvswitcskbepennnnnnnnnnnnnnnnke="L90"> 90 3 4 e38a hre4otcp_> 3e" code)=ptcw.c#L615" itcp_d15 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull" 3 3(<1257>th_/a>12L188"> 11 3 4re35812L18>125kbth_/a>12 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs__l=ptcw.c#L615" iIPPROTO_UD3"> 15 3 4IPPROTO_UD3e" nwitch/flow.c#L510"4id="L45classhlisa 1259>th_/a>12nlikely+codee=p8d="L619"12nli>125low.c#L615" id="L415"""""""""a h"+co/openvswitch/fl"vs_cmpvudp3 4 e38a hre4o"vs_cmpvudpe" name="L90"> 90 3 4 e38a hre4oudp_> 3e" ch/flow.c#L7111"4class49nhton"/a>(<126">th_/a>12nlikely+codee=p8d="L619"12nli>126bde/openvswitch/flow4c#L814" id="L711"31261>th_/a>12t/openvswitch/p8d="L619"12t/o>126ic 30"netd="L213"3clkkkkkkkkke="L90"> 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_UD3"> 15 3 4OVS_KEY_ATTR_UD3e" n, aass="lme="L90"> 90 3 4 e38a hre4oudp_> 3e" )wch/flow.c#L7111"4class49nhton"/a>(<1262>th_/a>12+codde=check_hp8d="L619"12+co>126+code=sk_protoionmasssa (<1263>th_/a>12>skb);+ sk>12615 3 4 34 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1264>th_/a>12e" name="L91"> 91 12e" >126" name="L=t="sa 90 3 4 e38a hre4oudp_> 3e" s_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1265>th_/a>12126nsert+code=skb" cmasssa 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwwitch/flow.c#L510"4id="L45classhlisa 12n6>th_/a>12ode)=pskbepenvswitch/h>s12ode>12ncet/openvswitcskbepensa 90 3 4 e38a hre4oudp_> 3e" code)=ptcw.c#L615" iudp_srde="+code=sk_ethudp_srd=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull"(<1267>th_/a>1289"> 89st4126kb 90 3 4 e38a hre4oudp_> 3e" code)=ptcw.c#L615" iudp_d15 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 3(<1268>th_/a>12"+codeprotocode="+code=s12"+c>126kb 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwwitch/flow.#L7111"4class49nhton"/a>(<1269>th_/a>12em_cac__lkf_pullref>skb<12em_>126low.c#L615" id="Lepensa 90 3 4 e38a hre4oudp_> 3e" code)=ptcw.c#L615" iudp_srde="+code=sk_ethudp_srd=tovs_l=ptcw.c#L615" ibw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull"(<127">th_/a>12311"> 131/a> 3 4re37"n12311>1231b 90 3 4 e38a hre4oudp_> 3e" code)=ptcw.c#L615" iudp_d15 3 3 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull" 3 3(<1271>th_/a>12ely+codee=ntohnvswitch/f12ely>127ic 30"netd="L213"3clkkkkkkkkk}ref="+="+code=sk_buff" classhlisa 1272>th_/a>12>th_/a>;>th>127+code=sk_protoionmass} elseip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3"> 15 3 4ETH_P_I3e" nwief=toef=toh/flow.c#L812" id="L712"4c2ass="li1273>th_/a>12714"> 17 3 4 3712715 3 4 34 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs__l=ptcw.c#L615" iIPPROTO_ICM3"> 15 3 4IPPROTO_ICM3e" nwitch/flow.c#L510"4id="L45classhlisa 1274>th_/a>12ely+codee=lkf hre//openv12ely>123" name="L=t="sa 90 3 4 e38a hre4o cmp_> 3e" ch/flow.c#L7111"4class49nhton"/a>(<1275>th_/a>12>th_/a>;>th>127nserth/flow.c#L718" 4d="L748LAG_MASK_l"1276>th_/a>12217"> 12s4atire37 12217>127cet/openvswitcskbepensa 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ICM3"> 15 3 4OVS_KEY_ATTR_ICM3e" n, aass="lme="L90"> 90 3 4 e38a hre4o cmp_> 3e" )wch/flow.c#L7111"4class49nhton"/a>(<1277>th_/a>12ely+codee=pskb_may_pull"12ely>127kb(<1278>th_/a>12>th_/a>;>th>127kb 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 1279>th_/a>1280"> 80} 3127low.c#L615" id="Lepensa 90 3 4 e38a hre4o cmp_> 3e" s_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<128">th_/a>1212 3 4 34 90 3 4 e38a hre4o cmp_> 3e" code)=ptcw.c#L615" iicmp_t 15 3 4ne38aicmp_t 13e" s_l=ptcw.c#L615" intohbet>nhton"/a>ETHntohb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull"(<1281>th_/a>12ely+codee=llcd="L619" cl12ely>12 90 3 4 e38a hre4o cmp_> 3e" code)=ptcw.c#L615" iicmp_15" 3 4 e38a hre4o cmp_15" 3e" s_l=ptcw.c#L615" intohbet>nhton"/a>ETHntohb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv4"> 15 3 4ipv4e" n">r_oqp_pull"r_oqp_pull" 3 3(<1282>th_/a>12ely+codee=llcd="L619" cl12ely>12<+code=sk_protoionmass} elseip="L213"3cprotocodebw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" ie> 3 4 e38a hre4oe> =tov">r_oqp_pull" 3 4ne38a> 1" cls__l=ptcw.c#L615" i_sr_bet>nhton"/a>ETH_P_802_s5"4class="li4e" nETH_P_I3V6"> 15 3 4ETH_P_I3V6e" nwief=toef=toh/flow.c#L812" id="L712"4c2ass="li12<3>th_/a>12kely+codee=llcd="L619" c12kel>12815 3 4 34 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iip3 4 e38a hre4o pe" n">r_oqp_pull"nhton"/a>ETHproto=tovs__l=ptcw.c#L615" iIPPROTO_ICM3V6"> 15 3 4IPPROTO_ICM3V6e" nwitch/flow.c#L510"4id="L45classhlisa 1284>th_/a>12>th_/a>;>th>12<" name="L=t="sa 15 3 4"vs_cmpvicmpv6e" name="L90"> 90 3 4 e38a hre4o cmpv6_> =tovhref="+="+code=sk_buff" classhlisa 1285>th_/a>12616"> 166/a> 3 4re38 12616>128nserth/flow.c#L718" 4d="L748LAG_MASK_l"12<6>th_/a>12ode)=psklkf_pullref>skb<12ode>128cet/openvswitcskbepensa 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ICM3V6"> 15 3 4OVS_KEY_ATTR_ICM3V6e" nah/flow.c#L7111"4class49nhton"/a>(<1287>th_/a>12>12 90 3 4 e38a hre4o cmpv6_> =tov)wch/flow.c#L7111"4class49nhton"/a>(<12<8>th_/a>12L199"> 11 4a hre38=12L19>128kb(<1289>th_/a>1290"> 90 3 4 39 1290">128low.c#L615" id="L415"""""""""""""""""gotoc=ptcw.c#L615" inla_put_failur15 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 129">th_/a>12ket""+co)parse_icmpvenvs12ket>129a5 3 4 34 90 3 4 e38a hre4o cmpv6_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<1291>th_/a>12 f (129ic 30"netd="L213"3clksa 90 3 4 e38a hre4o cmpv6_> =tovcode)=ptcw.c#L615" iicmpv6_t 15 3 4ne38aicmpv6_t 13e" s_l=ptcw.c#L615" intohbet>nhton"/a>ETHntohb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull"(<1292>th_/a>12atableodef=00class= 39a 12ata>129+code=sk_protoionmasssa 90 3 4 e38a hre4o cmpv6_> =tovcode)=ptcw.c#L615" iicmpv6_15" 3 4 e38a hre4o cmpv6_15" 3e" s_l=ptcw.c#L615" intohbet>nhton"/a>ETHntohb2_s5"i3e" name="L513bw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull"r_oqp_pull" 3 3(<12k3>th_/a>12lef="+ce=skb" class="sr_12lef>1293ow.ch/flow.c#L812" id="L712"4c2ass="li1294>th_/a>12L95"> 95 3 39a12L95>12k" name="L=t="sa 90 3 4 e38a hre4o cmpv6_> =tovcode)=ptcw.c#L615" iicmpv6_t 15 3 4ne38aicmpv6_t 13e" s__l=ptcw.c#L615" iNDISC_NEIGHBOUR_SOLICITATION5 3 4ne38aNDISC_NEIGHBOUR_SOLICITATION3e" s||ch/flow.c#L510"4id="L45classhlisa 1295>th_/a>12>129nsert+code=skb" classsa 90 3 4 e38a hre4o cmpv6_> =tovcode)=ptcw.c#L615" iicmpv6_t 15 3 4ne38aicmpv6_t 13e" s__l=ptcw.c#L615" iNDISC_NEIGHBOUR_ADVERTISEMENT5 3 4ne38aNDISC_NEIGHBOUR_ADVERTISEMENTe" nwitch/flow.c#L510"4id="L45classhlisa 1296>th_/a>12L9s="sro7 <3a hre39"12L9s>129cet/openvswitcskbepensa 15 3 4"vs_cmpvnde" name="L90"> 90 3 4 e38a hre4ond_> =tovhref="+="+code=sk_buff" classhlisa 1297>th_/a>1289"> 89st3atic 398 1289">1297ame="L6comment">/* Schedules 'lfra1298>th_/a>12lef="+ce=skb" class="sr_12lef>129kb 90);+ lehf>skb_ laode=s_l=ptcw.c#L615" inla_reserv15 3 4ne38anla_reserv12_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlOVS_KEY_ATTR_ND"> 15 3 4OVS_KEY_ATTR_NDe" n, aass="lme="L90"> 90 3 4 e38a hre4ond_> =tov)wch/flow.c#L7111"4class49nhton"/a>(<1299>th_/a>12L10""> 0""/a> 4 40 12L10>12klow.c#L615" id="L415"sa (<13s">th_/a>13s">t"> 0""/a> 4 40 13s">>130e name="L=t="sa 3 4ne38anla_put_failur1=tovhref="+="+code=sk_buff" classhlisa 13s1>th_/a>13sf (13sic 30"netd="L213" hr4leodef=t""""""""e="L90"> 90 3 4 e38a hre4ond_> =tovs_l=ptcw.c#L615" inla_dat> 3 4re38a hre4nla_dat>2_s5"4class="li4e" n laa>);+ lehf>skb_ laode=wch/flow.c#L7111"4class49nhton"/a>(<13s2>th_/a>13stableodef=00class= 39a 13sta>13s+code=sk_protoionmassleodef=t""""""""e="L90"> 90nhton"/a>ETHnd_targ51e" n, ef=tovs_low_cusedrcubw> 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 15 3 4nde" n">r_oqp_pull"nhton"/a>ETHtarg51e" n,h/flow.c#L7111"4class49nhton"/a>(<13s3>th_/a>13sef="+ce=skb" class="sr_13sef>13s15 3 4 34nhton"/a>ETHnd_targ51e" n)wch/flow.c#L7111"4class49nhton"/a>(<13s4>th_/a>13s95"> 95 3 39a13s95>130" name="L=t="sa 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 15 3 4nde" n">r_oqp_pull" 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<13s5>th_/a>13sgt;130nsert+code=skb" classleodef=t""""""""e="L90"> 90 3 4 e38a hre4oswpenvswicode)=ptcw.c#L615" iipv6"> 15 3 4ipv6nta8">r_oqp_pull" 15 3 4nde" n">r_oqp_pull" 3 4ne38aETH_ALENe" nwch/flow.c#L7111"4class49nhton"/a>(<13s6>th_/a>13s9s="sro7 <3a hre39"13s9s>130cet/openvswitcskbepennnnnnnnn}ref="+="+code=sk_buff" classhlisa 13s7>th_/a>13s9"> 89st3atic 398 13s9">130kbth_/a>13sef="+ce=skb" class="sr_13sef>130kbth_/a>13s10""> 0""/a> 4 40 13s10>130low.ch/flow.c#L812" id="L712"4c2ass="li131">th_/a>13L11"1> 01<4131e nam"+code=sk_e22rlunencap"> 116/a> 4 unencap=tov:h/flow.c#L812" id="L712"4c2ass="li1311>th_/a>13122"> 11 4 41a 13122>131ic 30"netd="Lp="Le="L90"> 90 116/a> 4 encap=tovwh/flow.c#L7111"4class49nhton"/a>(<13L2>th_/a>13deferredafree. */131+code=sk_protoionmass213"3cprotocode la_nest_end"> 15 3 4nla_nest_end2_s5"i3e" name="L513bkb3 4 e38a hre4oskbode=a="+code=sk_e22rlencap"> 116/a> 4 encap=tovwch/flow.c#L7111"4class49nhton"/a>(<1313>th_/a>13a>);+ )>1313ow.ch/flow.c#L812" id="L712"4c2ass="li1314>th_/a>13L155"> 115/a> 4 41e13L15>131" name="L=t="return 0ch/flow.c#L7111"4class49nhton"/a>(<1315>th_/a>13th_/a>13177"> 117/a> 4 41 13177>131cet/o=ptcw.c#L615" inla_put_failur15 3 4ne38anla_put_failur1=tov:h/flow.c#L812" id="L712"4c2ass="li1317>th_/a>13" clafree+code=skb" clas13" c>131kb 3 4ne38aEMSGSIZE=tovhref="+="+code=sk_buff" classhlisa 1318>th_/a>13L199"> 11 4a hre41=13L19>131kbth_/a>13210"> 12"/a> 4 42a 13210>131low.ch/flow.c#L812" id="L712"4c2ass="li132">th_/a>13 freed after the a hr RC13 fr>132e nam/* Initialasss the 2ass module. * Returns zeroLp="successful or a negative error e22r. */132+codeinco/openvswitch/fl"vs_2ass_ini5 3 3(<13 3>th_/a>13L214"> 12 4 42a13L21>13215 3 4ne38a2ass_cach1=tovs_l=ptcw.c#L615" ikmem_cach1_creat15 3 4ne38akmem_cach1_creat12_s5"ispaneed aftestring">"sw_2ass" 12 4a hre42"13L21>132nsert+code=skb" classleodef=t""""""""""""""""0a="+code=sk_e22rlNULL5 3 4ne38aNULL=tovwch/flow.c#L7111"4class49nhton"/a>(<13 6>th_/a>13217"> 12s4atic 42"n13217>13 cet/openvswitp="Le="L90"> 90 3 4ne38a2ass_cach1=tovs__l=ptcw.c#L615" iNULL5 3 4ne38aNULL=tovwh/flow.c#L7111"4class49nhton"/a>(<13 7>th_/a>13 be freed after the a hr13 be>132kb 3 4ne38aENOMEM=tovhref="+="+code=sk_buff" classhlisa 13 8>th_/a>13lock fordthis to be sens13loc>132kbth_/a>13a>(<~0x_tim" cladeferred13a>(>132low.c#L615" ireturn 0ch/flow.c#L7111"4class49nhton"/a>(<133">th_/a>13kb" class="8"L6comment">13kb">133a nam}ref="+="+code=sk_buff" classhlisa 1331>th_/a>13+code+code=lfragoffs cla13+co>133se 12 4a h 33a13L21>133+code/* Uninitialasss the 2ass module. */ 84 3 4 3ia 1384">13315 3 3(<1334>th_/a>13ket""+co)parse_vlahref>s13ket>133" namtch/flow.c#L510"4id="L45classhlisa 13k5>th_/a>13kb" class="8"L6commee42"13kb">13knsert+code=sk=ptcw.c#L615" ikmem_cach1_destro 3 4 e38a hre4okmem_cach1_destro 2_s5"i3e" name="L5132ass_cach15 3 4ne38a2ass_cach1=tovwch/flow.c#L7111"4class49nhton"/a>(<1336>th_/a>13133cet/o}ref="+="+code=sk_buff" classhlisa 1337>th_/a>13"orce"+code)=pskbepenvsw13"or>13kkb
The original LXR software by the ef="+="+chttp://sourceforge.ode=projects/lxr">LXR communit 2_s5, this experimental version by ef="+="+cmailto:lxr@)=pux.no">lxr@)=pux.noe" n"
lxr.)=pux.no kindly hosted by ef="+="+chttp://www.redpill-)=ppro.no">Redpill L=ppro AS2_s5, provider of L=pux consulting and sk_rations services aance 1995.