Hi Jamal,

On 2020-11-19 0:11, Jamal Hadi Salim wrote:
> The 11/17/2020 14:30, Xiaoliang Yang wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you 
>> know the content is safe
>>
>> This patch introduce a redundancy flow action to implement frame 
>> replication and elimination for reliability, which is defined in IEEE 
>> P802.1CB.
>>
>> There are two modes for redundancy action: generator and recover mode.
>> Generator mode add redundancy tag and replicate the frame to 
>> different egress ports. Recover mode drop the repeat frames and 
>> remove redundancy tag from the frame.
>>
>> Below is the setting example in user space:
>>          > tc qdisc add dev swp0 clsact
>>          > tc filter add dev swp0 ingress protocol 802.1Q flower \
>>                  skip_hw dst_mac 00:01:02:03:04:05 vlan_id 1 \
>>                  action redundancy generator split dev swp1 dev swp2
>>
>>          > tc filter add dev swp0 ingress protocol 802.1Q flower
>>                  skip_hw dst_mac 00:01:02:03:04:06 vlan_id 1 \
>>                  action redundancy recover
>>

> Please CC _all_ maintainers for best feedback (+Cc Cong) and it is 
> unnecessary to cc lists like linux-kernel (removed).
>
> We already have mirroring + ability to add/pop tags.
> Would the following not work?
>
> Example, generator mode:
> tc filter add dev swp0 ingress protocol 802.1Q flower \ action vlan push id 
> 789 protocol 802.1q \ action mirred egress mirror dev swp1 \ action mirred 
> egress mirror dev swp2
>
> recovery mode:
> tc filter add dev swp0 ingress protocol 802.1Q flower \ skip_hw dst_mac 
> 00:01:02:03:04:06 vlan_id 1 \ actopm vlan pop
>

Action mirred only copy the packets and forward to different egress ports. 
802.1CB need to add a redundancy tag before forward. Recovery mode need pop the 
redundancy tag and check sequence in R-TAG, drop the repeat frames. So I added 
a new action to do this.

Thanks,
Xiaoliang

Reply via email to