dpif-netdev: Clarify function to modify VLAN TCI field
authorJustin Pettit <jpettit@nicira.com>
Sun, 21 Feb 2010 03:50:14 +0000 (19:50 -0800)
committerJustin Pettit <jpettit@nicira.com>
Sun, 21 Feb 2010 03:51:28 +0000 (19:51 -0800)
lib/dpif-netdev.c

index ac0a8caac1ba752f21f682742ed465b92470fef3..e19cb34a272076c576b02674a1a0c37204a6cd39 100644 (file)
@@ -1080,6 +1080,15 @@ dp_netdev_wait(void)
     }
 }
 
+
+/* Modify the TCI field of 'packet'.  If a VLAN tag is not present, one
+ * is added with the TCI field set to 'tci'.  If a VLAN tag is present, 
+ * then 'mask' bits are cleared before 'tci' is logically OR'd into the
+ * TCI field.
+ *
+ * Note that the function does not ensure that 'tci' does not affect
+ * bits outside of 'mask'.
+ */
 static void
 dp_netdev_modify_vlan_tci(struct ofpbuf *packet, flow_t *key,
                           uint16_t tci, uint16_t mask)
@@ -1087,7 +1096,7 @@ dp_netdev_modify_vlan_tci(struct ofpbuf *packet, flow_t *key,
     struct vlan_eth_header *veh;
 
     if (key->dl_vlan != htons(ODP_VLAN_NONE)) {
-        /* Modify 'mask' bits, but maintain other TCI bits. */
+        /* Clear 'mask' bits, but maintain other TCI bits. */
         veh = packet->l2;
         veh->veth_tci &= ~htons(mask);
         veh->veth_tci |= htons(tci);