VULN_CHECK_I913V6 7mj,5:ddlZddlZddlZddlZddlZddlZej jeje jjjddl mZddlmZmZdZdZdZdZifdZd Zd Zed k(reyy) N) YnlFamily) schema_dirspec_dirc|j|}|jdt|dk(r#td|t j dd}|t|kr||}|dzt|k\r$td|dt j d||vr&td|d|t j d||dz}|d z }|||<|t|kry y ) zR Verify and convert command-line arguments to the ynl-compatible request. headerrzno attributes, expected: zexpected value for ''zinvalid attribute 'z ', expected: N)operation_do_attributesremovelenprintsysexit)ynlop_nameargsreq valid_attrsiattrvals 2/usr/lib/python3.12/site-packages/pyynl/ethtool.py args_to_reqrs--g6Kx  4yA~ )+78   A c$i-Aw q5CI  )$r2 3 HHQK { " (n[MJ K HHQK1Q3i QD  c$i-clt|dk(r2t|gt|j|jS|D]Y} |\}}}|j |d}|dk(r|rdnd}n"|dk(st |tr|rdnd }n|d n|}t|d |[y#t$r |\}}d}YewxYw) zu Pretty-print a set of fields from the reply. desc specifies the fields and the optional type (bool/yn). rintNynyesnoboolonoffzn/a: ) r print_fieldzipkeys ValueErrorget isinstancer!r)replydescspecfieldnametpvalues rr%r%*s  4yA~5C3uzz|UZZ\#BCC "OE4  %& :"EE 6\Zt4!DuE"]EE b ! KE4B sB  B32B3ctjd}|jDcgc]\}}|s |j|s|}}}t |ddj |ycc}}w)z? Print out the speed-like strings from the value dict. z[0-9]+base[^/]+/.+r$ N)recompileitemsmatchrjoin)r/r1speed_rekvspeeds r print_speedr=Cs`zz/0H!KKM FMDAqQ8>>!3DaME F TF"SXXe_% &' Gs A-A-A-cxdd|jii}t|||j||j||y)z; Prepare request header, parse arguments and doit. rdev-nameN)devicerrdo)rrrrs rdoitrBKs>  dkk  C Wdii-FF7Crc|j|dii|z}|siS|D]q}|dd|jk(s|jr8tjj|t j d|jdd|cStd|jt j dy)zu Prepare request header, parse arguments and dumpit (filtering out the devices we're not interested in). rr?rNzNot supported for device r) dumpr@jsonpprint PrettyPrinterrrpopr)rrrextrar+msgs rdumpitrKXs HHW".6 7E   x= $ 3yy$$&--c2 GGHd #J  %dkk] 34HHQKrci}d|vr tSd|dvr tS|ddD]'}|ddk(r |d}|jdd}|||<)|S)z? Convert ynl-formatted bitmask to a dict of bit=value. bitsbitr/r1F)dictr))rretrNr/r1s r bits_to_dictrRlsv C Tv  DL v F|E" v;"  6{'D # Jrc  tjd}|jdtj|jdtj|jdtj|jdtj|jdtj|jd d tj|jd d tj|jd dtj|jddtj|jddtj|jddtj|jddtj|jddtj|jddtj|jddtj|jddtj|jdd tj|jd!d!t"|jd#d#td$%|j atjjtd&}tjjtd'}t||}t jr td(yt jrt!|t d)St j"rt!|t d*St j$rt!|t d+St j&r td(yt j(rt!|t d,St j*rt!|t d-St j,r)t/t1|t d.d/}t3|yt j4rt1|t d0}t/|d1}t/|d2}d3|vr|d3rd3nd4}d5|vr |d5r|d6z}n|d7z}nd8}td9|t3|d:t7d;|t7d<|yt j8rt3t1|t d=d>d?d@yt j:rt3t1|t dAyt j<rt1|t dB} t/| dC} t/| dDj?} t/| d5j?} t/| dEj?} tA| D]9}dF}|| vrdG}dH}|| vs|| vrdI}dH}|| vr || vrdJ}ndK}t|dL|||;yt jBrct1|t dM} tdNt jDdOtdPt3| dQdRdSdTtdUt3| dVdWdXdYyt jFrqt1|t dM} tdZt jDdOtdPt3| dQd[d\dRtdUt3| d]d^d_d`t3| dadbdcyt jHrtddt1|t de}tKjLjK|dfdgdhdidjdkidli}t1|t dm|}tKjLjK|yt jNrVdnd/doii}t1|t dp|}tdqt jDdOtdrt/|dsDcgc]}tdt|c}tdu|jQdvdwdx|vr4tdyt/|dxDcgc]}tdt|c}n tdzd{|vr4td|t/|d{Dcgc]}tdt|c}n td}do|vrE|dor@td~|dojSDcgc]\}}tdt|dL|c}}ytdt jDdOt1|t d}t/|d}d}|Dcgc]}|jQ|ds|}}tddj|dt7d|t3|dt3|dd}|Dcgc]}|jQ|ds|}}dj|}tU|dk(rd}td|d}|ddkDr|ddkr|dd}td|ddd}|jQ|dd} | s d|dd} td| dF}!|jQdddk7rdG}!td|!dddddddd}t1|t d}"td|jQ|"ddt3|"dddd}#td|#jQ|"dddFdGd}$|$jQ|"dd}%|%r|%dz}%n|$jQ|"dd}%td|%t1|t d}&t/|&jQdgj?}'tddj|'t1|t d}(ddd})|)jQ|(dd}*td|*ycc}wcc}wcc}wcc}}wcc}wcc}w)Nzethtool wannabe) descriptionz--json)actionz--show-priv-flagsz--set-priv-flagsz --show-eeez --set-eeez-az --show-pausez-Az --set-pausez-cz--show-coalescez-Cz--set-coalescez-gz --show-ringz-Gz --set-ringz-kz--show-featuresz-Kz--set-featuresz-lz--show-channelsz-Lz--set-channelsz-Tz--show-time-stampingz-Sz --statisticsr@)metavartyper*)rVrWnargsz ethtool.yamlzgenetlink-legacy.yamlznot implementedzeee-setz pause-setz coalesce-setz channels-setz rings-setz privflags-getflagszeee-getz modes-oursz modes-peerenableddisabledactivez - activez - inactivez not supportedz EEE status: )z tx-lpi-timerzTx LPIzAdvertised EEE link modesz&Link partner advertised EEE link modesz pause-get)autoneg Autonegotiater!)rxRXr!)txTXr!z coalesce-getz features-gethwwantednochanger#r"rOz [fixed]z [requested on]z [requested off]r$z channels-getzChannel parameters for :zPre-set maximums:)zrx-maxra)ztx-maxrc)z other-maxOther)z combined-maxCombinedzCurrent hardware settings:)zrx-countra)ztx-countrc)z other-countrh)zcombined-countrizRing parameters for )z rx-mini-maxRX Mini)z rx-jumbo-maxRX Jumbo)r`ra)zrx-minirj)zrx-jumbork)rbrc)z rx-buf-lenz RX Buf Len)zcqe-sizezCQE Size)ztx-pushzTX Pushr!zNIC statistics:z strset-getgroupsrrNzeth-macT)r/r1)sizerMz stats-getrstatsz tsinfo-getzTime stamping parameters for z Capabilities: timestamping zPTP Hardware Clock: z phc-indexnoneztx-typesz"Hardware Transmit Timestamp Modes:z'Hardware Transmit Timestamp Modes: nonez rx-filterszHardware Receive Filter Modes:z#Hardware Receive Filter Modes: nonez Statistics:z Settings for z linkmodes-getours)TPAUIBNCMIIFIBRE BackplaneFzSupported ports: [ r3z ]zSupported link modes)PausezSupported pause frame user)AutonegzSupports auto-negotiationr)NonePSBASERLLRSrz Not reportedzSupported FEC modes: zUnknown!r<lzMb/szSpeed: HalfFull)rrduplexz Unknown! ()zDuplex: r^zAuto-negotiation: z Twisted PairrtrvrwruzDirectly Attached Copperr{)rrr z linkinfo-getzPort: portrh)phyaddrPHYADInternalExternalz Transceiver: transceiverUnknown)rr z tp-mdix-ctrlz (forced)ztp-mdixzUnknown (auto)zMDI-X: z debug-getmsgmaskzCurrent message level: z linkstate-getr rlinkunknownzLink detected: )+argparseArgumentParser add_argumentBooleanOptionalActionstr parse_argsrospathr8rrrset_priv_flagsrset_eeerB set_pause set_coalesce set_features set_channelsset_ringshow_priv_flagsrRrKr%show_eeer= show_pause show_coalesce show_featuresr'sorted show_channelsr@ show_ring statisticsrFrGshow_time_stampingr)r6r )+parserr-schemarrZeeerrpeerstatusr+ available requestedr] never_changedfr1fixedrstrsetrsptsinfor;r: linkmodessupported_portspports supported_fecfecfec_strr< duplex_modesrr^linkinfor mdix_ctrlmdixdebugr linkstatedetected_statesdetecteds+ rmainr}s  $ $1B CF )G)GH +H4R4RS *83Q3QR  X-K-KL  H,J,JK nX5S5ST mH4R4RS /8V8VW .x7U7UV mH4R4RS l83Q3QR /8V8VW .x7U7UV /8V8VW .x7U7UV 4X=[=[\ nX5S5ST (= SD    D 77<< N 3D WW\\*,(? @F D& !C    ||Cy)) ~~C{++ C~..    C~.. }}C{++ VC?HIE }}S$ *C -.C -.  "%i.YjF33x=+--/$F VH%&C34/6  "AEF{E !Q-%7"CI~;+C,C QCr%u- .!#$  sD.1 ' }A67 !"E   " (  * *+E   $ *  ,  ~~sD.1 $T[[M34 !"E  & (    *+E  " $    E ( $ * ,    T<0%%f- &6     S$ S1%%c*   W   T<5 -dkk]!<= o".vn/E"FG"FQA3x"FG $VZZ V%D$EFG   6 7&26*3E&F G&FURs8_&F G ; < 6 ! 2 3&26,3G&H I&HURs8_&H I 7 8 f  - .4Wo.C.C.E F.EdaURs"QC= !.E F M$++a ()sD/2I  &) *DHO( ?ADHHQ,>aE ? 0 34&-BCDE4M$ ;}!E(:A}C ;hhsmG 3x1}  !' +, EA)G"4z"AW%&d+ GE7 L  i14 8F i12!4 HVH G}}Y"a' wi ()) Ec40H F599Xf-w78 9:./K M+//(=*A9MN OPI ==.14 8D k!}}Xi02BC GD6  3k *E599Y3499;G #CHHW$5#6 78sD/2IO ""9V#4i@H OH: &'Q H H J G @ rs   X&..077@@BC$6"2( (*("|(|  zFr