mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 09:26:58 +02:00
usr(iproute2): move to coreos-overlay
This commit is contained in:
parent
c68a82fcae
commit
cb76a0fa70
1077
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/ChangeLog
vendored
Normal file
1077
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/ChangeLog
vendored
Normal file
File diff suppressed because it is too large
Load Diff
60
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/Manifest
vendored
Normal file
60
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/Manifest
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
AUX iproute2-2.6.26-ldflags.patch 330 SHA256 c7206270a72a9e0aa66ddf641d10a384501e58b87917b1e3161f297349b8ec13 SHA512 f85761a4e6861bb0b66a455aaf09e7bf13a0df8f05f62207390a53a4587a0a52418469f8478989d7dcf3c640436e451fe7f33dfa62ae6ca87648da3990fd3275 WHIRLPOOL 6eac5c446cee82a785c3770790ade86960ba99ae17cbb6eb3d6f8cd50cadddc85ff9f3da70d212c6b42e12e725f9ab2f3ea4a219b846d67b8f79ea6e8221d096
|
||||
AUX iproute2-2.6.29.1-flush.patch 5669 SHA256 13007eb0335e4a8a88f4946cea9fc61ee4fbe840ce308279696212b11aa1928a SHA512 e6d9898f420386507938f12b486383ecc057dda2862117372b0481fd7807d89bd14f8d6e17cb84e83b0eab7eadac8662e6d4da9d51acffc6bc558ccbebdd7157 WHIRLPOOL 1153a05968f3a17b44653bd673d717044cc445b97a57873055971ad3903f8ad306935edb227aed4c3e277907d92171d61f60300d6ff4b437ba81ea12af26fe40
|
||||
AUX iproute2-2.6.29.1-hfsc.patch 37615 SHA256 4d41873a00841749a47142dc5591572b2d7df3b4d4c56d8dcebeb3c4cab30672 SHA512 98a4778434d0014c0032dd6cb82c8d616406f36ab8d6b5269046b5b5bd12b7fd0b83aedaae2c95522a23c1df7b34fcd0ac2e5b39fa23ed66e98970c794fe461c WHIRLPOOL 99e09caf201f710ef1d99418f736cf56b0033db0fac9c2c2e981df15eec5f8d38707c54a728d220d770e2b2e53df9ef97f30ae1556165f55bdc0cf9687622350
|
||||
AUX iproute2-2.6.35-cached-routes.patch 973 SHA256 7b8aec2ea23289eff65ee3ff42e9203c163ec43e458ec8a7963f990d5f555389 SHA512 e2574b09a740a530291be542af104023191624a0d79f4c19c5ea39da99a57f428f8ac4156163983a82ebe24f9a0acc43dd654df402830dd17555176387b65faa WHIRLPOOL e98c60aac031d1cdeef0edf67e46e2235f21b5f2ec00a4b883f884b54bd47f53880e56a2c307febf2f01c3ef1dbae389408ae180d73675942f58270eeca13b1e
|
||||
AUX iproute2-2.6.35-no-iptables.patch 320 SHA256 b63d367005b9a86ef68634d657242e1abd58a9f8d5eb58e8beea97f7b8cfe666 SHA512 b37f3063cb7ca5c59e8670f7fc0874ee4da90ff25909be5b930df2e6c367ccc9fee17f02ccec39fa2cab13c4791bc3a2fc4d7746a61eede42c31bf6a91d8eb24 WHIRLPOOL bb01f8af995eb79b6922efb3a46eadb30eb741c95d6f60d917aa5180f06a9ebe8c7195afe8b965e57c2271353a619ec6eb9a75dc59f665dde8a6e9ca2c0db0a2
|
||||
AUX iproute2-2.6.35-no-ipv6.patch 859 SHA256 643429d9dca71e505bf3ab5a8e35a89b1014cd4ffec2f77e0abc1fd3997579d3 SHA512 4a7ef32115165e9b6c175127e5b60a21f305368562b788b2d68e1fcf5b9fcfdb4fe760a100ae3aed4481feac0fceb83e22bda65a129a153f2f26fb521729a459 WHIRLPOOL a30ff83c22cc86079242137f5985206d6ac3dac4e12d6e739dbbcb9fb7c7b59a5c427c9992fd1250c6677f056f2e0391c5f9bbcad60b2d491dc5c6bc0fb78872
|
||||
AUX iproute2-2.6.35-xtables.patch 1027 SHA256 4f2227b31407002dcad8d547fe61e8b5aaba7b70a11ea20b9bfb9583ac105801 SHA512 f01e085052216ef15f19e7fa4237a2fb76411a72ead70831db01c1a229832242cf0df2679f505c3bb8ac78509eacfeac56cc13c5bd8cc5a7674e069bba4dba44 WHIRLPOOL 001b5fe46c7582d500c98888addd226fb14dceeb1fdea4929bed07003feeccea1c79065ffe00a90d61b8d1c2a29037e1cca4608b419463c33c493ac0b62c3558
|
||||
AUX iproute2-2.6.38-parallel-build.patch 1191 SHA256 fe3cb7e51398c6f6929e93ea03a822ed404d0e1cb302f4ca9e8fcb350b1abf18 SHA512 0d2546ef7474d84726e414ab774401ca6c8fd727cc4d66a111dd96dd577a31ffa74dd8144d943b633e2cd1e0a7c3379e5cd4866bc00a0be082628611fbd8d7df WHIRLPOOL 2775b4fbffd715b11c12de18a77581bfb525fd3e6e9d2e9a7776370961d46b5db43456230afc133fb22c698905dab646334a6db828b012de9ec627a363f1b126
|
||||
AUX iproute2-3.1.0-mtu.patch 1649 SHA256 d8d1d3b81a3fd5674e6c9e202bce9e84f41b579ba2c6a554df3346f4642715af SHA512 5479c2085b4aca958a89d3e265ebc3763c9e7cb273bd4046d7b7585209739f75ff04cc9b84d8eb9e3afae821ff788f0f0c7ab443260ab07943b6fad6946403e1 WHIRLPOOL b813f1d9dcdbfb525fb07a462f7faf1c13117dd3e9e584b1a033cb69f3dad9d4b8e5120f8512185f24769e6be0aabd6635ad3996342dc210ff513866e7638502
|
||||
AUX iproute2-3.1.0-no-ipv6.patch 1352 SHA256 ee93d86903e6f0aff54cd3c861f91e3d37639d7fc975c9c088f281f1ca8017da SHA512 b80f190d58c0ba5ab61185648c039133d870f72e9b270e905cc93aa335a20c1d880b00dd32eb7cd427c40f4e3182936b6b3156884ebf9ff976da0b76759ca9ab WHIRLPOOL ea155aa0e5c23b78df11b38613a763ac3e4674fd0c8aebad2f25c975e668ef00bd4b47a44e69f5bf5557d547436434a899dcfbd723d64828aaded76b207708db
|
||||
AUX iproute2-3.6.0-pkg-config.patch 2286 SHA256 46649856ad9e735e403bc0654d1c1afceb13a0566079ad52d62575efec4443d3 SHA512 ab90d85930357e5ab6fcf0b26d4661b485db99f9617c44c714b0035da8259f65f60f637be7f1e8d74e57f583251e1e28b11dc41a793d49b2abe87c0e458f2d28 WHIRLPOOL 14901196812106789df01f1459e8abe7a68db699f2e3416d3d0e30ac33fc9638eeb0c0d443eadbde312fbbdf49c15f9c30b3ce303bc3e42aff7a3292c1de8d39
|
||||
AUX iproute2-3.7.0-clang.patch 2636 SHA256 f56ba110293cf383e67e18df494cbbf2d934e79ed3b21ddd8644c78183d27e16 SHA512 f89dc88ddbd2ffab3d6735261c2117e6cd4a92111fe2b167d453112ff90ce8fc2dd8de83eae3a76b2eed5dedf4a5f631b9ed48f4427acbfaa75382fef1fa1783 WHIRLPOOL a4272f6d58672a4039df57a6585c935af50bbf8f6541d39fefc59acb80ec44b0da18ef5bb2c05f963e6376bc28d1cf9eab3b80c570019ee77bb651d70af94e3d
|
||||
AUX iproute2-3.7.0-man7.patch 1350 SHA256 71653ab06c937de2c01370b39c16e5a9d22c1b25d8b5ade3febff7be888ad29e SHA512 0fdfa23e7c51b09335ef32b8baa53a6fd60490b5a531252a5b192f4470e08b4acec2cd568d5644df203e72b62ff0fcf656a57c089ce4511db2a5fe8b10f01d0a WHIRLPOOL 6afd7653447a17b9ecd40d44490a01e610f9fc5f281081508b5421498460ae58bf37ef5fd7b36e4928a0ecb7ec404f50f3d984812d0e33ce08cd735da8e7e03c
|
||||
AUX iproute2-3.8.0-old-mount-libc.patch 871 SHA256 dc9fc407b09763f79663dbad627961f8a3446881737cc666f0cb67235f160d51 SHA512 cda73ce07c21d18c68fcff08e282e87a2d4b53cf7779e8a1ef669d7275974c8f3638ca530031aafcfc7eb4885264ceb7abb308b9da6f5568889a84cb4c7df1f9 WHIRLPOOL d2057e6bad82dce7844886d551d70af9207e111494b9cc23abc433857741afa48f30671091c8821a60aaa07ca621f243fbeee10322da11ac44d02f4f588b88bf
|
||||
DIST iproute2-2.6.29-1.tar.bz2 367905 SHA256 13ffb0ffe5404c9dcc8bed8c692f07d934aa3fd44661df79dd1efbb37f83fb9b SHA512 5c8e9ba81c6c6566aa3827bce9e1132a166a2a620a38de226f36779c45d6c1efa1d591a845c82c0456508448b555863199aeda3a5d15f5b10ddc093b9717c3e1 WHIRLPOOL 107eb626d3d5feff3a476c41a392b19e12ae240eb06815886a7fb2cdd2e85ce05f3af80d1cf42368ee8f9957c3502c4facbd5ec937e4da0986d8f1f5aaa5dd40
|
||||
DIST iproute2-2.6.35.tar.bz2 387193 SHA256 8ab2f47e129925fb8acb09421008d07aeafa01b2ddd1fcba4a056de079f090a3 SHA512 df93100d350f3153e6f7ca627ebb207af53a2f99a1187a12dcc046da9d87aa847817f77a50c3fed86034437d7394b376b7b316449690150ed2e3db2d998b6a94 WHIRLPOOL 865a2570314f7b4bc32c6d7c722ecbcfc007662c29801cd9402161943e9d9f7a1e7b0954ffbfa215960056c9fe1e1d327dcb7f0be899f398fd4fe5a0c14d9eb4
|
||||
DIST iproute2-2.6.38.tar.bz2 390166 SHA256 47629a4f547f21d94d8e823a87dd8e13042cadecefea2e2dc433e4134fa9aec4 SHA512 b3a0c15c41184554da1b7f2521f5f0586ae0df1a62899afe2514d4adb93f05ecfd10fc964e027ec8f83a990586f5858b0c9fb24ea8c78477ec6c7c51593c54bd WHIRLPOOL bbd3a415c8396adf1ab63f2f3c91591c65809f8da12f6333f6ea66997cbca428ec2339759f53d0bcc41a1e9c85718e598efde0206a000d394560cacc9a78e8cc
|
||||
DIST iproute2-3.1.0.tar.bz2 404147 SHA256 c9d6366a3835a244008170e6d7752ca08414270175fce575e4f516f057688df1 SHA512 cc56448b3dc119022301cfbbcafc7a78568172e95565da6f71a23f05f8d95be5b86a574a3d0915f6b6f2018ec785d31123050a685ebe9108cd291f4cc4fcb250 WHIRLPOOL ec790b94c02132b2aea598a91095f049e9480512919bc6257a61aa9c063838a5aa2beba06ecdb5066fd421abfa8c73617f61c7f08c05287a367d3683f5745537
|
||||
DIST iproute2-3.3.0.tar.bz2 416353 SHA256 f328ec01bac64854f477b9440b0bbeae91895b4ba266821597ceac6bd1501c3b SHA512 825b473e3fb17cf724bc389bb99dabbdabf9c5bfee89890f723027f3412a82a9c7f77ac8b792a218ff50dd552e31105206ccff1897b68fe201d83e5764032feb WHIRLPOOL 7827cb8d447eb86d89dc14dedecb94d7e1a9fc9380ee2130d28047f834f5b96045226409448a8f159501f9bd20b1eebe7c32ae17d5687c4c071459ae9c807ebc
|
||||
DIST iproute2-3.4.0.tar.xz 382092 SHA256 38e846e412b2fa235a447b50c20ad1e9770d1b3ed4d3ab18ca0b18c6e8b79ba4 SHA512 b0396ae65faa4b1966726110506fe93a9dfc4584c3287ee0867ae2d010634d0231ee6513e61fb8b0eb3d50d67ec0e1480c83c27ceb005f579df57e6d51f7ef66 WHIRLPOOL dd9d3c36e69ba840b251cd93cb605d69808851c53a0b347d6a1a1e27ecb4c3516a9c3fa943d56f5bdbdb2a545eeac6feb0be51aa4d14d07f1d07d15b764826c0
|
||||
DIST iproute2-3.5.1.tar.xz 387984 SHA256 36f2674e5436289f3ccfb0a58707aca9dcfa295d06afc36d2117674508f5ef72 SHA512 e94356d07fa6f14fe9531a39b53739fd3a293c381dd4916cbc4722f1c560c2bda5f4d567967bdd4898fd13e74a8d1773d62bd5e6072b764d3032d464cba961c8 WHIRLPOOL 37fa6430f0b604b5b623eb5ef547895cdf7ec147863e15dc2b5ae6f56c85d146b7caee9cb6516083c2f7e952f8343a2a7fecf3a2f606c4d10ca9cd7ffa6292d8
|
||||
DIST iproute2-3.6.0.tar.xz 395096 SHA256 2d17544da00e3f162139f66891c6ab5492d3cca7cfc8f7b517a5dca3c5560534 SHA512 bce4ca6efd0ff9a6e6f257fe57008bd106674aa8143935687ea2d2956fca2eaf5050f89fbc16b96fd91530a8c853f319d4cd8bb021c67e19ffb679c9b19ef15c WHIRLPOOL 98d6015d0a55ddd4695171550d33f074acc586605d6627af4e3302415caa8d1243abf47ca70b0a6a5f57c505f29be0fe5a281914b69aaa6a3cb34e9abfe1f751
|
||||
DIST iproute2-3.7.0.tar.xz 399892 SHA256 6b0e76d7adb8b9b65f70571f75d72db7c2548eff7813cace9e267065c3c0cb34 SHA512 2569931d0b2190ba5ec1a6567946d85d662cf58c75c4c4dcbc94e399003ee3794354bd8b306f186933a57340e10a227ee65a90bf0cb36d6c48ed3bc5780c69dd WHIRLPOOL de94cf9d2b03727b9e1bdb9308ae494fd92cb379b99c64122bd38e48ee6421891b9b7051955c11ea51584f3eb823eca333841726ce293550d1eab8ea1abdbdbe
|
||||
DIST iproute2-3.8.0.tar.xz 407608 SHA256 579145749f1aaf60e7c7a5de24b7f00fa2200a961094733c792b4ff139181e4f SHA512 0d93070044f573055a7cc58bd006e476f5b0fcb75cb5d49a37417aa7583e637a92e460947434cef9b9449267e4529c655a23b5ed3d549a2aba128148cb8d4ade WHIRLPOOL bfb29c34953f205f7c801a86a38f58d9352b716504649e61665ced6dd48557291412de5fd8987dbab44fbd397dab4a6b55d6c371c7cbaaea3d6e29269df115df
|
||||
DIST iproute2-3.9.0.tar.xz 412616 SHA256 16f027af432a05085813a2f859b7d42dafd29b8c035ead830d37565b7397592d SHA512 cc46518859e1b106b18b48396aca7e34af326ad34d4dc02ba3cb4401dcd00d091831ccc36e5af79b95ef89012b45a369b763328192da030a3e2180e97cac8c2a WHIRLPOOL cbca636f36af45b4a6a656817a004b97703e90037ff45a68a703c28d7b6f01c777f94c06f17d6075acffbc8f7c08ba88aee8ad0835caa43838d68b42d2a187df
|
||||
EBUILD iproute2-2.6.29.1-r1.ebuild 2745 SHA256 4ccd35f63ebd900de9b307196bdb1ecc1fd69485fe729d3459093a620f2a3a20 SHA512 dcca2b092c388cd909c1916e44a0e565b61f8a2656ee20191e2eb875ba5d7311182d44b00b6d147bd9638dece7364418524e13728dceced2fd1c28fc7485b6e7 WHIRLPOOL 95a8dd6ac557bfe11ac53d6d788ef6883459c1760f622fa898f0a8473d79eeb59caadb86ad9812c243e22d89b991aeb08b255e08fc77022ca05b3b7d1c428aed
|
||||
EBUILD iproute2-2.6.35-r2.ebuild 2619 SHA256 814d12bdbca6a20899835b41053e77a853c2964dcdcc5d799ca67f2966a13eb9 SHA512 e713e69477b9f507afe4de48e2862ef741f9a05c054025adc14b4d70c991b5b893a80e3740fd8f6ad63baebfdd32bee8e0bda85fc26f516b04459788788e9696 WHIRLPOOL 17ba37486685b865dab34cb028ec80211232237ddd5e0404063dc363fe6a26d01b2a345e32a423619d947dbf386c179316b1df7a998dd3f5bbd580ba24d2d73c
|
||||
EBUILD iproute2-2.6.35-r3.ebuild 2888 SHA256 1296925660848e80a011759ed87b4319aa5cbd22eee0668e7a1a3d29eb1aded0 SHA512 c4fb1160f11ae58f08e77c3f889255ca8e4962ab8f7837a3dba1f90a9bbb4eaa43a37954ee0e1590c0d0d29ea23f3e5220f5b8fd8c0d59eccfda46b9c545d6f3 WHIRLPOOL d13047532ad6b7d9f942663bcf436eaf7917a87d9151542d343881d9858661800e596323b70e70895cd331c4de644aa954b00b36748058c87313bdef9013f469
|
||||
EBUILD iproute2-2.6.38.ebuild 2263 SHA256 7210b6028e9532acd57e584ec1aea57b11734cdc121b97ced75dea0897f6503a SHA512 5eaa87ba4ba467cb826c7b3e652e21dc505afa9e36afef5fca75ba80fae70f207739cbd28146bb4817073719675156c5fa68799cdc6897d0f4d523a59ae3b77b WHIRLPOOL 58ec9641a824db8afbf0f60372577a5240ddd7d1375f8fdacd4c163191f6e0757f5914878c8dd26cc1069b29664275949d33842c2e5d51f0a424b795d7702587
|
||||
EBUILD iproute2-3.1.0.ebuild 2781 SHA256 dd626ee648fad23524fc67e08652645f8178d3404fddc84bb3fecf3fb6221a9f SHA512 0e5fb4480e90c2802e192a95dfbf85137036e01f518121e678d834518511713524b0cd6f7afe07fa9fc984ec291e8bff581ae60137b76f9223e42c32e214206d WHIRLPOOL e9f89e17ad4b8ee05d26b3cc7ef66b0a1fc48b33ed85d4b62e7dc64b0f575f8bfdfc62bfc9b35e65d41216308bd1cea77ee432ad0979af848711367b72ec55c5
|
||||
EBUILD iproute2-3.3.0.ebuild 2972 SHA256 1e09b07a850aea92e7e57a0adef53246ff7cc8d8498ba7ccadf8eb0cd814bebc SHA512 2ddd5321a9f378322b72fe5fd9dc7c45b6e2ef26cacf42f5d731127b8e249495e2adbb36f1972174424f28a493b4a82b5610add9961855a8559d746cdbab9eb0 WHIRLPOOL 5c3716f6ab9a18e2fea0e8acaa0e2bd347edc189e2b485e61f5373327c7f675499f7e239961697b78e21393dcde2a5994c17c420c649b3503fdfaefbcbe1fa57
|
||||
EBUILD iproute2-3.4.0.ebuild 3002 SHA256 345f9a7580ed2bb81811c60bd2a66ea580b5b10ee4dde9c3abc22d7cf21664f1 SHA512 d1dbef1e35df618cf9ee1647048f258d5bd7dd903d7face73b948293867189889fe99365d4d0e66423ccfac59ae3c271f7efbd5af37b339a944afe10511043e9 WHIRLPOOL e2edadcee3aa3bb4ccc6668e7edb32125e888f8ac0b6fa0753733494829a26f5cf70d44894b4992856210f0d85d5e4711f36c527899990c24ca19e876abbfead
|
||||
EBUILD iproute2-3.5.1.ebuild 3055 SHA256 90734a1a0822fea2d81649a2c6f06aff648903a393cb57906b560b16da41f02e SHA512 07550ab66ff8aef3afb76d5083c74548f77f9cb2a944261f2b32756011d25bafd4c83b5fafc1283ec0a96c564d84020a6b8381b55dcefab9d03fc426f31b6682 WHIRLPOOL b39b2b78640f59b7dafe3904ff245b298a9e1afd7c34c3d55fd1073b3a583fcfe28464096c4666151ff8a64f94f778007d93f8e0d91795ae6a239cd7871164c6
|
||||
EBUILD iproute2-3.6.0.ebuild 3114 SHA256 72459991b542f96e5faf4d342a2f22376b5b86925ce60f55c942b15818c930fe SHA512 4a4fd992d44ff336e11d095238829182b50384a80a981ffeddfc954384ecebb2f525e9c24930829959cf16dd474e5b0ded553b4ea41fe26379493b636e088402 WHIRLPOOL 378588c27d859d341167471cc8fb9402163b1667279696274a70355320684b231801e4501b5c65bffba85963579b985be84518917805b1633a525b2dd35a419b
|
||||
EBUILD iproute2-3.7.0.ebuild 3199 SHA256 f56b5e5c51fb9973041da16383aebc579a99c9b1f542f2807ddc619c4f07a24e SHA512 e8feff7bf4c396847c2bb2a99a62e8b2cca33c36dc8a6fb634e617dd76a2d2a5735787c8d4b1e8347ef978978b29c0ee56bf7d765d792ac95fee49829b65d508 WHIRLPOOL 25c396761d3a07ece0981082dc25c90f9264833813c60fadb275215c112b636937cc575587c3f290928f8a09a4e54ea8f0b943dc8d37dd98024620627c9229a1
|
||||
EBUILD iproute2-3.8.0.ebuild 3451 SHA256 693ccdfc5189e47bd86f0400865caa3d90cf11c0ba66dd32cf890d2aeebee87e SHA512 1bb755856ab6db55667fff6adff6bffc6c113c7675935b49a8e431ca1c46ac9b058b09da2f5e0bed2638503709806a2049652f35c8068cf0d429864a97bfb864 WHIRLPOOL aacf2f6b16f43bfe49e008eec77f1c2aef227d2e1834e658f6c5840e666c5ae428abde3166bf0867fed5bd59b09e8459b9d2eeee2ff688f51d8c28b844d9e092
|
||||
EBUILD iproute2-3.9.0.ebuild 3408 SHA256 accbf12840b91e6ba2a442f4999b69cd158c281e1d04b35a8a9166a5b6381a1d SHA512 83a761897f4238dc23d0bb5f353ac568948f336223f2bf0a4053e9ef98935d12e46fd0db6355cd7e57f7e932ea6c80cdff58ae48a5ed23affbd280f298b5f293 WHIRLPOOL 3fa222d5ec1836a01db9449662debc095260e4efa163186f8078f573579ef7162e39b7c5658b6b46b95472510b0d469760d897b1dbd1a66555b43d4738769917
|
||||
EBUILD iproute2-9999.ebuild 3055 SHA256 32b61f9313517614ffba60260c1ead2cf84fda286a74662acc5a1bd3c1c9344f SHA512 512e59cddd98de345b55adbb7c6946d837f9546359cae991815269fe3ef47785d3dceee9ca19c233d43a0af00b1cf92b2dbe31bc558e9343c44f814da1d4bd37 WHIRLPOOL 536b6da189a21e2bfb056575ca1bd3efdb428bd7f1d9240d6391dd4444946b39eb6b45838008d4e0db625c371140ecf38dc0fd0440d389985681aac023cb902c
|
||||
MISC ChangeLog 37685 SHA256 3c9a13597b237954b84914f3b2d8b5fdba4b13d470c5ef53ba106bd911f4a8a9 SHA512 2a96423d83c259b78377c2782738fe43d2577bea3ef4b75bb687785fd06c6b7c9c18ba8ab267acf78014e13bcfa91a6e1bb06c1617107f1c8002cd97b4b89970 WHIRLPOOL 1adea53e2be82cb22807b3796e937425a245a83b82c72d2b371f08dc0d78648bc3ae5dcb274de6f49a5d95ea19ee21edc7e35c642d542ab2d827c0e7e0d4a9f9
|
||||
MISC metadata.xml 317 SHA256 45312a0c8b9363b8eaa97110513ca39053ffcd967af978900ee0a01aa81c00aa SHA512 2e6ed50522276dd0b09a61ba0c68ccc226ff33b64da2af87e92e349354f379cae040eb753961aeedc2a894eb65415fba7763541efe21bf328fe0a69706aeb872 WHIRLPOOL 73003e9201c29cba545b3245b53da9c36dc4b3c209ece693a9401b954896f6db5d29b209318fb7dd1c33db8920d01e097feaa88ef4ec0cb07590e850803bce09
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQIcBAEBCAAGBQJRhJf2AAoJELEHsLL7fEFWWogQAInwod8w7njxmM12vLZa3pDi
|
||||
RV2+AQW/9CJldICeaWJ3WkK4OuOKan6FhAi4ZF64fAPieIgOAQzc0MtqTWQqxhdv
|
||||
WJFTFTLrFM1sxBfKWlLgd+wNpO6OKE4X1lVFGpiJgxn2u3U3lyFlKoJgqMTLb/ZL
|
||||
vBEMDnviNwrP0G7GuBILTSxL4PBGHt7emGe3DHIoHCcd6LDQTs+Bsy9OUhX6t/yp
|
||||
b6eZ1VjMUxEESsL08Nmg2hs6u6aG0R8+ql/k5yhYWaXsyKBXpBXGOZaPqdNXtl2m
|
||||
hWU8W/OsQ4dTaux0TgM7avPlEI7rkcobNTvL98zwsMRhzDpyJDtB7uewcbcj8Up+
|
||||
McykI7z7E3SNEIKZk+uT1RoddYlwRVVy8gPk4RtD4nHkBkCnG3BjEM0oWa9d6P4y
|
||||
s8LaRTqCeCoji7GPrK4Vy8Whu5W/hfugUq7BH/8dlSZxkKLiyVKb6H/5MblxpHj6
|
||||
t2z180raENUPOAWQtuOKcr1cJ1hsOriHZd04GwqvzOzcln5lBgJtXzqEo2hqBm0Q
|
||||
dXuG7JsvxK/ITmzn01rNdwJPEGeaex5C9SbWG5sqxQcPLD3y32KCXTfKfxUOjht/
|
||||
AoCuU+eD8lnsTpqRT4DOlnr2pYHloHTAODR7FvW7X1PDHpMbDHFLwo4eEJr3P0XY
|
||||
nFz2cepu+I7pCI6C8sL3
|
||||
=jnwf
|
||||
-----END PGP SIGNATURE-----
|
@ -0,0 +1,15 @@
|
||||
respect env LDFLAGS
|
||||
|
||||
http://bugs.gentoo.org/236861
|
||||
|
||||
--- tc/Makefile
|
||||
+++ tc/Makefile
|
||||
@@ -83,7 +83,7 @@
|
||||
rm -f emp_ematch.yacc.output
|
||||
|
||||
q_atm.so: q_atm.c
|
||||
- $(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
|
||||
|
||||
%.yacc.c: %.y
|
||||
$(YACC) $(YACCFLAGS) -o $@ $<
|
224
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-2.6.29.1-flush.patch
vendored
Normal file
224
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-2.6.29.1-flush.patch
vendored
Normal file
@ -0,0 +1,224 @@
|
||||
https://bugs.gentoo.org/274973
|
||||
|
||||
If the routing table that I wanna flush has 60 entries or more, "ip route flush
|
||||
table foo" fails with the following error:
|
||||
Failed to send flush request: Success
|
||||
Flush terminated
|
||||
|
||||
Patch by Alin Năstac <mrness@gentoo.org>
|
||||
|
||||
--- iproute2-2.6.29-1/ip/ipaddress.c
|
||||
+++ iproute2-2.6.29-1/ip/ipaddress.c
|
||||
@@ -37,6 +37,8 @@
|
||||
|
||||
#define MAX_ROUNDS 10
|
||||
|
||||
+static struct rtnl_handle rth_flush = { .fd = -1 };
|
||||
+
|
||||
static struct
|
||||
{
|
||||
int ifindex;
|
||||
@@ -339,7 +341,7 @@
|
||||
|
||||
static int flush_update(void)
|
||||
{
|
||||
- if (rtnl_send_check(&rth, filter.flushb, filter.flushp) < 0) {
|
||||
+ if (rtnl_send_check(&rth_flush, filter.flushb, filter.flushp) < 0) {
|
||||
perror("Failed to send flush request");
|
||||
return -1;
|
||||
}
|
||||
@@ -697,6 +699,9 @@
|
||||
filter.flushp = 0;
|
||||
filter.flushe = sizeof(flushb);
|
||||
|
||||
+ if (rtnl_open(&rth_flush, 0) < 0)
|
||||
+ return 1;
|
||||
+
|
||||
while (round < MAX_ROUNDS) {
|
||||
if (rtnl_wilddump_request(&rth, filter.family, RTM_GETADDR) < 0) {
|
||||
perror("Cannot send dump request");
|
||||
@@ -715,18 +720,20 @@
|
||||
printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":"");
|
||||
}
|
||||
fflush(stdout);
|
||||
+ rtnl_close(&rth_flush);
|
||||
return 0;
|
||||
}
|
||||
round++;
|
||||
if (flush_update() < 0)
|
||||
- return 1;
|
||||
+ break;
|
||||
|
||||
if (show_stats) {
|
||||
printf("\n*** Round %d, deleting %d addresses ***\n", round, filter.flushed);
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
- fprintf(stderr, "*** Flush remains incomplete after %d rounds. ***\n", MAX_ROUNDS); fflush(stderr);
|
||||
+ fprintf(stderr, "*** Flush remains incomplete after %d rounds. ***\n", round); fflush(stderr);
|
||||
+ rtnl_close(&rth_flush);
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- iproute2-2.6.29-1/ip/ipneigh.c
|
||||
+++ iproute2-2.6.29-1/ip/ipneigh.c
|
||||
@@ -32,6 +32,8 @@
|
||||
#define NUD_VALID (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE|NUD_PROBE|NUD_STALE|NUD_DELAY)
|
||||
#define MAX_ROUNDS 10
|
||||
|
||||
+static struct rtnl_handle rth_flush = { .fd = -1 };
|
||||
+
|
||||
static struct
|
||||
{
|
||||
int family;
|
||||
@@ -87,7 +89,7 @@
|
||||
|
||||
static int flush_update(void)
|
||||
{
|
||||
- if (rtnl_send_check(&rth, filter.flushb, filter.flushp) < 0) {
|
||||
+ if (rtnl_send_check(&rth_flush, filter.flushb, filter.flushp) < 0) {
|
||||
perror("Failed to send flush request");
|
||||
return -1;
|
||||
}
|
||||
@@ -391,6 +393,9 @@
|
||||
filter.flushe = sizeof(flushb);
|
||||
filter.state &= ~NUD_FAILED;
|
||||
|
||||
+ if (rtnl_open(&rth_flush, 0) < 0)
|
||||
+ return 1;
|
||||
+
|
||||
while (round < MAX_ROUNDS) {
|
||||
if (rtnl_wilddump_request(&rth, filter.family, RTM_GETNEIGH) < 0) {
|
||||
perror("Cannot send dump request");
|
||||
@@ -409,18 +414,20 @@
|
||||
printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":"");
|
||||
}
|
||||
fflush(stdout);
|
||||
+ rtnl_close(&rth_flush);
|
||||
return 0;
|
||||
}
|
||||
round++;
|
||||
if (flush_update() < 0)
|
||||
- exit(1);
|
||||
+ break;
|
||||
+
|
||||
if (show_stats) {
|
||||
printf("\n*** Round %d, deleting %d entries ***\n", round, filter.flushed);
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
- printf("*** Flush not complete bailing out after %d rounds\n",
|
||||
- MAX_ROUNDS);
|
||||
+ fprintf(stderr, "*** Flush remains incomplete after %d rounds. ***\n", round); fflush(stderr);
|
||||
+ rtnl_close(&rth_flush);
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- iproute2-2.6.29-1/ip/iproute.c
|
||||
+++ iproute2-2.6.29-1/ip/iproute.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#define RTAX_RTTVAR RTAX_HOPS
|
||||
#endif
|
||||
|
||||
+static struct rtnl_handle rth_flush = { .fd = -1 };
|
||||
|
||||
static const char *mx_names[RTAX_MAX+1] = {
|
||||
[RTAX_MTU] = "mtu",
|
||||
@@ -112,7 +113,7 @@
|
||||
|
||||
static int flush_update(void)
|
||||
{
|
||||
- if (rtnl_send_check(&rth, filter.flushb, filter.flushp) < 0) {
|
||||
+ if (rtnl_send_check(&rth_flush, filter.flushb, filter.flushp) < 0) {
|
||||
perror("Failed to send flush request");
|
||||
return -1;
|
||||
}
|
||||
@@ -1210,6 +1211,9 @@
|
||||
filter.flushp = 0;
|
||||
filter.flushe = sizeof(flushb);
|
||||
|
||||
+ if (rtnl_open(&rth_flush, 0) < 0)
|
||||
+ return 1;
|
||||
+
|
||||
for (;;) {
|
||||
if (rtnl_wilddump_request(&rth, do_ipv6, RTM_GETROUTE) < 0) {
|
||||
perror("Cannot send dump request");
|
||||
@@ -1228,6 +1232,7 @@
|
||||
printf("*** Flush is complete after %d round%s ***\n", round, round>1?"s":"");
|
||||
}
|
||||
fflush(stdout);
|
||||
+ rtnl_close(&rth_flush);
|
||||
return 0;
|
||||
}
|
||||
round++;
|
||||
--- iproute2-2.6.29-1/ip/xfrm_policy.c
|
||||
+++ iproute2-2.6.29-1/ip/xfrm_policy.c
|
||||
@@ -756,11 +756,15 @@
|
||||
struct xfrm_buffer xb;
|
||||
char buf[NLMSG_DELETEALL_BUF_SIZE];
|
||||
int i;
|
||||
+ struct rtnl_handle rth2;
|
||||
|
||||
xb.buf = buf;
|
||||
xb.size = sizeof(buf);
|
||||
xb.rth = &rth;
|
||||
|
||||
+ if (rtnl_open(&rth2, 0) < 0)
|
||||
+ exit(1);
|
||||
+
|
||||
for (i = 0; ; i++) {
|
||||
xb.offset = 0;
|
||||
xb.nlmsg_count = 0;
|
||||
@@ -783,7 +787,7 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if (rtnl_send_check(&rth, xb.buf, xb.offset) < 0) {
|
||||
+ if (rtnl_send_check(&rth2, xb.buf, xb.offset) < 0) {
|
||||
perror("Failed to send delete-all request");
|
||||
exit(1);
|
||||
}
|
||||
@@ -793,6 +797,8 @@
|
||||
xb.offset = 0;
|
||||
xb.nlmsg_count = 0;
|
||||
}
|
||||
+
|
||||
+ rtnl_close(&rth2);
|
||||
} else {
|
||||
if (rtnl_wilddump_request(&rth, preferred_family, XFRM_MSG_GETPOLICY) < 0) {
|
||||
perror("Cannot send dump request");
|
||||
--- iproute2-2.6.29-1/ip/xfrm_state.c
|
||||
+++ iproute2-2.6.29-1/ip/xfrm_state.c
|
||||
@@ -924,11 +924,15 @@
|
||||
struct xfrm_buffer xb;
|
||||
char buf[NLMSG_DELETEALL_BUF_SIZE];
|
||||
int i;
|
||||
+ struct rtnl_handle rth2;
|
||||
|
||||
xb.buf = buf;
|
||||
xb.size = sizeof(buf);
|
||||
xb.rth = &rth;
|
||||
|
||||
+ if (rtnl_open(&rth2, 0) < 0)
|
||||
+ exit(1);
|
||||
+
|
||||
for (i = 0; ; i++) {
|
||||
xb.offset = 0;
|
||||
xb.nlmsg_count = 0;
|
||||
@@ -951,7 +955,7 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if (rtnl_send_check(&rth, xb.buf, xb.offset) < 0) {
|
||||
+ if (rtnl_send_check(&rth2, xb.buf, xb.offset) < 0) {
|
||||
perror("Failed to send delete-all request\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -962,6 +966,7 @@
|
||||
xb.nlmsg_count = 0;
|
||||
}
|
||||
|
||||
+ rtnl_close(&rth2);
|
||||
} else {
|
||||
if (rtnl_wilddump_request(&rth, preferred_family, XFRM_MSG_GETSA) < 0) {
|
||||
perror("Cannot send dump request");
|
885
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-2.6.29.1-hfsc.patch
vendored
Normal file
885
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-2.6.29.1-hfsc.patch
vendored
Normal file
@ -0,0 +1,885 @@
|
||||
http://bugs.gentoo.org/291907
|
||||
|
||||
This patch was merged from two patches extracted from this thread:
|
||||
http://markmail.org/thread/qkd76gpdgefpjlfn
|
||||
|
||||
Patch #1.
|
||||
This patch adds detailed documentation for HFSC scheduler. It roughly
|
||||
follows HFSC paper, but tries to not rely too much on math side of things.
|
||||
Post-paper/Linux specific subjects (timer resolution, ul service curve, etc.)
|
||||
are also discussed.
|
||||
|
||||
|
||||
I've read it many times over, but it's a lengthy chunk of text - so try
|
||||
to be understanding in case I made some mistakes.
|
||||
|
||||
|
||||
tc-hfsc(7): explains algorithm in detail (very long)
|
||||
tc-hfsc(8): explains command line options briefly
|
||||
tc(8): adds references to new man pages
|
||||
Makefile: adds man7 directory to install target
|
||||
q_hfsc.c: minimal help text changes, consistency with tc-hfsc(8)
|
||||
|
||||
|
||||
Patch #2.
|
||||
This adds generic explanation about size tables.
|
||||
|
||||
|
||||
tc-stab(8): Commandline + details
|
||||
One thing I'm not sure, is whenever any layer2 data is included in case
|
||||
of shaping directly on ppp interface (see the bottom of the man page).
|
||||
|
||||
|
||||
tc_stab.c: small fixes to commandline help
|
||||
|
||||
|
||||
tc_core.c:
|
||||
As kernel part of things relies on cell align which is always set to -1,
|
||||
I also added it to userspace computation stage. This way if someone
|
||||
specified e.g. 2048 and 512 for mtu and tsize respectively, one wouldn't
|
||||
end with tsize supporting mtu 4096 suddenly, New default mtu is also set
|
||||
to 2048 (disregarding weirdness of setting mtu to such values).
|
||||
|
||||
|
||||
Unless I missed something, this is harmless and feels cleaner, but if it's
|
||||
not allowed, documentation will have to be changed back to 2047 + extra
|
||||
explanation as well.
|
||||
|
||||
--- iproute2/Makefile
|
||||
+++ iproute2-new/Makefile
|
||||
@@ -56,6 +56,8 @@
|
||||
install -m 0644 $(shell find etc/iproute2 -maxdepth 1 -type f) $(DESTDIR)$(CONFDIR)
|
||||
install -m 0755 -d $(DESTDIR)$(MANDIR)/man8
|
||||
install -m 0644 $(shell find man/man8 -maxdepth 1 -type f) $(DESTDIR)$(MANDIR)/man8
|
||||
+ install -m 0755 -d $(DESTDIR)$(MANDIR)/man7
|
||||
+ install -m 0644 $(shell find man/man7 -maxdepth 1 -type f) $(DESTDIR)$(MANDIR)/man7
|
||||
ln -sf tc-bfifo.8 $(DESTDIR)$(MANDIR)/man8/tc-pfifo.8
|
||||
ln -sf lnstat.8 $(DESTDIR)$(MANDIR)/man8/rtstat.8
|
||||
ln -sf lnstat.8 $(DESTDIR)$(MANDIR)/man8/ctstat.8
|
||||
--- iproute2/man/man7/tc-hfsc.7
|
||||
+++ iproute2-new/man/man7/tc-hfsc.7
|
||||
@@ -0,0 +1,525 @@
|
||||
+.TH HFSC 7 "25 February 2009" iproute2 Linux
|
||||
+.ce 1
|
||||
+\fBHIERARCHICAL FAIR SERVICE CURVE\fR
|
||||
+.
|
||||
+.SH "HISTORY & INTRODUCTION"
|
||||
+.
|
||||
+HFSC \- \fBHierarchical Fair Service Curve\fR was first presented at
|
||||
+SIGCOMM'97. Developed as a part of ALTQ (ALTernative Queuing) on NetBSD, found
|
||||
+its way quickly to other BSD systems, and then a few years ago became part of
|
||||
+the linux kernel. Still, it's not the most popular scheduling algorithm \-
|
||||
+especially if compared to HTB \- and it's not well documented from enduser's
|
||||
+perspective. This introduction aims to explain how HFSC works without
|
||||
+going to deep into math side of things (although some if it will be
|
||||
+inevitable).
|
||||
+
|
||||
+In short HFSC aims to:
|
||||
+.
|
||||
+.RS 4
|
||||
+.IP \fB1)\fR 4
|
||||
+guarantee precise bandwidth and delay allocation for all leaf classes (realtime
|
||||
+criterion)
|
||||
+.IP \fB2)\fR
|
||||
+allocate excess bandwidth fairly as specified by class hierarchy (linkshare &
|
||||
+upperlimit criterion)
|
||||
+.IP \fB3)\fR
|
||||
+minimize any discrepancy between the service curve and the actual amount of
|
||||
+service provided during linksharing
|
||||
+.RE
|
||||
+.PP
|
||||
+.
|
||||
+The main "selling" point of HFSC is feature \fB(1)\fR, which is achieved by
|
||||
+using nonlinear service curves (more about what it actually is later). This is
|
||||
+particularly useful in VoIP or games, where not only guarantee of consistent
|
||||
+bandwidth is important, but initial delay of a data stream as well. Note that
|
||||
+it matters only for leaf classes (where the actual queues are) \- thus class
|
||||
+hierarchy is ignored in realtime case.
|
||||
+
|
||||
+Feature \fB(2)\fR is well, obvious \- any algorithm featuring class hierarchy
|
||||
+(such as HTB or CBQ) strives to achieve that. HFSC does that well, although
|
||||
+you might end with unusual situations, if you define service curves carelessly
|
||||
+\- see section CORNER CASES for examples.
|
||||
+
|
||||
+Feature \fB(3)\fR is mentioned due to the nature of the problem. There may be
|
||||
+situations where it's either not possible to guarantee service of all curves at
|
||||
+the same time, and/or it's impossible to do so fairly. Both will be explained
|
||||
+later. Note that this is mainly related to interior (aka aggregate) classes, as
|
||||
+the leafs are already handled by \fB(1)\fR. Still \- it's perfectly possible to
|
||||
+create a leaf class w/o realtime service, and in such case \- the caveats will
|
||||
+naturally extend to leaf classes as well.
|
||||
+
|
||||
+.SH ABBREVIATIONS
|
||||
+For the remaining part of the document, we'll use following shortcuts:
|
||||
+.nf
|
||||
+.RS 4
|
||||
+
|
||||
+RT \- realtime
|
||||
+LS \- linkshare
|
||||
+UL \- upperlimit
|
||||
+SC \- service curve
|
||||
+.fi
|
||||
+.
|
||||
+.SH "BASICS OF HFSC"
|
||||
+.
|
||||
+To understand how HFSC works, we must first introduce a service curve.
|
||||
+Overall, it's a nondecreasing function of some time unit, returning amount of
|
||||
+service (allowed or allocated amount of bandwidth) by some specific point in
|
||||
+time. The purpose of it should be subconsciously obvious \- if a class was
|
||||
+allowed to transfer not less than the amount specified by its service curve \-
|
||||
+then service curve is not violated.
|
||||
+
|
||||
+Still \- we need more elaborate criterion than just the above (although in
|
||||
+most generic case it can be reduced to it). The criterion has to take two
|
||||
+things into account:
|
||||
+.
|
||||
+.RS 4
|
||||
+.IP \(bu 4
|
||||
+idling periods
|
||||
+.IP \(bu
|
||||
+ability to "look back", so if during current active period service curve is violated, maybe it
|
||||
+isn't if we count excess bandwidth received during earlier active period(s)
|
||||
+.RE
|
||||
+.PP
|
||||
+Let's define the criterion as follows:
|
||||
+.RS 4
|
||||
+.nf
|
||||
+.IP "\fB(1)\fR" 4
|
||||
+For each t1, there must exist t0 in set B, so S(t1\-t0)\~<=\~w(t0,t1)
|
||||
+.fi
|
||||
+.RE
|
||||
+.
|
||||
+.PP
|
||||
+Here 'w' denotes the amount of service received during some time period between t0
|
||||
+and t1. B is a set of all times, where a session becomes active after idling
|
||||
+period (further denoted as 'becoming backlogged'). For a clearer picture,
|
||||
+imagine two situations:
|
||||
+.
|
||||
+.RS 4
|
||||
+.IP \fBa)\fR 4
|
||||
+our session was active during two periods, with a small time gap between them
|
||||
+.IP \fBb)\fR
|
||||
+as in (a), but with a larger gap
|
||||
+.RE
|
||||
+.
|
||||
+.PP
|
||||
+Consider \fB(a)\fR \- if the service received during both periods meets
|
||||
+\fB(1)\fR, then all is good. But what if it doesn't do so during the 2nd
|
||||
+period ? If the amount of service received during the 1st period is bigger
|
||||
+than the service curve, then it might compensate for smaller service during
|
||||
+the 2nd period \fIand\fR the gap \- if the gap is small enough.
|
||||
+
|
||||
+If the gap is larger \fB(b)\fR \- then it's less likely to happen (unless the
|
||||
+excess bandwidth allocated during the 1st part was really large). Still, the
|
||||
+larger the gap \- the less interesting is what happened in the past (e.g. 10
|
||||
+minutes ago) \- what matters is the current traffic that just started.
|
||||
+
|
||||
+From HFSC's perspective, more interesting is answering the following question:
|
||||
+when should we start transferring packets, so a service curve of a class is not
|
||||
+violated. Or rephrasing it: How much X() amount of service should a session
|
||||
+receive by time t, so the service curve is not violated. Function X() defined
|
||||
+as below is the basic building block of HFSC, used in: eligible, deadline,
|
||||
+virtual\-time and fit\-time curves. Of course, X() is based on equation
|
||||
+\fB(1)\fR and is defined recursively:
|
||||
+
|
||||
+.RS 4
|
||||
+.IP \(bu 4
|
||||
+At the 1st backlogged period beginning function X is initialized to generic
|
||||
+service curve assigned to a class
|
||||
+.IP \(bu
|
||||
+At any subsequent backlogged period, X() is:
|
||||
+.nf
|
||||
+\fBmin(X() from previous period ; w(t0)+S(t\-t0) for t>=t0),\fR
|
||||
+.fi
|
||||
+\&... where t0 denotes the beginning of the current backlogged period.
|
||||
+.RE
|
||||
+.
|
||||
+.PP
|
||||
+HFSC uses either linear, or two\-piece linear service curves. In case of
|
||||
+linear or two\-piece linear convex functions (first slope < second slope),
|
||||
+min() in X's definition reduces to the 2nd argument. But in case of two\-piece
|
||||
+concave functions, the 1st argument might quickly become lesser for some
|
||||
+t>=t0. Note, that for some backlogged period, X() is defined only from that
|
||||
+period's beginning. We also define X^(\-1)(w) as smallest t>=t0, for which
|
||||
+X(t)\~=\~w. We have to define it this way, as X() is usually not an injection.
|
||||
+
|
||||
+The above generic X() can be one of the following:
|
||||
+.
|
||||
+.RS 4
|
||||
+.IP "E()" 4
|
||||
+In realtime criterion, selects packets eligible for sending. If none are
|
||||
+eligible, HFSC will use linkshare criterion. Eligible time \&'et' is calculated
|
||||
+with reference to packets' heads ( et\~=\~E^(\-1)(w) ). It's based on RT
|
||||
+service curve, \fIbut in case of a convex curve, uses its 2nd slope only.\fR
|
||||
+.IP "D()"
|
||||
+In realtime criterion, selects the most suitable packet from the ones chosen
|
||||
+by E(). Deadline time \&'dt' corresponds to packets' tails
|
||||
+(dt\~=\~D^(\-1)(w+l), where \&'l' is packet's length). Based on RT service
|
||||
+curve.
|
||||
+.IP "V()"
|
||||
+In linkshare criterion, arbitrates which packet to send next. Note that V() is
|
||||
+function of a virtual time \- see \fBLINKSHARE CRITERION\fR section for
|
||||
+details. Virtual time \&'vt' corresponds to packets' heads
|
||||
+(vt\~=\~V^(\-1)(w)). Based on LS service curve.
|
||||
+.IP "F()"
|
||||
+An extension to linkshare criterion, used to limit at which speed linkshare
|
||||
+criterion is allowed to dequeue. Fit\-time 'ft' corresponds to packets' heads
|
||||
+as well (ft\~=\~F^(\-1)(w)). Based on UL service curve.
|
||||
+.RE
|
||||
+
|
||||
+Be sure to make clean distinction between session's RT, LS and UL service
|
||||
+curves and the above "utility" functions.
|
||||
+.
|
||||
+.SH "REALTIME CRITERION"
|
||||
+.
|
||||
+RT criterion \fIignores class hierarchy\fR and guarantees precise bandwidth and
|
||||
+delay allocation. We say that packet is eligible for sending, when current real
|
||||
+time is bigger than eligible time. From all packets eligible, the one most
|
||||
+suited for sending, is the one with the smallest deadline time. Sounds simply,
|
||||
+but consider following example:
|
||||
+
|
||||
+Interface 10mbit, two classes, both with two\-piece linear service curves:
|
||||
+.RS 4
|
||||
+.IP \(bu 4
|
||||
+1st class \- 2mbit for 100ms, then 7mbit (convex \- 1st slope < 2nd slope)
|
||||
+.IP \(bu
|
||||
+2nd class \- 7mbit for 100ms, then 2mbit (concave \- 1st slope > 2nd slope)
|
||||
+.RE
|
||||
+.PP
|
||||
+Assume for a moment, that we only use D() for both finding eligible packets,
|
||||
+and choosing the most fitting one, thus eligible time would be computed as
|
||||
+D^(\-1)(w) and deadline time would be computed as D^(\-1)(w+l). If the 2nd
|
||||
+class starts sending packets 1 second after the 1st class, it's of course
|
||||
+impossible to guarantee 14mbit, as the interface capability is only 10mbit.
|
||||
+The only workaround in this scenario is to allow the 1st class to send the
|
||||
+packets earlier that would normally be allowed. That's where separate E() comes
|
||||
+to help. Putting all the math aside (see HFSC paper for details), E() for RT
|
||||
+concave service curve is just like D(), but for the RT convex service curve \-
|
||||
+it's constructed using \fIonly\fR RT service curve's 2nd slope (in our example
|
||||
+\- 7mbit).
|
||||
+
|
||||
+The effect of such E() \- packets will be sent earlier, and at the same time
|
||||
+D() \fIwill\fR be updated \- so current deadline time calculated from it will
|
||||
+be bigger. Thus, when the 2nd class starts sending packets later, both the 1st
|
||||
+and the 2nd class will be eligible, but the 2nd session's deadline time will be
|
||||
+smaller and its packets will be sent first. When the 1st class becomes idle at
|
||||
+some later point, the 2nd class will be able to "buffer" up again for later
|
||||
+active period of the 1st class.
|
||||
+
|
||||
+A short remark \- in a situation, where the total amount of bandwidth
|
||||
+available on the interface is bigger than the allocated total realtime parts
|
||||
+(imagine interface 10 mbit, but 1mbit/2mbit and 2mbit/1mbit classes), the sole
|
||||
+speed of the interface could suffice to guarantee the times.
|
||||
+
|
||||
+Important part of RT criterion is that apart from updating its D() and E(),
|
||||
+also V() used by LS criterion is updated. Generally the RT criterion is
|
||||
+secondary to LS one, and used \fIonly\fR if there's a risk of violating precise
|
||||
+realtime requirements. Still, the "participation" in bandwidth distributed by
|
||||
+LS criterion is there, so V() has to be updated along the way. LS criterion can
|
||||
+than properly compensate for non\-ideal fair sharing situation, caused by RT
|
||||
+scheduling. If you use UL service curve its F() will be updated as well (UL
|
||||
+service curve is an extension to LS one \- see \fBUPPERLIMIT CRITERION\fR
|
||||
+section).
|
||||
+
|
||||
+Anyway \- careless specification of LS and RT service curves can lead to
|
||||
+potentially undesired situations (see CORNER CASES for examples). This wasn't
|
||||
+the case in HFSC paper where LS and RT service curves couldn't be specified
|
||||
+separately.
|
||||
+
|
||||
+.SH "LINKSHARING CRITERION"
|
||||
+.
|
||||
+LS criterion's task is to distribute bandwidth according to specified class
|
||||
+hierarchy. Contrary to RT criterion, there're no comparisons between current
|
||||
+real time and virtual time \- the decision is based solely on direct comparison
|
||||
+of virtual times of all active subclasses \- the one with the smallest vt wins
|
||||
+and gets scheduled. One immediate conclusion from this fact is that absolute
|
||||
+values don't matter \- only ratios between them (so for example, two children
|
||||
+classes with simple linear 1mbit service curves will get the same treatment
|
||||
+from LS criterion's perspective, as if they were 5mbit). The other conclusion
|
||||
+is, that in perfectly fluid system with linear curves, all virtual times across
|
||||
+whole class hierarchy would be equal.
|
||||
+
|
||||
+Why is VC defined in term of virtual time (and what is it) ?
|
||||
+
|
||||
+Imagine an example: class A with two children \- A1 and A2, both with let's say
|
||||
+10mbit SCs. If A2 is idle, A1 receives all the bandwidth of A (and update its
|
||||
+V() in the process). When A2 becomes active, A1's virtual time is already
|
||||
+\fIfar\fR bigger than A2's one. Considering the type of decision made by LS
|
||||
+criterion, A1 would become idle for a lot of time. We can workaround this
|
||||
+situation by adjusting virtual time of the class becoming active \- we do that
|
||||
+by getting such time "up to date". HFSC uses a mean of the smallest and the
|
||||
+biggest virtual time of currently active children fit for sending. As it's not
|
||||
+real time anymore (excluding trivial case of situation where all classes become
|
||||
+active at the same time, and never become idle), it's called virtual time.
|
||||
+
|
||||
+Such approach has its price though. The problem is analogous to what was
|
||||
+presented in previous section and is caused by non\-linearity of service
|
||||
+curves:
|
||||
+.IP 1) 4
|
||||
+either it's impossible to guarantee both service curves and satisfy fairness
|
||||
+during certain time periods:
|
||||
+
|
||||
+.RS 4
|
||||
+Recall the example from RT section, slightly modified (with 3mbit slopes
|
||||
+instead of 2mbit ones):
|
||||
+
|
||||
+.IP \(bu 4
|
||||
+1st class \- 3mbit for 100ms, then 7mbit (convex \- 1st slope < 2nd slope)
|
||||
+.IP \(bu
|
||||
+2nd class \- 7mbit for 100ms, then 3mbit (concave \- 1st slope > 2nd slope)
|
||||
+
|
||||
+.PP
|
||||
+They sum up nicely to 10mbit \- interface's capacity. But if we wanted to only
|
||||
+use LS for guarantees and fairness \- it simply won't work. In LS context,
|
||||
+only V() is used for making decision which class to schedule. If the 2nd class
|
||||
+becomes active when the 1st one is in its second slope, the fairness will be
|
||||
+preserved \- ratio will be 1:1 (7mbit:7mbit), but LS itself is of course
|
||||
+unable to guarantee the absolute values themselves \- as it would have to go
|
||||
+beyond of what the interface is capable of.
|
||||
+.RE
|
||||
+
|
||||
+.IP 2) 4
|
||||
+and/or it's impossible to guarantee service curves of all classes at all
|
||||
+
|
||||
+.RS 4
|
||||
+Even if we didn't use virtual time and allowed a session to be "punished",
|
||||
+there's a possibility that service curves of all classes couldn't be
|
||||
+guaranteed for a brief period. Consider following, a bit more complicated
|
||||
+example:
|
||||
+
|
||||
+Root interface, classes A and B with concave and convex curve (summing up to
|
||||
+root), A1 & A2 (children of A), \fIboth\fR with concave curves summing up to A,
|
||||
+B1 & B2 (children of B), \fIboth\fR with convex curves summing up to B.
|
||||
+
|
||||
+Assume that A2, B1 and B2 are constantly backlogged, and at some later point
|
||||
+A1 becomes backlogged. We can easily choose slopes, so that even if we
|
||||
+"punish" A2 for earlier excess bandwidth received, A1 will have no chance of
|
||||
+getting bandwidth corresponding to its first slope. Following from the above
|
||||
+example:
|
||||
+
|
||||
+.nf
|
||||
+A \- 7mbit, then 3mbit
|
||||
+A1 \- 5mbit, then 2mbit
|
||||
+A2 \- 2mbit, then 1mbit
|
||||
+
|
||||
+B \- 3mbit, then 7mbit
|
||||
+B1 \- 2mbit, then 5mbit
|
||||
+B2 \- 1mbit, then 2mbit
|
||||
+.fi
|
||||
+
|
||||
+At the point when A1 starts sending, it should get 5mbit to not violate its
|
||||
+service curve. A2 gets punished and doesn't send at all, B1 and B2 both keep
|
||||
+sending at their 5mbit and 2mbit. But as you can see, we already are beyond
|
||||
+interface's capacity \- at 12mbit. A1 could get 3mbit at most. If we used
|
||||
+virtual times and kept fairness property, A1 and A2 would send at 3mbit
|
||||
+together with 5:2 ratio (so respectively at ~2.14mbit and ~0.86mbit).
|
||||
+.RE
|
||||
+.
|
||||
+.SH "UPPERLIMIT CRITERION"
|
||||
+.
|
||||
+UL criterion is an extensions to LS one, that permits sending packets only
|
||||
+if current real time is bigger than fit\-time ('ft'). So the modified LS
|
||||
+criterion becomes: choose the smallest virtual time from all active children,
|
||||
+such that fit\-time < current real time also holds. Fit\-time is calculated
|
||||
+from F(), which is based on UL service curve. As you can see, it's role is
|
||||
+kinda similar to E() used in RT criterion. Also, for obvious reasons \- you
|
||||
+can't specify UL service curve without LS one.
|
||||
+
|
||||
+Main purpose of UL service curve is to limit HFSC to bandwidth available on the
|
||||
+upstream router (think adsl home modem/router, and linux server as
|
||||
+nat/firewall/etc. with 100mbit+ connection to mentioned modem/router).
|
||||
+Typically, it's used to create a single class directly under root, setting
|
||||
+linear UL service curve to available bandwidth \- and then creating your class
|
||||
+structure from that class downwards. Of course, you're free to add UL service
|
||||
+(linear or not) curve to any class with LS criterion.
|
||||
+
|
||||
+Important part about UL service curve is, that whenever at some point in time
|
||||
+a class doesn't qualify for linksharing due to its fit\-time, the next time it
|
||||
+does qualify, it will update its virtual time to the smallest virtual time of
|
||||
+all active children fit for linksharing. This way, one of the main things LS
|
||||
+criterion tries to achieve \- equality of all virtual times across whole
|
||||
+hierarchy \- is preserved (in perfectly fluid system with only linear curves,
|
||||
+all virtual times would be equal).
|
||||
+
|
||||
+Without that, 'vt' would lag behind other virtual times, and could cause
|
||||
+problems. Consider interface with capacity 10mbit, and following leaf classes
|
||||
+(just in case you're skipping this text quickly \- this example shows behavior
|
||||
+that \f(BIdoesn't happen\fR):
|
||||
+
|
||||
+.nf
|
||||
+A \- ls 5.0mbit
|
||||
+B \- ls 2.5mbit
|
||||
+C \- ls 2.5mbit, ul 2.5mbit
|
||||
+.fi
|
||||
+
|
||||
+If B was idle, while A and C were constantly backlogged, they would normally
|
||||
+(as far as LS criterion is concerned) divide bandwidth in 2:1 ratio. But due
|
||||
+to UL service curve in place, C would get at most 2.5mbit, and A would get the
|
||||
+remaining 7.5mbit. The longer the backlogged period, the more virtual times of
|
||||
+A and C would drift apart. If B became backlogged at some later point in time,
|
||||
+its virtual time would be set to (A's\~vt\~+\~C's\~vt)/2, thus blocking A from
|
||||
+sending any traffic, until B's virtual time catches up with A.
|
||||
+.
|
||||
+.SH "SEPARATE LS / RT SCs"
|
||||
+.
|
||||
+Another difference from original HFSC paper, is that RT and LS SCs can be
|
||||
+specified separately. Moreover \- leaf classes are allowed to have only either
|
||||
+RT SC or LS SC. For interior classes, only LS SCs make sense \- Any RT SC will
|
||||
+be ignored.
|
||||
+.
|
||||
+.SH "CORNER CASES"
|
||||
+.
|
||||
+Separate service curves for LS and RT criteria can lead to certain traps,
|
||||
+that come from "fighting" between ideal linksharing and enforced realtime
|
||||
+guarantees. Those situations didn't exist in original HFSC paper, where
|
||||
+specifying separate LS / RT service curves was not discussed.
|
||||
+
|
||||
+Consider interface with capacity 10mbit, with following leaf classes:
|
||||
+
|
||||
+.nf
|
||||
+A \- ls 5.0mbit, rt 8mbit
|
||||
+B \- ls 2.5mbit
|
||||
+C \- ls 2.5mbit
|
||||
+.fi
|
||||
+
|
||||
+Imagine A and C are constantly backlogged. As B is idle, A and C would divide
|
||||
+bandwidth in 2:1 ratio, considering LS service curve (so in theory \- 6.66 and
|
||||
+3.33). Alas RT criterion takes priority, so A will get 8mbit and LS will be
|
||||
+able to compensate class C for only 2 mbit \- this will cause discrepancy
|
||||
+between virtual times of A and C.
|
||||
+
|
||||
+Assume this situation lasts for a lot of time with no idle periods, and
|
||||
+suddenly B becomes active. B's virtual time will be updated to
|
||||
+(A's\~vt\~+\~C's\~vt)/2, effectively landing in the middle between A's and C's
|
||||
+virtual time. The effect \- B, having no RT guarantees, will be punished and
|
||||
+will not be allowed to transfer until C's virtual time catches up.
|
||||
+
|
||||
+If the interface had higher capacity \- for example 100mbit, this example
|
||||
+would behave perfectly fine though.
|
||||
+
|
||||
+Let's look a bit closer at the above example \- it "cleverly" invalidates one
|
||||
+of the basic things LS criterion tries to achieve \- equality of all virtual
|
||||
+times across class hierarchy. Leaf classes without RT service curves are
|
||||
+literally left to their own fate (governed by messed up virtual times).
|
||||
+
|
||||
+Also - it doesn't make much sense. Class A will always be guaranteed up to
|
||||
+8mbit, and this is more than any absolute bandwidth that could happen from its
|
||||
+LS criterion (excluding trivial case of only A being active). If the bandwidth
|
||||
+taken by A is smaller than absolute value from LS criterion, the unused part
|
||||
+will be automatically assigned to other active classes (as A has idling periods
|
||||
+in such case). The only "advantage" is, that even in case of low bandwidth on
|
||||
+average, bursts would be handled at the speed defined by RT criterion. Still,
|
||||
+if extra speed is needed (e.g. due to latency), non linear service curves
|
||||
+should be used in such case.
|
||||
+
|
||||
+In the other words - LS criterion is meaningless in the above example.
|
||||
+
|
||||
+You can quickly "workaround" it by making sure each leaf class has RT service
|
||||
+curve assigned (thus guaranteeing all of them will get some bandwidth), but it
|
||||
+doesn't make it any more valid.
|
||||
+.
|
||||
+.SH "LINUX AND TIMER RESOLUTION"
|
||||
+.
|
||||
+In certain situations, the scheduler can throttle itself and setup so
|
||||
+called watchdog to wakeup dequeue function at some time later. In case of HFSC
|
||||
+it happens when for example no packet is eligible for scheduling, and UL
|
||||
+service curve is used to limit the speed at which LS criterion is allowed to
|
||||
+dequeue packets. It's called throttling, and accuracy of it is dependent on
|
||||
+how the kernel is compiled.
|
||||
+
|
||||
+There're 3 important options in modern kernels, as far as timers' resolution
|
||||
+goes: \&'tickless system', \&'high resolution timer support' and \&'timer
|
||||
+frequency'.
|
||||
+
|
||||
+If you have \&'tickless system' enabled, then the timer interrupt will trigger
|
||||
+as slowly as possible, but each time a scheduler throttles itself (or any
|
||||
+other part of the kernel needs better accuracy), the rate will be increased as
|
||||
+needed / possible. The ceiling is either \&'timer frequency' if \&'high
|
||||
+resolution timer support' is not available or not compiled in. Otherwise it's
|
||||
+hardware dependent and can go \fIfar\fR beyond the highest \&'timer frequency'
|
||||
+setting available.
|
||||
+
|
||||
+If \&'tickless system' is not enabled, the timer will trigger at a fixed rate
|
||||
+specified by \&'timer frequency' \- regardless if high resolution timers are
|
||||
+or aren't available.
|
||||
+
|
||||
+This is important to keep those settings in mind, as in scenario like: no
|
||||
+tickless, no HR timers, frequency set to 100hz \- throttling accuracy would be
|
||||
+at 10ms. It doesn't automatically mean you would be limited to ~0.8mbit/s
|
||||
+(assuming packets at ~1KB) \- as long as your queues are prepared to cover for
|
||||
+timer inaccuracy. Of course, in case of e.g. locally generated udp traffic \-
|
||||
+appropriate socket size is needed as well. Short example to make it more
|
||||
+understandable (assume hardcore anti\-schedule settings \- HZ=100, no HR
|
||||
+timers, no tickless):
|
||||
+
|
||||
+.nf
|
||||
+tc qdisc add dev eth0 root handle 1:0 hfsc default 1
|
||||
+tc class add dev eth0 parent 1:0 classid 1:1 hfsc rt m2 10mbit
|
||||
+.fi
|
||||
+
|
||||
+Assuming packet of ~1KB size and HZ=100, that averages to ~0.8mbit \- anything
|
||||
+beyond it (e.g. the above example with specified rate over 10x bigger) will
|
||||
+require appropriate queuing and cause bursts every ~10 ms. As you can
|
||||
+imagine, any HFSC's RT guarantees will be seriously invalidated by that.
|
||||
+Aforementioned example is mainly important if you deal with old hardware \- as
|
||||
+it's particularly popular for home server chores. Even then, you can easily
|
||||
+set HZ=1000 and have very accurate scheduling for typical adsl speeds.
|
||||
+
|
||||
+Anything modern (apic or even hpet msi based timers + \&'tickless system')
|
||||
+will provide enough accuracy for superb 1gbit scheduling. For example, on one
|
||||
+of basically cheap dual core AMD boards I have with following settings:
|
||||
+
|
||||
+.nf
|
||||
+tc qdisc add dev eth0 parent root handle 1:0 hfsc default 1
|
||||
+tc class add dev eth0 paretn 1:0 classid 1:1 hfsc rt m2 300mbit
|
||||
+.fi
|
||||
+
|
||||
+And simple:
|
||||
+
|
||||
+.nf
|
||||
+nc \-u dst.host.com 54321 </dev/zero
|
||||
+nc \-l \-p 54321 >/dev/null
|
||||
+.fi
|
||||
+
|
||||
+\&...will yield following effects over period of ~10 seconds (taken from
|
||||
+/proc/interrupts):
|
||||
+
|
||||
+.nf
|
||||
+319: 42124229 0 HPET_MSI\-edge hpet2 (before)
|
||||
+319: 42436214 0 HPET_MSI\-edge hpet2 (after 10s.)
|
||||
+.fi
|
||||
+
|
||||
+That's roughly 31000/s. Now compare it with HZ=1000 setting. The obvious
|
||||
+drawback of it is that cpu load can be rather extensive with servicing that
|
||||
+many timer interrupts. Example with 300mbit RT service curve on 1gbit link is
|
||||
+particularly ugly, as it requires a lot of throttling with minuscule delays.
|
||||
+
|
||||
+Also note that it's just an example showing capability of current hardware.
|
||||
+The above example (essentially 300mbit TBF emulator) is pointless on internal
|
||||
+interface to begin with \- you will pretty much always want regular LS service
|
||||
+curve there, and in such scenario HFSC simply doesn't throttle at all.
|
||||
+
|
||||
+300mbit RT service curve (selected columns from mpstat \-P ALL 1):
|
||||
+
|
||||
+.nf
|
||||
+10:56:43 PM CPU %sys %irq %soft %idle
|
||||
+10:56:44 PM all 20.10 6.53 34.67 37.19
|
||||
+10:56:44 PM 0 35.00 0.00 63.00 0.00
|
||||
+10:56:44 PM 1 4.95 12.87 6.93 73.27
|
||||
+.fi
|
||||
+
|
||||
+So, in rare case you need those speeds with only RT service curve, or with UL
|
||||
+service curve \- remember about drawbacks.
|
||||
+.
|
||||
+.SH "LAYER2 ADAPTATION"
|
||||
+.
|
||||
+Please refer to \fBtc\-stab\fR(8)
|
||||
+.
|
||||
+.SH "SEE ALSO"
|
||||
+.
|
||||
+\fBtc\fR(8), \fBtc\-hfsc\fR(8), \fBtc\-stab\fR(8)
|
||||
+
|
||||
+Please direct bugreports and patches to: <net...@vger.kernel.org>
|
||||
+.
|
||||
+.SH "AUTHOR"
|
||||
+.
|
||||
+Manpage created by Michal Soltys (sol...@ziu.info)
|
||||
--- iproute2/man/man8/tc.8
|
||||
+++ iproute2-new/man/man8/tc.8
|
||||
@@ -368,12 +368,15 @@
|
||||
.SH SEE ALSO
|
||||
.BR tc-cbq (8),
|
||||
.BR tc-htb (8),
|
||||
+.BR tc-hfsc (8),
|
||||
+.BR tc-hfsc (7),
|
||||
.BR tc-sfq (8),
|
||||
.BR tc-red (8),
|
||||
.BR tc-tbf (8),
|
||||
.BR tc-pfifo (8),
|
||||
.BR tc-bfifo (8),
|
||||
.BR tc-pfifo_fast (8),
|
||||
+.BR tc-stab (8),
|
||||
.br
|
||||
.RB "User documentation at " http://lartc.org/ ", but please direct bugreports and patches to: " <netdev@vger.kernel.org>
|
||||
|
||||
--- iproute2/man/man8/tc-hfsc.8
|
||||
+++ iproute2-new/man/man8/tc-hfsc.8
|
||||
@@ -0,0 +1,61 @@
|
||||
+.TH HFSC 8 "25 February 2009" iproute2 Linux
|
||||
+.
|
||||
+.SH NAME
|
||||
+HFSC \- Hierarchical Fair Service Curve's control under linux
|
||||
+.
|
||||
+.SH SYNOPSIS
|
||||
+.nf
|
||||
+tc qdisc add ... hfsc [ \fBdefault\fR CLASSID ]
|
||||
+
|
||||
+tc class add ... hfsc [ [ \fBrt\fR SC ] [ \fBls\fR SC ] | [ \fBsc\fR SC ] ] [ \fBul\fR SC ]
|
||||
+
|
||||
+\fBrt\fR : realtime service curve
|
||||
+\fBls\fR : linkshare service curve
|
||||
+\fBsc\fR : rt+ls service curve
|
||||
+\fBul\fR : upperlimit service curve
|
||||
+
|
||||
+\(bu at least one of \fBrt\fR, \fBls\fR or \fBsc\fR must be specified
|
||||
+\(bu \fBul\fR can only be specified with \fBls\fR or \fBsc\fR
|
||||
+.
|
||||
+.IP "SC := [ [ \fBm1\fR BPS ] \fBd\fR SEC ] \fBm2\fR BPS"
|
||||
+\fBm1\fR : slope of the first segment
|
||||
+\fBd\fR : x\-coordinate of intersection
|
||||
+\fBm2\fR : slope of the second segment
|
||||
+.PP
|
||||
+.IP "SC := [ [ \fBumax\fR BYTE ] \fBdmax\fR SEC ] \fBrate\fR BPS"
|
||||
+\fBumax\fR : maximum unit of work
|
||||
+\fBdmax\fR : maximum delay
|
||||
+\fBrate\fR : rate
|
||||
+.PP
|
||||
+.fi
|
||||
+For description of BYTE, BPS and SEC \- please see \fBUNITS\fR
|
||||
+section of \fBtc\fR(8).
|
||||
+.
|
||||
+.SH DESCRIPTION (qdisc)
|
||||
+HFSC qdisc has only one optional parameter \- \fBdefault\fR. CLASSID specifies
|
||||
+the minor part of the default classid, where packets not classified by other
|
||||
+means (e.g. u32 filter, CLASSIFY target of iptables) will be enqueued. If
|
||||
+\fBdefault\fR is not specified, unclassified packets will be dropped.
|
||||
+.
|
||||
+.SH DESCRIPTION (class)
|
||||
+HFSC class is used to create a class hierarchy for HFSC scheduler. For
|
||||
+explanation of the algorithm, and the meaning behind \fBrt\fR, \fBls\fR,
|
||||
+\fBsc\fR and \fBul\fR service curves \- please refer to \fBtc\-hfsc\fR(7).
|
||||
+
|
||||
+As you can see in \fBSYNOPSIS\fR, service curve (SC) can be specified in two
|
||||
+ways. Either as maximum delay for certain amount of work, or as a bandwidth
|
||||
+assigned for certain amount of time. Obviously, \fBm1\fR is simply
|
||||
+\fBumax\fR/\fBdmax\fR.
|
||||
+
|
||||
+Both \fBm2\fR and \fBrate\fR are mandatory. If you omit other
|
||||
+parameters, you will specify linear service curve.
|
||||
+.
|
||||
+.SH "SEE ALSO"
|
||||
+.
|
||||
+\fBtc\fR(8), \fBtc\-hfsc\fR(7), \fBtc\-stab\fR(8)
|
||||
+
|
||||
+Please direct bugreports and patches to: <net...@vger.kernel.org>
|
||||
+.
|
||||
+.SH "AUTHOR"
|
||||
+.
|
||||
+Manpage created by Michal Soltys (sol...@ziu.info)
|
||||
--- iproute2/man/man8/tc-stab.8
|
||||
+++ iproute2-new/man/man8/tc-stab.8
|
||||
@@ -0,0 +1,156 @@
|
||||
+.TH STAB 8 "25 February 2009" iproute2 Linux
|
||||
+.
|
||||
+.SH NAME
|
||||
+tc\-stab \- Generic size table manipulations
|
||||
+.
|
||||
+.SH SYNOPSIS
|
||||
+.nf
|
||||
+tc qdisc add ... stab \\
|
||||
+.RS 4
|
||||
+[ \fBmtu\fR BYTES ] [ \fBtsize\fR SLOTS ] \\
|
||||
+[ \fBmpu\fR BYTES ] [ \fBoverhead\fR BYTES ] [ \fBlinklayer\fR TYPE ] ...
|
||||
+.RE
|
||||
+
|
||||
+TYPE := adsl | atm | ethernet
|
||||
+.fi
|
||||
+
|
||||
+For the description of BYTES \- please refer to the \fBUNITS\fR
|
||||
+section of \fBtc\fR(8).
|
||||
+
|
||||
+.IP \fBmtu\fR 4
|
||||
+.br
|
||||
+maximum packet size we create size table for, assumed 2048 if not specified explicitly
|
||||
+.IP \fBtsize\fR
|
||||
+.br
|
||||
+required table size, assumed 512 if not specified explicitly
|
||||
+.IP \fBmpu\fR
|
||||
+.br
|
||||
+minimum packet size used in computations
|
||||
+.IP \fBoverhead\fR
|
||||
+.br
|
||||
+per\-packet size overhead (can be negative) used in computations
|
||||
+.IP \fBlinklayer\fR
|
||||
+.br
|
||||
+required linklayer adaptation.
|
||||
+.PP
|
||||
+.
|
||||
+.SH DESCRIPTION
|
||||
+.
|
||||
+Size tables allow manipulation of packet size, as seen by whole scheduler
|
||||
+framework (of course, the actual packet size remains the same). Adjusted packet
|
||||
+size is calculated only once \- when a qdisc enqueues the packet. Initial root
|
||||
+enqueue initializes it to the real packet's size.
|
||||
+
|
||||
+Each qdisc can use different size table, but the adjusted size is stored in
|
||||
+area shared by whole qdisc hierarchy attached to the interface (technically,
|
||||
+it's stored in skb). The effect is, that if you have such setup, the last qdisc
|
||||
+with a stab in a chain "wins". For example, consider HFSC with simple pfifo
|
||||
+attached to one of its leaf classes. If that pfifo qdisc has stab defined, it
|
||||
+will override lengths calculated during HFSC's enqueue, and in turn, whenever
|
||||
+HFSC tries to dequeue a packet, it will use potentially invalid size in its
|
||||
+calculations. Normal setups will usually include stab defined only on root
|
||||
+qdisc, but further overriding gives extra flexibility for less usual setups.
|
||||
+
|
||||
+Initial size table is calculated by \fBtc\fR tool using \fBmtu\fR and
|
||||
+\fBtsize\fR parameters. The algorithm sets each slot's size to the smallest
|
||||
+power of 2 value, so the whole \fBmtu\fR is covered by the size table. Neither
|
||||
+\fBtsize\fR, nor \fBmtu\fR have to be power of 2 value, so the size
|
||||
+table will usually support more than is required by \fBmtu\fR.
|
||||
+
|
||||
+For example, with \fBmtu\fR\~=\~1500 and \fBtsize\fR\~=\~128, a table with 128
|
||||
+slots will be created, where slot 0 will correspond to sizes 0\-16, slot 1 to
|
||||
+17\~\-\~32, \&..., slot 127 to 2033\~\-\~2048. Note, that the sizes
|
||||
+are shifted 1 byte (normally you would expect 0\~\-\~15, 16\~\-\~31, \&...,
|
||||
+2032\~\-\~2047). Sizes assigned to each slot depend on \fBlinklayer\fR parameter.
|
||||
+
|
||||
+Stab calculation is also safe for an unusual case, when a size assigned to a
|
||||
+slot would be larger than 2^16\-1 (you will lose the accuracy though).
|
||||
+
|
||||
+During kernel part of packet size adjustment, \fBoverhead\fR will be added to
|
||||
+original size, and after subtracting 1 (to land in the proper slot \- see above
|
||||
+about shifting by 1 byte) slot will be calculated. If the size would cause
|
||||
+overflow, more than 1 slot will be used to get the final size. It of course will
|
||||
+affect accuracy, but it's only a guard against unusual situations.
|
||||
+
|
||||
+Currently there're two methods of creating values stored in the size table \-
|
||||
+ethernet and atm (adsl):
|
||||
+
|
||||
+.IP ethernet 4
|
||||
+.br
|
||||
+This is basically 1\-1 mapping, so following our example from above
|
||||
+(disregarding \fBmpu\fR for a moment) slot 0 would have 8, slot 1 would have 16
|
||||
+and so on, up to slot 127 with 2048. Note, that \fBmpu\fR\~>\~0 must be
|
||||
+specified, and slots that would get less than specified by \fBmpu\fR, will get
|
||||
+\fBmpu\fR instead. If you don't specify \fBmpu\fR, the size table will not be
|
||||
+created at all, although any \fBoverhead\fR value will be respected during
|
||||
+calculations.
|
||||
+.IP "atm, adsl"
|
||||
+.br
|
||||
+ATM linklayer consists of 53 byte cells, where each of them provides 48 bytes
|
||||
+for payload. Also all the cells must be fully utilized, thus the last one is
|
||||
+padded if/as necessary.
|
||||
+
|
||||
+When size table is calculated, adjusted size that fits properly into lowest
|
||||
+amount of cells is assigned to a slot. For example, a 100 byte long packet
|
||||
+requires three 48\-byte payloads, so the final size would require 3 ATM cells
|
||||
+\- 159 bytes.
|
||||
+
|
||||
+For ATM size tables, 16\~bytes sized slots are perfectly enough. The default
|
||||
+values of \fBmtu\fR and \fBtsize\fR create 4\~bytes sized slots.
|
||||
+.PP
|
||||
+.
|
||||
+.SH "TYPICAL OVERHEADS"
|
||||
+The following values are typical for different adsl scenarios (based on
|
||||
+\fB[1]\fR and \fB[2]\fR):
|
||||
+
|
||||
+.nf
|
||||
+LLC based:
|
||||
+.RS 4
|
||||
+PPPoA \- 14 (PPP \- 2, ATM \- 12)
|
||||
+PPPoE \- 40+ (PPPoE \- 8, ATM \- 18, ethernet 14, possibly FCS \- 4+padding)
|
||||
+Bridged \- 32 (ATM \- 18, ethernet 14, possibly FCS \- 4+padding)
|
||||
+IPoA \- 16 (ATM \- 16)
|
||||
+.RE
|
||||
+
|
||||
+VC Mux based:
|
||||
+.RS 4
|
||||
+PPPoA \- 10 (PPP \- 2, ATM \- 8)
|
||||
+PPPoE \- 32+ (PPPoE \- 8, ATM \- 10, ethernet 14, possibly FCS \- 4+padding)
|
||||
+Bridged \- 24+ (ATM \- 10, ethernet 14, possibly FCS \- 4+padding)
|
||||
+IPoA \- 8 (ATM \- 8)
|
||||
+.RE
|
||||
+.fi
|
||||
+\p There're few important things regarding the above overheads:
|
||||
+.
|
||||
+.IP \(bu 4
|
||||
+IPoA in LLC case requires SNAP, instead of LLC\-NLPID (see rfc2684) \- this is
|
||||
+the reason, why it actually takes more space than PPPoA.
|
||||
+.IP \(bu
|
||||
+In rare cases, FCS might be preserved on protocols that include ethernet frame
|
||||
+(Bridged and PPPoE). In such situation, any ethernet specific padding
|
||||
+guaranteeing 64 bytes long frame size has to be included as well (see rfc2684).
|
||||
+In the other words, it also guarantees that any packet you send will take
|
||||
+minimum 2 atm cells. You should set \fBmpu\fR accordingly for that.
|
||||
+.IP \(bu
|
||||
+When size table is consulted, and you're shaping traffic for the sake of
|
||||
+another modem/router, ethernet header (without padding) will already be added
|
||||
+to initial packet's length. You should compensate for that by subtracting 14
|
||||
+from the above overheads in such case. If you're shaping directly on the router
|
||||
+(for example, with speedtouch usb modem) using ppp daemon, layer2 header will
|
||||
+not be added yet.
|
||||
+
|
||||
+For more thorough explanations, please see \fB[1]\fR and \fB[2]\fR.
|
||||
+.
|
||||
+.SH "SEE ALSO"
|
||||
+.
|
||||
+\fBtc\fR(8), \fBtc\-hfsc\fR(7), \fBtc\-hfsc\fR(8),
|
||||
+.br
|
||||
+\fB[1]\fR http://ace\-host.stuart.id.au/russell/files/tc/tc\-atm/
|
||||
+.br
|
||||
+\fB[2]\fR http://www.faqs.org/rfcs/rfc2684.html
|
||||
+
|
||||
+Please direct bugreports and patches to: <net...@vger.kernel.org>
|
||||
+.
|
||||
+.SH "AUTHOR"
|
||||
+.
|
||||
+Manpage created by Michal Soltys (sol...@ziu.info)
|
||||
--- iproute2/tc/q_hfsc.c
|
||||
+++ iproute2-new/tc/q_hfsc.c
|
||||
@@ -43,7 +43,7 @@
|
||||
fprintf(stderr,
|
||||
"Usage: ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]\n"
|
||||
"\n"
|
||||
- "SC := [ [ m1 BPS ] [ d SEC ] m2 BPS\n"
|
||||
+ "SC := [ [ m1 BPS ] d SEC ] m2 BPS\n"
|
||||
"\n"
|
||||
" m1 : slope of first segment\n"
|
||||
" d : x-coordinate of intersection\n"
|
||||
@@ -57,6 +57,10 @@
|
||||
" dmax : maximum delay\n"
|
||||
" rate : rate\n"
|
||||
"\n"
|
||||
+ "Remarks:\n"
|
||||
+ " - at least one of 'rt', 'ls' or 'sc' must be specified\n"
|
||||
+ " - 'ul' can only be specified with 'ls' or 'sc'\n"
|
||||
+ "\n"
|
||||
);
|
||||
}
|
||||
|
||||
--- iproute2/tc/tc_core.c
|
||||
+++ iproute2-new/tc/tc_core.c
|
||||
@@ -155,12 +155,12 @@
|
||||
}
|
||||
|
||||
if (s->mtu == 0)
|
||||
- s->mtu = 2047;
|
||||
+ s->mtu = 2048;
|
||||
if (s->tsize == 0)
|
||||
s->tsize = 512;
|
||||
|
||||
s->cell_log = 0;
|
||||
- while ((s->mtu >> s->cell_log) > s->tsize - 1)
|
||||
+ while ((s->mtu - 1 >> s->cell_log) > s->tsize - 1)
|
||||
s->cell_log++;
|
||||
|
||||
*stab = malloc(s->tsize * sizeof(__u16));
|
||||
--- iproute2/tc/tc_stab.c
|
||||
+++ iproute2-new/tc/tc_stab.c
|
||||
@@ -32,11 +32,15 @@
|
||||
fprintf(stderr,
|
||||
"Usage: ... stab [ mtu BYTES ] [ tsize SLOTS ] [ mpu BYTES ] \n"
|
||||
" [ overhead BYTES ] [ linklayer TYPE ] ...\n"
|
||||
- " mtu : max packet size we create rate map for {2047}\n"
|
||||
+ "TYPE := adsl | atm | ethernet\n"
|
||||
+ " mtu : max packet size we create size table for {2048}\n"
|
||||
" tsize : how many slots should size table have {512}\n"
|
||||
" mpu : minimum packet size used in rate computations\n"
|
||||
" overhead : per-packet size overhead used in rate computations\n"
|
||||
" linklayer : adapting to a linklayer e.g. atm\n"
|
||||
+ " mpu : minimum packet size used in size table computations\n"
|
||||
+ " overhead : per-packet size overhead used in size table computations\n"
|
||||
+ " linklayer : required linklayer adaptation, (adsl and atm are synonyms)\n"
|
||||
"Example: ... stab overhead 20 linklayer atm\n");
|
||||
|
||||
return;
|
@ -0,0 +1,34 @@
|
||||
http://bugs.gentoo.org/331447
|
||||
|
||||
From c73f3e02f8ae25e5daad0367690a3069895dd8a3 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Weber <uweber@astaro.com>
|
||||
Date: Thu, 12 Aug 2010 11:05:19 +0200
|
||||
Subject: [PATCH] iproute2: dont filter cached routes on iproute_get
|
||||
|
||||
iproute_get will return cloned routes for IPv4
|
||||
and cloned as well non-cloned routes for IPv6.
|
||||
|
||||
Therefore RTM_F_CLONED flag should not be checked
|
||||
for iproute_get routes. Check in print_route will
|
||||
always fail because valid values are 0 and 1.
|
||||
|
||||
Signed-off-by: Ulrich Weber <uweber@astaro.com>
|
||||
---
|
||||
ip/iproute.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/ip/iproute.c b/ip/iproute.c
|
||||
index 711576e..b43933c 100644
|
||||
--- a/ip/iproute.c
|
||||
+++ b/ip/iproute.c
|
||||
@@ -1286,6 +1286,7 @@ int iproute_get(int argc, char **argv)
|
||||
memset(&req, 0, sizeof(req));
|
||||
|
||||
iproute_reset_filter();
|
||||
+ filter.cloned = 2;
|
||||
|
||||
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
|
||||
req.n.nlmsg_flags = NLM_F_REQUEST;
|
||||
--
|
||||
1.7.2
|
||||
|
@ -0,0 +1,15 @@
|
||||
diff --git a/tc/Makefile b/tc/Makefile
|
||||
index 3aa9f26..0a827da 100644
|
||||
--- a/tc/Makefile
|
||||
+++ b/tc/Makefile
|
||||
@@ -58,7 +58,9 @@ else
|
||||
CFLAGS += -DTC_CONFIG_XT_H
|
||||
TCSO += m_xt_old.so
|
||||
else
|
||||
- TCMODULES += m_ipt.o
|
||||
+ ifneq ($(TC_CONFIG_XT),n)
|
||||
+ TCMODULES += m_ipt.o
|
||||
+ endif
|
||||
endif
|
||||
endif
|
||||
endif
|
@ -0,0 +1,27 @@
|
||||
https://bugs.gentoo.org/326849
|
||||
|
||||
allow ipv6 to be disabled
|
||||
|
||||
--- iproute2-2.6.31/ip/iptunnel.c
|
||||
+++ iproute2-2.6.31/ip/iptunnel.c
|
||||
@@ -456,13 +456,6 @@ int do_iptunnel(int argc, char **argv)
|
||||
break;
|
||||
case AF_INET:
|
||||
break;
|
||||
- /*
|
||||
- * This is silly enough but we have no easy way to make it
|
||||
- * protocol-independent because of unarranged structure between
|
||||
- * IPv4 and IPv6.
|
||||
- */
|
||||
- case AF_INET6:
|
||||
- return do_ip6tunnel(argc, argv);
|
||||
default:
|
||||
fprintf(stderr, "Unsupported family:%d\n", preferred_family);
|
||||
exit(-1);
|
||||
--- iproute2-2.6.31/ip/Makefile
|
||||
+++ iproute2-2.6.31/ip/Makefile
|
||||
@@ -1,4 +1,4 @@
|
||||
IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o \
|
||||
- rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
+ rtm_map.o iptunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o \
|
@ -0,0 +1,30 @@
|
||||
From 035ea3a8a1c9f67721fa0b53540620c7c49bc8ab Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Sun, 21 Nov 2010 16:07:26 -0500
|
||||
Subject: [PATCH] m_xt: stop using xtables_set_revision()
|
||||
|
||||
iptables dropped the xtables_set_revision() function around version 1.4.9,
|
||||
so set the rev directly ourselves. This should be compatible back to the
|
||||
original version m_xt itself is designed for.
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
tc/m_xt.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/tc/m_xt.c b/tc/m_xt.c
|
||||
index bfc4937..ede9913 100644
|
||||
--- a/tc/m_xt.c
|
||||
+++ b/tc/m_xt.c
|
||||
@@ -88,7 +88,7 @@ build_st(struct xtables_target *target, struct xt_entry_target *t)
|
||||
target->t = xtables_calloc(1, size);
|
||||
target->t->u.target_size = size;
|
||||
strcpy(target->t->u.user.name, target->name);
|
||||
- xtables_set_revision(target->t->u.user.name, target->revision);
|
||||
+ target->t->u.user.revision = target->revision;
|
||||
|
||||
if (target->init != NULL)
|
||||
target->init(target->t);
|
||||
--
|
||||
1.7.3.1
|
||||
|
@ -0,0 +1,40 @@
|
||||
sent upstream already
|
||||
|
||||
From f8a783bbe98b0fe5aaedbf623bc70471b88c9187 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Tue, 18 Oct 2011 17:36:55 -0400
|
||||
Subject: [PATCH] tc: fix parallel build file with lex/yacc
|
||||
|
||||
Building iproute2 in parallel might hit the race failure:
|
||||
emp_ematch.l:2:30: fatal error: emp_ematch.yacc.h:
|
||||
No such file or directory
|
||||
make[1]: *** [emp_ematch.lex.o] Error 1
|
||||
|
||||
This is because we currently allow the yacc/lex files to generate and
|
||||
compile in parallel. So add a simple dependency to make sure yacc has
|
||||
finished before we attempt to compile the lex output.
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
tc/Makefile | 5 +++++
|
||||
1 files changed, 5 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/tc/Makefile b/tc/Makefile
|
||||
index 08aa4ce..b2ca165 100644
|
||||
--- a/tc/Makefile
|
||||
+++ b/tc/Makefile
|
||||
@@ -136,6 +136,11 @@ m_xt_old.so: m_xt_old.c
|
||||
%.lex.c: %.l
|
||||
$(LEX) $(LEXFLAGS) -o$@ $<
|
||||
|
||||
+# our lexer includes the header from yacc, so make sure
|
||||
+# we don't attempt to compile it before the header has
|
||||
+# been generated as part of the yacc step.
|
||||
+emp_ematch.lex.o: emp_ematch.yacc.c
|
||||
+
|
||||
ifneq ($(SHARED_LIBS),y)
|
||||
|
||||
tc: static-syms.o
|
||||
--
|
||||
1.7.6.1
|
||||
|
48
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.1.0-mtu.patch
vendored
Normal file
48
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.1.0-mtu.patch
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
http://bugs.gentoo.org/291907
|
||||
|
||||
This patch was merged from two patches extracted from this thread:
|
||||
http://markmail.org/thread/qkd76gpdgefpjlfn
|
||||
|
||||
tc_stab.c: small fixes to commandline help
|
||||
|
||||
|
||||
tc_core.c:
|
||||
As kernel part of things relies on cell align which is always set to -1,
|
||||
I also added it to userspace computation stage. This way if someone
|
||||
specified e.g. 2048 and 512 for mtu and tsize respectively, one wouldn't
|
||||
end with tsize supporting mtu 4096 suddenly, New default mtu is also set
|
||||
to 2048 (disregarding weirdness of setting mtu to such values).
|
||||
|
||||
|
||||
Unless I missed something, this is harmless and feels cleaner, but if it's
|
||||
not allowed, documentation will have to be changed back to 2047 + extra
|
||||
explanation as well.
|
||||
|
||||
--- iproute2/tc/tc_core.c
|
||||
+++ iproute2/tc/tc_core.c
|
||||
@@ -155,12 +155,12 @@
|
||||
}
|
||||
|
||||
if (s->mtu == 0)
|
||||
- s->mtu = 2047;
|
||||
+ s->mtu = 2048;
|
||||
if (s->tsize == 0)
|
||||
s->tsize = 512;
|
||||
|
||||
s->cell_log = 0;
|
||||
- while ((s->mtu >> s->cell_log) > s->tsize - 1)
|
||||
+ while ((s->mtu - 1 >> s->cell_log) > s->tsize - 1)
|
||||
s->cell_log++;
|
||||
|
||||
*stab = malloc(s->tsize * sizeof(__u16));
|
||||
--- iproute2/tc/tc_stab.c
|
||||
+++ iproute2/tc/tc_stab.c
|
||||
@@ -32,7 +32,7 @@
|
||||
fprintf(stderr,
|
||||
"Usage: ... stab [ mtu BYTES ] [ tsize SLOTS ] [ mpu BYTES ] \n"
|
||||
" [ overhead BYTES ] [ linklayer TYPE ] ...\n"
|
||||
- " mtu : max packet size we create rate map for {2047}\n"
|
||||
+ " mtu : max packet size we create size table for {2048}\n"
|
||||
" tsize : how many slots should size table have {512}\n"
|
||||
" mpu : minimum packet size used in rate computations\n"
|
||||
" overhead : per-packet size overhead used in rate computations\n"
|
@ -0,0 +1,41 @@
|
||||
https://bugs.gentoo.org/326849
|
||||
|
||||
allow ipv6 to be disabled
|
||||
|
||||
--- a/ip/iptunnel.c
|
||||
+++ b/ip/iptunnel.c
|
||||
@@ -456,13 +456,6 @@ int do_iptunnel(int argc, char **argv)
|
||||
break;
|
||||
case AF_INET:
|
||||
break;
|
||||
- /*
|
||||
- * This is silly enough but we have no easy way to make it
|
||||
- * protocol-independent because of unarranged structure between
|
||||
- * IPv4 and IPv6.
|
||||
- */
|
||||
- case AF_INET6:
|
||||
- return do_ip6tunnel(argc, argv);
|
||||
default:
|
||||
fprintf(stderr, "Unsupported family:%d\n", preferred_family);
|
||||
exit(-1);
|
||||
--- a/ip/Makefile
|
||||
+++ b/ip/Makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \
|
||||
- rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
- ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o iptuntap.o \
|
||||
+ rtm_map.o iptunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
+ ipmaddr.o ipmonitor.o ipmroute.o iptuntap.o \
|
||||
ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o \
|
||||
iplink_vlan.o link_veth.o link_gre.o iplink_can.o \
|
||||
iplink_macvlan.o iplink_macvtap.o ipl2tp.o
|
||||
--- a/ip/ipmonitor.c
|
||||
+++ b/ip/ipmonitor.c
|
||||
@@ -76,7 +76,6 @@ int accept_msg(const struct sockaddr_nl *who,
|
||||
if (n->nlmsg_type == RTM_NEWPREFIX) {
|
||||
if (prefix_banner)
|
||||
fprintf(fp, "[PREFIX]");
|
||||
- print_prefix(who, n, arg);
|
||||
return 0;
|
||||
}
|
||||
if (n->nlmsg_type == RTM_NEWRULE || n->nlmsg_type == RTM_DELRULE) {
|
@ -0,0 +1,67 @@
|
||||
From 99762cbc216bb818e9fcbe37e1abf9b313968615 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Thu, 8 Nov 2012 11:31:26 -0500
|
||||
Subject: [PATCH] allow pkg-config to be customized
|
||||
|
||||
Rather than hard coding `pkg-config`, use ${PKG_CONFIG} so people can
|
||||
override it to their specific version (like when cross-compiling).
|
||||
|
||||
This is the same way the upstream pkg-config code works.
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
configure | 6 ++++--
|
||||
tc/Makefile | 4 ++--
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2c2d1c4..0bfedf9 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2,6 +2,8 @@
|
||||
# This is not an autconf generated configure
|
||||
#
|
||||
INCLUDE=${1:-"$PWD/include"}
|
||||
+: ${PKG_CONFIG:=pkg-config}
|
||||
+echo "PKG_CONFIG:=${PKG_CONFIG}" >>Config
|
||||
|
||||
# Make a temp directory in build tree.
|
||||
TMPDIR=$(mktemp -d config.XXXXXX)
|
||||
@@ -51,7 +53,7 @@ int main(int argc, char **argv)
|
||||
|
||||
EOF
|
||||
|
||||
-if gcc -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL $(pkg-config xtables --cflags --libs) -ldl >/dev/null 2>&1
|
||||
+if gcc -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL $(${PKG_CONFIG} xtables --cflags --libs) -ldl >/dev/null 2>&1
|
||||
then
|
||||
echo "TC_CONFIG_XT:=y" >>Config
|
||||
echo "using xtables"
|
||||
@@ -148,7 +150,7 @@ check_ipt()
|
||||
|
||||
check_ipt_lib_dir()
|
||||
{
|
||||
- IPT_LIB_DIR=$(pkg-config --variable=xtlibdir xtables)
|
||||
+ IPT_LIB_DIR=$(${PKG_CONFIG} --variable=xtlibdir xtables)
|
||||
if [ -n "$IPT_LIB_DIR" ]; then
|
||||
echo $IPT_LIB_DIR
|
||||
echo "IPT_LIB_DIR:=$IPT_LIB_DIR" >> Config
|
||||
diff --git a/tc/Makefile b/tc/Makefile
|
||||
index 389029d..696f891 100644
|
||||
--- a/tc/Makefile
|
||||
+++ b/tc/Makefile
|
||||
@@ -135,10 +135,10 @@ q_atm.so: q_atm.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
|
||||
|
||||
m_xt.so: m_xt.c
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt.so m_xt.c $$(pkg-config xtables --cflags --libs)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt.so m_xt.c $$($(PKG_CONFIG) xtables --cflags --libs)
|
||||
|
||||
m_xt_old.so: m_xt_old.c
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt_old.so m_xt_old.c $$(pkg-config xtables --cflags --libs)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt_old.so m_xt_old.c $$($(PKG_CONFIG) xtables --cflags --libs)
|
||||
|
||||
%.yacc.c: %.y
|
||||
$(YACC) $(YACCFLAGS) -o $@ $<
|
||||
--
|
||||
1.7.12.4
|
||||
|
72
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.7.0-clang.patch
vendored
Normal file
72
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.7.0-clang.patch
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
From 048bff6e0206bca33ee70516521f3048e7714752 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Thu, 17 Jan 2013 18:00:50 +0000
|
||||
Subject: [PATCH] ipxfrm: use alloca to allocate stack space
|
||||
|
||||
Clang doesn't support the gcc extension for embeddeding flexible arrays
|
||||
inside of structures. Use the slightly more portable alloca().
|
||||
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
ip/ipxfrm.c | 27 +++++++++++----------------
|
||||
1 file changed, 11 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c
|
||||
index c7b3420..dda4a7a 100644
|
||||
--- a/ip/ipxfrm.c
|
||||
+++ b/ip/ipxfrm.c
|
||||
@@ -25,6 +25,7 @@
|
||||
* Masahide NAKAMURA @USAGI
|
||||
*/
|
||||
|
||||
+#include <alloca.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -555,16 +556,13 @@ static inline void xfrm_algo_print(struct xfrm_algo *algo, int type, int len,
|
||||
static void xfrm_aead_print(struct xfrm_algo_aead *algo, int len,
|
||||
FILE *fp, const char *prefix)
|
||||
{
|
||||
- struct {
|
||||
- struct xfrm_algo algo;
|
||||
- char key[algo->alg_key_len / 8];
|
||||
- } base;
|
||||
+ struct xfrm_algo *base_algo = alloca(sizeof(*base_algo) + algo->alg_key_len / 8);
|
||||
|
||||
- memcpy(base.algo.alg_name, algo->alg_name, sizeof(base.algo.alg_name));
|
||||
- base.algo.alg_key_len = algo->alg_key_len;
|
||||
- memcpy(base.algo.alg_key, algo->alg_key, algo->alg_key_len / 8);
|
||||
+ memcpy(base_algo->alg_name, algo->alg_name, sizeof(base_algo->alg_name));
|
||||
+ base_algo->alg_key_len = algo->alg_key_len;
|
||||
+ memcpy(base_algo->alg_key, algo->alg_key, algo->alg_key_len / 8);
|
||||
|
||||
- __xfrm_algo_print(&base.algo, XFRMA_ALG_AEAD, len, fp, prefix, 0);
|
||||
+ __xfrm_algo_print(base_algo, XFRMA_ALG_AEAD, len, fp, prefix, 0);
|
||||
|
||||
fprintf(fp, " %d", algo->alg_icv_len);
|
||||
|
||||
@@ -574,16 +572,13 @@ static void xfrm_aead_print(struct xfrm_algo_aead *algo, int len,
|
||||
static void xfrm_auth_trunc_print(struct xfrm_algo_auth *algo, int len,
|
||||
FILE *fp, const char *prefix)
|
||||
{
|
||||
- struct {
|
||||
- struct xfrm_algo algo;
|
||||
- char key[algo->alg_key_len / 8];
|
||||
- } base;
|
||||
+ struct xfrm_algo *base_algo = alloca(sizeof(*base_algo) + algo->alg_key_len / 8);
|
||||
|
||||
- memcpy(base.algo.alg_name, algo->alg_name, sizeof(base.algo.alg_name));
|
||||
- base.algo.alg_key_len = algo->alg_key_len;
|
||||
- memcpy(base.algo.alg_key, algo->alg_key, algo->alg_key_len / 8);
|
||||
+ memcpy(base_algo->alg_name, algo->alg_name, sizeof(base_algo->alg_name));
|
||||
+ base_algo->alg_key_len = algo->alg_key_len;
|
||||
+ memcpy(base_algo->alg_key, algo->alg_key, algo->alg_key_len / 8);
|
||||
|
||||
- __xfrm_algo_print(&base.algo, XFRMA_ALG_AUTH_TRUNC, len, fp, prefix, 0);
|
||||
+ __xfrm_algo_print(base_algo, XFRMA_ALG_AUTH_TRUNC, len, fp, prefix, 0);
|
||||
|
||||
fprintf(fp, " %d", algo->alg_trunc_len);
|
||||
|
||||
--
|
||||
1.8.0.2
|
||||
|
55
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.7.0-man7.patch
vendored
Normal file
55
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/files/iproute2-3.7.0-man7.patch
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
From 18c1de8d742792d43ff81ebff9af5389e5be7cae Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Fri, 11 Jan 2013 11:34:08 -0500
|
||||
Subject: [PATCH] [iproute2] add man7 to subdirs list
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The man dir misses the man7 as a subdir which means none of the pages
|
||||
get installed.
|
||||
|
||||
URL: https://bugs.gentoo.org/451166
|
||||
Reported-by: Marcin Mirosław <bug@mejor.pl>
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
---
|
||||
man/Makefile | 2 +-
|
||||
man/man7/Makefile | 13 +++++++++++++
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
create mode 100644 man/man7/Makefile
|
||||
|
||||
diff --git a/man/Makefile b/man/Makefile
|
||||
index 67fea05..9a60fa7 100644
|
||||
--- a/man/Makefile
|
||||
+++ b/man/Makefile
|
||||
@@ -2,7 +2,7 @@ INSTALL=install
|
||||
INSTALLDIR=install -m 0755 -d
|
||||
INSTALLMAN=install -m 0644
|
||||
|
||||
-SUBDIRS = man3 man8
|
||||
+SUBDIRS = man3 man7 man8
|
||||
|
||||
all:
|
||||
@for subdir in $(SUBDIRS); do $(MAKE) -C $$subdir; done
|
||||
diff --git a/man/man7/Makefile b/man/man7/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..ccfd839
|
||||
--- /dev/null
|
||||
+++ b/man/man7/Makefile
|
||||
@@ -0,0 +1,13 @@
|
||||
+MAN7PAGES = tc-hfsc.7
|
||||
+
|
||||
+all:
|
||||
+
|
||||
+distclean: clean
|
||||
+
|
||||
+clean:
|
||||
+
|
||||
+install:
|
||||
+ $(INSTALLDIR) $(DESTDIR)$(MANDIR)/man7
|
||||
+ $(INSTALLMAN) $(MAN7PAGES) $(DESTDIR)$(MANDIR)/man7
|
||||
+
|
||||
+.PHONY: install clean distclean
|
||||
--
|
||||
1.8.0.2
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 03fdb011dd661315a83998af8af779d8f089e3fe Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Date: Wed, 17 Apr 2013 13:33:26 -0700
|
||||
Subject: [PATCH] ipnetns: fix build on older systems
|
||||
|
||||
Debian Squeeze has out of date <sys/mount.h> without the required flags.
|
||||
---
|
||||
ip/ipnetns.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/ip/ipnetns.c b/ip/ipnetns.c
|
||||
index b047b97..c9bc20a 100644
|
||||
--- a/ip/ipnetns.c
|
||||
+++ b/ip/ipnetns.c
|
||||
@@ -29,6 +29,20 @@
|
||||
#define MNT_DETACH 0x00000002 /* Just detach from the tree */
|
||||
#endif /* MNT_DETACH */
|
||||
|
||||
+/* sys/mount.h may be out too old to have these */
|
||||
+#ifndef MS_REC
|
||||
+#define MS_REC 16384
|
||||
+#endif
|
||||
+
|
||||
+#ifndef MS_SLAVE
|
||||
+#define MS_SLAVE (1 << 19)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef MS_SHARED
|
||||
+#define MS_SHARED (1 << 20)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
#ifndef HAVE_SETNS
|
||||
static int setns(int fd, int nstype)
|
||||
{
|
||||
--
|
||||
1.8.2.1
|
||||
|
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.29.1-r1.ebuild
vendored
Normal file
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.29.1-r1.ebuild
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.29.1-r1.ebuild,v 1.16 2012/06/01 04:26:02 zmedico Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils multilib toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
if [[ ${PV} == *.*.*.* ]] ; then
|
||||
MY_PV=${PV%.*}-${PV##*.}
|
||||
else
|
||||
MY_PV=${PV}
|
||||
fi
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
SRC_URI="http://developer.osdl.org/dev/iproute2/download/${MY_P}.tar.bz2"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )
|
||||
>=sys-kernel/linux-headers-2.6.27"
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git_src_unpack
|
||||
else
|
||||
unpack ${A}
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
sed -i "s:-O2:${CFLAGS} ${CPPFLAGS}:" Makefile || die "sed Makefile failed"
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6.26-ldflags.patch #236861
|
||||
epatch "${FILESDIR}"/${PN}-2.6.29.1-flush.patch #274973
|
||||
|
||||
epatch_user
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
# Multilib fixes
|
||||
sed -i 's:/usr/local:/usr:' tc/m_ipt.c include/iptables.h
|
||||
sed -i "s:/usr/lib:/usr/$(get_libdir):g" \
|
||||
netem/Makefile tc/{Makefile,tc.c,q_netem.c,m_ipt.c} include/iptables.h || die
|
||||
sed -i "s:/lib/tc:$(get_libdir)/tc:g" tc/Makefile || die
|
||||
# Use correct iptables dir, #144265
|
||||
sed -i "s:/usr/local/lib/iptables:/$(get_libdir)/iptables:g" \
|
||||
include/iptables.h
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
echo -n 'TC_CONFIG_ATM:=' > Config
|
||||
use atm \
|
||||
&& echo 'y' >> Config \
|
||||
|| echo 'n' >> Config
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
AR="$(tc-getAR)" \
|
||||
|| die "make failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc || die "minimal"
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
SBINDIR=/sbin \
|
||||
DOCDIR=/usr/share/doc/${PF} \
|
||||
MANDIR=/usr/share/man \
|
||||
install \
|
||||
|| die "make install failed"
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${D}"/sbin/arpd "${D}"/usr/sbin/
|
||||
fi
|
||||
}
|
107
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild
vendored
Normal file
107
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild,v 1.11 2012/06/01 04:26:02 zmedico Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils multilib toolchain-funcs flag-o-matic
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
if [[ ${PV} == *.*.*.* ]] ; then
|
||||
MY_PV=${PV%.*}-${PV##*.}
|
||||
else
|
||||
MY_PV=${PV}
|
||||
fi
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
SRC_URI="http://developer.osdl.org/dev/iproute2/download/${MY_P}.tar.bz2"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6.29.1-hfsc.patch #291907
|
||||
epatch "${FILESDIR}"/${P}-cached-routes.patch #331447
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-2.6.35-no-ipv6.patch #326849
|
||||
|
||||
epatch_user
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
echo -n 'TC_CONFIG_ATM:=' > Config
|
||||
use atm \
|
||||
&& echo 'y' >> Config \
|
||||
|| echo 'n' >> Config
|
||||
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
append-cppflags -DIPT_LIB_DIR=\\\"`$(tc-getPKG_CONFIG) xtables --variable=xtlibdir`\\\"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
AR="$(tc-getAR)" \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc || die "minimal"
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
SBINDIR=/sbin \
|
||||
DOCDIR=/usr/share/doc/${PF} \
|
||||
MANDIR=/usr/share/man \
|
||||
install \
|
||||
|| die
|
||||
prepalldocs
|
||||
|
||||
dolib.a lib/libnetlink.a || die
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h || die
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${D}"/sbin/arpd "${D}"/usr/sbin/
|
||||
fi
|
||||
}
|
113
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.35-r3.ebuild
vendored
Normal file
113
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.35-r3.ebuild
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.35-r3.ebuild,v 1.5 2012/06/01 04:26:02 zmedico Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils multilib toolchain-funcs flag-o-matic
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
if [[ ${PV} == *.*.*.* ]] ; then
|
||||
MY_PV=${PV%.*}-${PV##*.}
|
||||
else
|
||||
MY_PV=${PV}
|
||||
fi
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
SRC_URI="http://developer.osdl.org/dev/iproute2/download/${MY_P}.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
iptables? ( virtual/pkgconfig )
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.6.29.1-hfsc.patch #291907
|
||||
epatch "${FILESDIR}"/${P}-cached-routes.patch #331447
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-2.6.35-no-ipv6.patch #326849
|
||||
epatch "${FILESDIR}"/${PN}-2.6.35-xtables.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.6.35-no-iptables.patch
|
||||
|
||||
epatch_user
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
use_yn() { use $1 && echo y || echo n ; }
|
||||
src_configure() {
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(use_yn atm)
|
||||
TC_CONFIG_XT := $(use_yn iptables)
|
||||
EOF
|
||||
if use iptables ; then
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
append-cppflags -DXT_LIB_DIR=\\\"`$(tc-getPKG_CONFIG) xtables --variable=xtlibdir`\\\"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
AR="$(tc-getAR)" \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc || die "minimal"
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
SBINDIR=/sbin \
|
||||
DOCDIR=/usr/share/doc/${PF} \
|
||||
MANDIR=/usr/share/man \
|
||||
install \
|
||||
|| die
|
||||
prepalldocs
|
||||
|
||||
dolib.a lib/libnetlink.a || die
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h || die
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${D}"/sbin/arpd "${D}"/usr/sbin/
|
||||
fi
|
||||
}
|
90
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.38.ebuild
vendored
Normal file
90
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-2.6.38.ebuild
vendored
Normal file
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.38.ebuild,v 1.12 2012/06/01 04:26:02 zmedico Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils multilib toolchain-funcs flag-o-matic
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.bz2"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-2.6.29.1-hfsc.patch #291907
|
||||
epatch "${FILESDIR}"/${PN}-2.6.38-parallel-build.patch
|
||||
|
||||
sed -i \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
echo "TC_CONFIG_ATM:=$(use atm && echo "y" || echo "n")" > Config
|
||||
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
append-cppflags -DIPT_LIB_DIR=\\\"`$(tc-getPKG_CONFIG) xtables --variable=xtlibdir`\\\"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
AR="$(tc-getAR)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
SBINDIR=/sbin \
|
||||
DOCDIR=/usr/share/doc/${PF} \
|
||||
MANDIR=/usr/share/man \
|
||||
install
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/sbin/
|
||||
fi
|
||||
}
|
101
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.1.0.ebuild
vendored
Normal file
101
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.1.0.ebuild
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.1.0.ebuild,v 1.6 2012/06/01 04:26:02 zmedico Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils multilib toolchain-funcs flag-o-matic
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
SBINDIR=/sbin \
|
||||
DOCDIR=/usr/share/doc/${PF} \
|
||||
MANDIR=/usr/share/man \
|
||||
install
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/sbin/
|
||||
fi
|
||||
}
|
105
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.3.0.ebuild
vendored
Normal file
105
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.3.0.ebuild
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.3.0.ebuild,v 1.9 2012/05/22 21:15:07 xmw Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/sbin/
|
||||
fi
|
||||
}
|
106
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.4.0.ebuild
vendored
Normal file
106
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.4.0.ebuild
vendored
Normal file
@ -0,0 +1,106 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.4.0.ebuild,v 1.1 2012/07/16 08:48:45 radhermit Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/sbin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/sbin/
|
||||
fi
|
||||
}
|
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.5.1.ebuild
vendored
Normal file
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.5.1.ebuild
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.5.1.ebuild,v 1.1 2012/08/13 18:08:52 vapier Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
110
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.6.0.ebuild
vendored
Normal file
110
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.6.0.ebuild
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.6.0.ebuild,v 1.2 2012/11/08 16:40:45 vapier Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
epatch "${FILESDIR}"/${PN}-3.6.0-pkg-config.patch #442354
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
112
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.7.0.ebuild
vendored
Normal file
112
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.7.0.ebuild
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.7.0.ebuild,v 1.5 2013/02/10 08:38:29 vapier Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
epatch "${FILESDIR}"/${PN}-3.7.0-man7.patch #451166
|
||||
epatch "${FILESDIR}"/${PN}-3.7.0-clang.patch
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
-e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
116
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.8.0.ebuild
vendored
Normal file
116
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.8.0.ebuild
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.8.0.ebuild,v 1.14 2013/05/04 05:09:02 vapier Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 ~sh sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
epatch "${FILESDIR}"/${P}-old-mount-libc.patch #468120
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
-e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
|
||||
-e "/^WFLAGS/s:-Werror::" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
rm "${ED}"/usr/share/doc/${PF}/*.{sgml,tex} || die #455988
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
# This local header pulls in a lot of linux headers it
|
||||
# doesn't directly need. Delete this header that requires
|
||||
# linux-headers-3.8 until that goes stable. #467716
|
||||
sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
115
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.9.0.ebuild
vendored
Normal file
115
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-3.9.0.ebuild
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-3.9.0.ebuild,v 1.1 2013/05/01 06:29:19 radhermit Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
-e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
|
||||
-e "/^WFLAGS/s:-Werror::" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
rm "${ED}"/usr/share/doc/${PF}/*.{sgml,tex} || die #455988
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
# This local header pulls in a lot of linux headers it
|
||||
# doesn't directly need. Delete this header that requires
|
||||
# linux-headers-3.8 until that goes stable. #467716
|
||||
sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-9999.ebuild
vendored
Normal file
109
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/iproute2-9999.ebuild
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-9999.ebuild,v 1.23 2012/12/14 06:40:51 vapier Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb +iptables ipv6 minimal"
|
||||
|
||||
RDEPEND="!net-misc/arpd
|
||||
iptables? ( >=net-firewall/iptables-1.4.5 )
|
||||
!minimal? ( berkdb? ( sys-libs/db ) )
|
||||
atm? ( net-dialup/linux-atm )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6.27
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
use ipv6 || epatch "${FILESDIR}"/${PN}-3.1.0-no-ipv6.patch #326849
|
||||
|
||||
sed -i \
|
||||
-e '/^CC =/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
Makefile || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
# don't build arpd if USE=-berkdb #81660
|
||||
use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null
|
||||
echo 'main(){return setns();};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'main(){};' > test.c
|
||||
${CC} ${CFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
9
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/metadata.xml
vendored
Normal file
9
sdk_container/src/third_party/coreos-overlay/sys-apps/iproute2/metadata.xml
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>base-system</herd>
|
||||
<use>
|
||||
<flag name='berkdb'>build programs that use berkdb (just arpd)</flag>
|
||||
<flag name='iptables'>include support for iptables filtering</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
Loading…
Reference in New Issue
Block a user