লিনাক্স ব্রিজটিতে নির্মিত হ্যাশ ফিল্টারিং সহ আমার একটি সুন্দর শেপার রয়েছে at সংক্ষেপে, br0
সংযোগগুলি external
এবং internal
শারীরিক ইন্টারফেসগুলিতে, ভিএলএএন ট্যাগযুক্ত প্যাকেটগুলি "স্বচ্ছভাবে" ব্রিজ করা হয় (মানে, কোনও ভিএলএএন ইন্টারফেস নেই)।
এখন, বিভিন্ন কার্নেল এটি আলাদাভাবে করে। সঠিক কার্নেল ভার্শন রেঞ্জগুলির সাথে আমি ভুল হতে পারি, দয়া করে আমাকে ক্ষমা করুন। ধন্যবাদ।
2.6.26
সুতরাং, ডেবিয়ানে, ২.6.২6 এবং তার উপরে (২.6.৩২ অবধি, আমি বিশ্বাস করি) --- এটি কাজ করে:
tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \
u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200
এখানে, "কার্নেল" 0x8100 এর সাথে "প্রোটোকল" ফিল্ডে দুটি বাইটের সাথে মেলে, তবে আইপি প্যাকেটের শুরুটিকে "শূন্য অবস্থান" হিসাবে গণ্য করেছে (আমার ইংরেজির জন্য দুঃখিত, আমি যদি কিছুটা অস্পষ্ট না হই)।
2.6.32
আবার, ডেবিয়ানে (আমি ভ্যানিলা কার্নেলটি তৈরি করি নি), 2.6.32-5 --- এটি কাজ করে:
tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \
u32 ht 1:64 match ip dst 192.168.1.100 at 20 flowid 1:200
এখানে, "কার্নেল" প্রোটোকলের জন্য একই মেলে তবে এই প্রোটোকলের শিরোনামের শুরু থেকে অফসেট গণনা করা হয়েছে --- আমাকে অফসেটে 4 বাইট যুক্ত করতে হবে (20, ডিএসটি ঠিকানার জন্য নয় 20)। এটা ঠিক, আমার জন্য যেমন আরও যৌক্তিক মনে হয়।
৩.২.১১, এখন সর্বশেষতম স্থিতিশীল
এটি কাজ করে --- যেন কোনও 802.1q ট্যাগ নেই:
tc filter add dev internal protocol ip parent 1:0 prio 100 \
u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200
সমস্যাটি হ'ল আমি এ পর্যন্ত 802.1q ট্যাগের সাথে ম্যাচের কোনও উপায় খুঁজে পাইনি।
অতীতে 802.1q ট্যাগের সাথে মিলছে
আমি নিম্নলিখিত হিসাবে এটি আগে করতে পারে:
tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \
u32 match u16 0x0ed8 0x0fff at -4 flowid 1:300
এখন আমি সঙ্গে 802.1Q ট্যাগ মেলে অক্ষম নই at 0
, at -2
, at -4
, at -6
বা মত যে। আমার কাছে মুখ্য সমস্যাটি শূন্যের হিট কাউন্ট --- --- এই ফিল্টারটি একেবারেই চেক করা হচ্ছে না, "ভুল প্রোটোকল", অন্য কথায়।
দয়া করে, যে কেউ, আমাকে সহায়তা করুন :-)
ধন্যবাদ!
protocol all
আমাকে দেয়RTNETLINK answers: Invalid argument
(এখানে 3.3.4 কার্নেল)। আমি এটি আরও নতুন কার্নেল দিয়ে পরীক্ষা করব। ধন্যবাদ.