tc-ematch(8), Linux'taki trafik kontrolü (tc) filtreleri için gelişmiş eşleştirme yetenekleri sunan bir araçtır. basic, cgroup veya flow filtreleriyle birlikte kullanılarak ağ paketlerinin daha karmaşık kriterlere göre filtrelenmesini sağlar. Bu genişletilmiş eşleştirme modülleri, ağ yöneticilerine ve sistem mühendislerine, paket verileri üzerinde daha detaylı kontrol imkanı tanır. Bu sayede, standart filtrelerin ötesine geçerek özelleştirilmiş ve hassas trafik yönetimi senaryoları uygulanabilir.
ematch modülleri arasında cmp ile paket verilerinin belirli bir değere göre aritmetik karşılaştırması yapılabilirken, meta modülü Netfilter işareti, VLAN etiketi veya soket arabellek boyutları gibi paket meta verilerine göre eşleştirme yapma olanağı sunar. nbyte ile paket içindeki belirli bir bayt dizisi aranabilir, u32 ise rastgele 32-bit değerleri eşleştirmek için kullanılır. Ayrıca, ipset entegrasyonu sayesinde paketlerin belirli bir ipset üyeliğine göre filtrelenmesi, ipt ile xtables (iptables/ip6tables) kurallarına göre eşleştirme yapılması ve canid ile CAN (Controller Area Network) çerçevelerinin kimliklerine göre filtrelenmesi mümkündür.
Bu esneklik, ağ trafiğini çok daha granüler bir düzeyde yönetme, belirli trafik türlerini önceliklendirme veya engelleme gibi senaryolarda kritik rol oynar. ematch sözdizimi, ifadeleri gruplamak için parantezler kullanır ve kabuk komut satırının bunları doğrudan yorumlamasını önlemek için doğru şekilde kaçırılması gerekir. Özellikle ipset ile ifb cihazı kullanılırken, giden cihazın ifb cihazının kendisi olarak kabul edilmesi gibi bazı özel durumlar da mevcuttur.
tc-ematch, Linux ağ filtreleme yeteneklerini genişleterek sistem yöneticilerine trafik yönetimi üzerinde daha derin ve esnek bir kontrol sağlar.