HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/exabgp/netlink/__pycache__/old.cpython-37.pyc
B

RP�e�a�@s\ddlZddlZddlmZddlmZddlmZddlmZddlm	Z	ye
ed�Wnek
rved��YnXGd	d
�d
e
�ZGdd�de�ZGd
d�de�ZGdd�de�ZGdd�de
�ZGdd�de�ZGdd�de
�ZGdd�de
�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�ZGd#d$�d$e�ZdS)%�N)�pack)�unpack)�calcsize)�
namedtuple)�concat_bytes_i�
AF_NETLINKz;This module only works on unix version with netlink supportc"@sTeZdZddddddddd	d
ddd
ddddddddddddddddddd d!d"�!Zd#S)$�NetMaskz255.255.255.255z255.255.255.254z255.255.255.252z255.255.255.248z255.255.255.240z255.255.255.224z255.255.255.192z255.255.255.128z
255.255.255.0z
255.255.254.0z
255.255.252.0z
255.255.248.0z
255.255.240.0z
255.255.224.0z
255.255.192.0z
255.255.128.0z255.255.0.0z255.254.0.0z255.252.0.0z255.248.0.0z255.240.0.0z255.224.0.0z255.192.0.0z255.128.0.0z	255.0.0.0z	254.0.0.0z	252.0.0.0z	248.0.0.0z	240.0.0.0z	224.0.0.0z	192.0.0.0z	128.0.0.0z0.0.0.0)!� �������������������
���
�	��������rN)�__name__�
__module__�__qualname__ZCIDR�r,r,�C/opt/alt/python37/lib/python3.7/site-packages/exabgp/netlink/old.pyrsBrc@seZdZdS)�GlobalErrorN)r)r*r+r,r,r,r-r.>sr.c@seZdZdS)�NetLinkErrorN)r)r*r+r,r,r,r-r/Bsr/c@seZdZe�Zdd�ZdS)�SequencecCs"|j�dd�d|jd<|jdS)N�nextrr()�	_instance�get)�clsr,r,r-�__new__IszSequence.__new__N)r)r*r+�dictr2r5r,r,r,r-r0Fsr0c@s�eZdZdZdZedd�Ze��Z	e
�
e
je
je�Z
Gdd�de�ZGdd�de�ZGd	d
�d
e�ZejdejdiZed
d��Zedd��Zee
jfdd��ZdS)�NetLinkRouteTr�Messageztype flags seq pid datac@seZdZdZee�ZdS)zNetLinkRoute.HeaderZIHHIIN)r)r*r+�PACKr�LENr,r,r,r-�HeaderWsr;c@seZdZdZdZdZdZdS)zNetLinkRoute.Commandr(r'r&r%N)r)r*r+Z
NLMSG_NOOP�NLMSG_ERROR�
NLMSG_DONE�
NLMSG_OVERRUNr,r,r,r-�Command\sr?c@s@eZdZdZdZdZdZdZdZeeBZ	dZ
dZdZdZ
dZd	S)
zNetLinkRoute.Flagsr(r'r%r!�iiiN)r)r*r+�
NLM_F_REQUESTZNLM_F_MULTIZ	NLM_F_ACKZ
NLM_F_ECHOZ
NLM_F_ROOTZNLM_F_MATCH�
NLM_F_DUMPZNLM_F_ATOMICZ
NLM_F_REPLACE�
NLM_F_EXCL�NLM_F_CREATEZNLM_F_APPENDr,r,r,r-�FlagsbsrEz
netlink errorznetlink overruncCsBt�|�}|jjt|�t|�}t|jj|||||j�||S)N)�
Attributes�encoder;r:�lenrr9�pid)r4�dtype�seq�flags�body�
attributes�attrs�lengthr,r,r-rGys
zNetLinkRoute.encodec	csrxl|rlt|jj|d|jj��\}}}}}t|�|kr>td��|�||||||jj|��V||d�}qWdS)NzBuffer underrun)rr;r9r:rHr/�format)r4�datarPZntyperLrKrIr,r,r-�decodes$ zNetLinkRoute.decodeccs�t�}|�|||td|�i�}|j�|�xz|j�d�}xh|�|�D]Z\}}}	}
}|	|krj|jrbqDtd��|t	j
jkr~t��qD||j
kr�t|j
|��qD|VqDWq,WdS)NZBxxxi�	znetlink seq mismatch)r0rGr�netlink�send�recvrS�_IGNORE_SEQ_FAULTSr/r7r?r=�
StopIteration�errors)r4rJZhflags�family�sequence�messagerR�mtyperLrKrIr,r,r-rU�s
zNetLinkRoute.sendN)r)r*r+rW�
NETLINK_ROUTErrQ�os�getpidrI�socketr�SOCK_RAWrT�objectr;r?rEr<r>rY�classmethodrGrS�	AF_UNSPECrUr,r,r,r-r7Ns

	r7c@seZdZdS)�AttributesErrorN)r)r*r+r,r,r,r-rf�srfc@sDeZdZGdd�de�ZGdd�de�Zedd��Zedd��Zd	S)
rFc@seZdZdZee�ZdS)zAttributes.HeaderZHHN)r)r*r+r9rr:r,r,r,r-r;�sr;c@s,eZdZdZdZdZdZdZdZdZ	dZ
d	S)
zAttributes.Typerr(r'r&r%r$r#r"N)r)r*r+Z
IFA_UNSPECZIFA_ADDRESSZ	IFA_LOCALZ	IFA_LABELZ
IFA_BROADCASTZIFA_ANYCASTZ
IFA_CACHEINFOZ
IFA_MULTICASTr,r,r,r-�Type�srgccs�x||r|t|jj|d|jj��\}}t|�|krDtdt|�|f��||jj|�}||fV|t|dd�dd�}qWdS)NzBuffer underrun %d < %dr&r%)rr;r9r:rHrf�int)r4rRrP�atype�payloadr,r,r-rS�s
zAttributes.decodecs&�fdd��t�fdd�|��D��S)NcsRddd�}�jjt|�}t�jj||�|}||�t|�}|rN|d|7}|S)Nr%cSs||d|d@S)Nr(r,)rP�tor,r,r-�pad�sz/Attributes.encode.<locals>._encode.<locals>.pad�)r%)r;r:rHrr9)rirjrlrP�raw)r4r,r-�_encode�s
z"Attributes.encode.<locals>._encodec3s|]\}}�||�VqdS)Nr,)�.0�k�v)ror,r-�	<genexpr>�sz$Attributes.encode.<locals>.<genexpr>)r�items)r4rNr,)ror4r-rG�szAttributes.encodeN)	r)r*r+rcr;rgrdrSrGr,r,r,r-rF�s

rFc@sReZdZedd�ZGdd�de�Zdd�Zdd�Ze	j
je	j
jBe
jfd	d
�ZdS)�_MessageZParentzto be subclassedc@seZdZdZdZdS)z_Message.Header�rN)r)r*r+r9r:r,r,r,r-r;�sr;cCs
||_dS)N)�route)�selfrwr,r,r-�__init__�sz_Message.__init__cCsLtt|jj|d|jj���}t�||jjd��}|�t|��|j	|�S)N)
�listrr;r9r:rFrS�appendr6rQ)rxrRZ	extractedrNr,r,r-rS�sz_Message.decodeccs*x$|j�|||�D]}|�|�VqWdS)N)rwrUrS)rxrirLrZrRr,r,r-�extract�sz_Message.extractN)r)r*r+rrQrcr;ryrSr7rErArBrarer|r,r,r,r-ru�s

ruc@sNeZdZGdd�de�Zedd�ZGdd�de�ZGdd�de�Zd	d
�Z	dS)�Linkc@seZdZdZee�ZdS)zLink.HeaderZBxHiIIN)r)r*r+r9rr:r,r,r,r-r;�sr;ZInfoz)family type index flags change attributesc@seZdZdZdZdZdZdS)zLink.CommandrrrrN)r)r*r+ZRTM_NEWLINKZRTM_DELLINK�RTM_GETLINKZRTM_SETLINKr,r,r,r-r?�sr?c@s<eZdZGdd�de�ZGdd�de�ZGdd�de�ZdS)z	Link.Typec@seZdZejZejZdS)zLink.Type.FamilyN)r)r*r+ra�AF_INET�AF_INET6r,r,r,r-�Familysr�c@sXeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdS)zLink.Type.Devicer(r'r%r!rr	�@�r@iiiii i@i�iiiN)r)r*r+ZIFF_UPZ
IFF_BROADCASTZ	IFF_DEBUGZIFF_LOOPBACKZIFF_POINTOPOINTZIFF_NOTRAILERSZIFF_RUNNINGZ	IFF_NOARPZIFF_PROMISCZIFF_ALLMULTIZ
IFF_MASTERZ	IFF_SLAVEZ
IFF_MULTICASTZIFF_PORTSELZ
IFF_AUTOMEDIAZIFF_DYNAMICZIFF_LOWER_UPZIFF_DORMANTZIFF_ECHOr,r,r,r-�Device
s&r�c@s,eZdZdZdZdZdZdZdZdZ	dZ
d	S)
zLink.Type.Attributerr(r'r&r%r$r#r"N)r)r*r+�IFLA_UNSPEC�IFLA_ADDRESS�IFLA_BROADCAST�IFLA_IFNAME�IFLA_MTU�	IFLA_LINK�
IFLA_QDISC�
IFLA_STATSr,r,r,r-�	Attribute!sr�N)r)r*r+rcr�r�r�r,r,r,r-rgsrgcCs|�tjj�S)N)r|r}r?r~)rxr,r,r-�getLinks+sz
Link.getLinksN)
r)r*r+rcr;rrQr?rgr�r,r,r,r-r}�s

&r}c@sNeZdZGdd�de�Zedd�ZGdd�de�ZGdd�de�Zdd	�Z	d
S)�Addressc@seZdZdZee�ZdS)zAddress.HeaderZ4BiN)r)r*r+r9rr:r,r,r,r-r;9sr;z-family prefixlen flags scope index attributesc@seZdZdZdZdZdS)zAddress.CommandrrrN)r)r*r+ZRTM_NEWADDRZRTM_DELADDR�RTM_GETADDRr,r,r,r-r??sr?c@sLeZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Zd	S)
zAddress.Typec@seZdZejZejZdS)zAddress.Type.FamilyN)r)r*r+rarr�r,r,r,r-r�Esr�c@seZdZdZdZdZdZdS)zAddress.Type.FlagrN)r)r*r+ZIFA_F_SECONDARYZIFA_F_PERMANENTZIFA_F_DEPRECATEDZIFA_F_TENTATIVEr,r,r,r-�FlagIsr�c@s eZdZdZdZdZdZdZdS)zAddress.Type.ScoperN)r)r*r+�RT_SCOPE_UNIVERSE�
RT_SCOPE_SITE�
RT_SCOPE_LINK�
RT_SCOPE_HOST�RT_SCOPE_NOWHEREr,r,r,r-�ScopeQs
r�c@steZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)zAddress.Type.Attributerr(r'r&r%r$r#r"r!r rrrrrrrrrrrrrrrrN)r)r*r+r�r�r�r�r�r�r�r�Z	IFLA_COSTZ
IFLA_PRIORITYZIFLA_MASTERZ
IFLA_WIRELESSZ
IFLA_PROTINFOZIFLA_TXQLENZIFLA_MAPZIFLA_WEIGHTZIFLA_OPERSTATEZ
IFLA_LINKMODEZ
IFLA_LINKINFOZIFLA_NET_NS_PIDZIFLA_IFALIASZIFLA_NUM_VFZIFLA_VFINFO_LISTZIFLA_STATS64Z
IFLA_VF_PORTSZIFLA_PORT_SELFr,r,r,r-r�Xs4r�N)r)r*r+rcr�r�r�r�r,r,r,r-rgDsrgcCs|�tjj�S)N)r|r�r?r�)rxr,r,r-�getAddressestszAddress.getAddressesN)
r)r*r+rcr;rrQr?rgr�r,r,r,r-r�8s

0r�c@sNeZdZGdd�de�Zedd�ZGdd�de�ZGdd�de�Zdd	�Z	d
S)�Neighborc@seZdZdZee�ZdS)zNeighbor.HeaderZBxxxiHBBN)r)r*r+r9rr:r,r,r,r-r;�sr;z(family index state flags type attributesc@seZdZdZdZdZdS)zNeighbor.Commandr
rrN)r)r*r+ZRTM_NEWNEIGHZRTM_DELNEIGH�RTM_GETNEIGHr,r,r,r-r?�sr?c@sLeZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Zd	S)
z
Neighbor.Typec@seZdZejZejZdS)zNeighbor.Type.FamilyN)r)r*r+rarr�r,r,r,r-r��sr�c@s0eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
S)zNeighbor.Type.Stater(r'r%r!rr	r�r�rN)r)r*r+ZNUD_INCOMPLETEZ
NUD_REACHABLEZ	NUD_STALEZ	NUD_DELAYZ	NUD_PROBEZ
NUD_FAILEDZ	NUD_NOARPZ
NUD_PERMANENTZNUD_NONEr,r,r,r-�State�sr�c@seZdZdZdZdZdS)zNeighbor.Type.Flagr(r!r�N)r)r*r+ZNTF_USEZ	NTF_PROXYZ
NTF_ROUTERr,r,r,r-r��sr�c@s eZdZdZdZdZdZdZdS)zNeighbor.Type.Attributerr(r'r&r%N)r)r*r+Z
NDA_UNSPECZNDA_DSTZ
NDA_LLADDRZ
NDA_CACHEINFOZ
NDA_PROBESr,r,r,r-r��s
r�N)r)r*r+rcr�r�r�r�r,r,r,r-rg�srgcCs|�tjj�S)N)r|r�r?r�)rxr,r,r-�getNeighbors�szNeighbor.getNeighborsN)
r)r*r+rcr;rrQr?rgr�r,r,r,r-r��s

r�c@s^eZdZGdd�de�Zedd�ZGdd�de�ZGdd�de�Zd	d
�Z	dd�Z
d
d�ZdS)�Networkc@seZdZdZee�ZdS)zNetwork.HeaderZ8BIN)r)r*r+r9rr:r,r,r,r-r;�sr;r�zBfamily src_len dst_len tos table proto scope type flags attributesc@seZdZdZdZdZdS)zNetwork.CommandrrrN)r)r*r+�RTM_NEWROUTE�RTM_DELROUTE�RTM_GETROUTEr,r,r,r-r?�sr?c@sleZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGd	d
�d
e�ZGdd�de�Z	d
S)zNetwork.Typec@seZdZdZdZdZdZdS)zNetwork.Type.Tabler���N)r)r*r+ZRT_TABLE_UNSPECZRT_TABLE_DEFAULT�
RT_TABLE_MAINZRT_TABLE_LOCALr,r,r,r-�Table�sr�c@sHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdS)zNetwork.Type.Protocolrr(r'r&r%r!r rrrrrrrrN)r)r*r+Z
RTPROT_UNSPECZRTPROT_REDIRECTZ
RTPROT_KERNELZRTPROT_BOOTZ
RTPROT_STATICZRTPROT_GATEDZ	RTPROT_RAZ
RTPROT_MRTZRTPROT_ZEBRAZRTPROT_BIRDZRTPROT_DNROUTEDZRTPROT_XORPZ
RTPROT_NTKZRTPROT_DHCP�
RTPROT_EXABGPr,r,r,r-�Protocol�sr�c@s eZdZdZdZdZdZdZdS)zNetwork.Type.Scoper��r�r�r�N)r)r*r+r�r�r�r�r�r,r,r,r-r��s
r�c@s<eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
S)zNetwork.Type.Typerr(r'r&r%r$r#r"r!r rrN)r)r*r+Z
RTN_UNSPECZRTN_UNICASTZ	RTN_LOCALZ
RTN_BROADCASTZRTN_ANYCASTZ
RTN_MULTICASTZ
RTN_BLACKHOLEZRTN_UNREACHABLEZRTN_PROHIBITZ	RTN_THROWZRTN_NATZRTN_XRESOLVEr,r,r,r-rg�srgc@seZdZdZdZdZdZdS)zNetwork.Type.Flagr@iiiN)r)r*r+ZRTM_F_NOTIFYZRTM_F_CLONEDZRTM_F_EQUALIZE�RTM_F_PREFIXr,r,r,r-r��sr�c@s@eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdS)zNetwork.Type.Attributerr(r'r&r%r$r#r"r!r rrrN)r)r*r+Z
RTA_UNSPECZRTA_DSTZRTA_SRCZRTA_IIFZRTA_OIFZRTA_GATEWAYZRTA_PRIORITYZRTA_PREFSRCZRTA_METRICSZ
RTA_MULTIPATHZRTA_FLOWZ
RTA_CACHEINFOZ	RTA_TABLEr,r,r,r-r�sr�N)
r)r*r+rcr�r�r�rgr�r�r,r,r,r-rg�srgcCs|�tjj�S)N)r|r�r?r�)rxr,r,r-�	getRoutesszNetwork.getRoutesccs�tjj}|tjjO}|tjjO}tj}t�}|�|dddt	j
jjt	j
j
jt	j
jjdt	j
jj|�
}x |�t	jj||�D]
}|VqtWdS)Nrr	)r7rErArDrCrarrFrQr�rgr�r�r�r�r�r�r�r�r|r?r�)rxZ
network_flagsrZrNZneighbor�_r,r,r-�newRoutes$zNetwork.newRoutecCs|�tjj�S)N)r|r�r?r�)rxr,r,r-�delRoute9szNetwork.delRouteN)r)r*r+rcr;rrQr?rgr�r�r�r,r,r,r-r��s
Jr�c@s<eZdZGdd�de�ZGdd�de�ZGdd�de�ZdS)�TCc@seZdZdZee�ZdS)z	TC.HeaderZBxxxiIIIN)r)r*r+r9rr:r,r,r,r-r;Msr;c@seZdZdZdZdZdS)z
TC.Command�$�%�&N)r)r*r+ZRTM_NEWQDISCZRTM_DELQDISCZRTM_GETQDISCr,r,r,r-r?Qsr?c@seZdZGdd�de�ZdS)zTC.Typec@s,eZdZdZdZdZdZdZdZdZ	dZ
d	S)
zTC.Type.Attributerr(r'r&r%r$r#r"N)r)r*r+Z
TCA_UNSPECZTCA_KINDZTCA_OPTIONSZ	TCA_STATSZ
TCA_XSTATSZTCA_RATEZTCA_FCNTZ
TCA_STATS2r,r,r,r-r�Wsr�N)r)r*r+rcr�r,r,r,r-rgVsrgN)r)r*r+rcr;r?rgr,r,r,r-r�Lsr�c@s,eZdZGdd�de�ZGdd�de�ZdS)�Firewallc@seZdZdZee�ZdS)zFirewall.HeaderZBxxxIN)r)r*r+r9rr:r,r,r,r-r;�sr;c@seZdZGdd�de�ZdS)zFirewall.Packetc@seZdZdZee�ZdS)zFirewall.Packet.HeaderZ
IIIIIIIHHHHIIN)r)r*r+r9rr:r,r,r,r-r;�sr;N)r)r*r+rcr;r,r,r,r-�Packet�sr�N)r)r*r+rcr;r�r,r,r,r-r��sr�)r_ra�structrrr�collectionsrZexabgp.utilr�getattr�AttributeError�ImportErrorrcr�	Exceptionr.r/rhr0r7rfrFrur}r�r�r�r�r�r,r,r,r-�<module>	s2&U)&BK:<