diff mbox

[ovs-dev,net-next,V17,2/3] Check for vlan ethernet types for 8021.q or 802.1ad

Message ID 1445818286-4870-3-git-send-email-thomasfherbert@gmail.com
State Not Applicable
Headers show

Commit Message

Thomas F Herbert Oct. 26, 2015, 12:11 a.m. UTC
Signed-off-by: Thomas F Herbert <thomasfherbert@gmail.com>
---
 include/linux/if_vlan.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Thomas F Herbert Oct. 27, 2015, 12:04 p.m. UTC | #1
On 10/26/15 8:14 AM, Albino B Neto wrote:
> 2015-10-25 22:11 GMT-02:00 Thomas F Herbert <thomasfherbert@gmail.com>:
>> Signed-off-by: Thomas F Herbert <thomasfherbert@gmail.com>
>> ---
>>   include/linux/if_vlan.h | 16 ++++++++++++++++
>>   1 file changed, 16 insertions(+)
>>
>> diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
>> index 67ce5bd..d2494b5 100644
>> --- a/include/linux/if_vlan.h
>> +++ b/include/linux/if_vlan.h
>> @@ -627,6 +627,22 @@ static inline netdev_features_t vlan_features_check(const struct sk_buff *skb,
>>
>>          return features;
>>   }
>> +/**
>> + * eth_type_vlan - check for valid vlan ether type.
>> + * @ethertype: ether type to check
>> + *
>> + * Returns true if the ether type is a vlan ether type.
>> + */
>> +static inline bool eth_type_vlan(__be16 ethertype)
>> +{
>> +       switch (ethertype) {
>> +       case htons(ETH_P_8021Q):
>> +       case htons(ETH_P_8021AD):
>> +               return true;
>> +       default:
>> +               return false;
>> +       }
>> +}
>>
>>   /**
>>    * compare_vlan_header - Compare two vlan headers
> Description ?
This patch simplifies the code for openvswitch and potential other vlan 
code and drivers. There are at least two valid ether types for vlans and 
this code simplifies the openvswitch kernel module by simplifying code 
that checks for the presence of vlans. Do you want me to annotate the 
commit with additional description?
>
>     Albino
diff mbox

Patch

diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 67ce5bd..d2494b5 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -627,6 +627,22 @@  static inline netdev_features_t vlan_features_check(const struct sk_buff *skb,
 
 	return features;
 }
+/**
+ * eth_type_vlan - check for valid vlan ether type.
+ * @ethertype: ether type to check
+ *
+ * Returns true if the ether type is a vlan ether type.
+ */
+static inline bool eth_type_vlan(__be16 ethertype)
+{
+	switch (ethertype) {
+	case htons(ETH_P_8021Q):
+	case htons(ETH_P_8021AD):
+		return true;
+	default:
+		return false;
+	}
+}
 
 /**
  * compare_vlan_header - Compare two vlan headers