@@ -185,10 +185,6 @@ static int pop_mpls(struct sk_buff *skb, struct sw_flow_key *key,
185185 return 0 ;
186186}
187187
188- /* 'KEY' must not have any bits set outside of the 'MASK' */
189- #define MASKED (OLD , KEY , MASK ) ((KEY) | ((OLD) & ~(MASK)))
190- #define SET_MASKED (OLD , KEY , MASK ) ((OLD) = MASKED(OLD, KEY, MASK))
191-
192188static int set_mpls (struct sk_buff * skb , struct sw_flow_key * flow_key ,
193189 const __be32 * mpls_lse , const __be32 * mask )
194190{
@@ -201,7 +197,7 @@ static int set_mpls(struct sk_buff *skb, struct sw_flow_key *flow_key,
201197 return err ;
202198
203199 stack = (__be32 * )skb_mpls_header (skb );
204- lse = MASKED (* stack , * mpls_lse , * mask );
200+ lse = OVS_MASKED (* stack , * mpls_lse , * mask );
205201 if (skb -> ip_summed == CHECKSUM_COMPLETE ) {
206202 __be32 diff [] = { ~(* stack ), lse };
207203
@@ -244,9 +240,9 @@ static void ether_addr_copy_masked(u8 *dst_, const u8 *src_, const u8 *mask_)
244240 const u16 * src = (const u16 * )src_ ;
245241 const u16 * mask = (const u16 * )mask_ ;
246242
247- SET_MASKED (dst [0 ], src [0 ], mask [0 ]);
248- SET_MASKED (dst [1 ], src [1 ], mask [1 ]);
249- SET_MASKED (dst [2 ], src [2 ], mask [2 ]);
243+ OVS_SET_MASKED (dst [0 ], src [0 ], mask [0 ]);
244+ OVS_SET_MASKED (dst [1 ], src [1 ], mask [1 ]);
245+ OVS_SET_MASKED (dst [2 ], src [2 ], mask [2 ]);
250246}
251247
252248static int set_eth_addr (struct sk_buff * skb , struct sw_flow_key * flow_key ,
@@ -338,10 +334,10 @@ static void update_ipv6_checksum(struct sk_buff *skb, u8 l4_proto,
338334static void mask_ipv6_addr (const __be32 old [4 ], const __be32 addr [4 ],
339335 const __be32 mask [4 ], __be32 masked [4 ])
340336{
341- masked [0 ] = MASKED (old [0 ], addr [0 ], mask [0 ]);
342- masked [1 ] = MASKED (old [1 ], addr [1 ], mask [1 ]);
343- masked [2 ] = MASKED (old [2 ], addr [2 ], mask [2 ]);
344- masked [3 ] = MASKED (old [3 ], addr [3 ], mask [3 ]);
337+ masked [0 ] = OVS_MASKED (old [0 ], addr [0 ], mask [0 ]);
338+ masked [1 ] = OVS_MASKED (old [1 ], addr [1 ], mask [1 ]);
339+ masked [2 ] = OVS_MASKED (old [2 ], addr [2 ], mask [2 ]);
340+ masked [3 ] = OVS_MASKED (old [3 ], addr [3 ], mask [3 ]);
345341}
346342
347343static void set_ipv6_addr (struct sk_buff * skb , u8 l4_proto ,
@@ -358,15 +354,15 @@ static void set_ipv6_addr(struct sk_buff *skb, u8 l4_proto,
358354static void set_ipv6_fl (struct ipv6hdr * nh , u32 fl , u32 mask )
359355{
360356 /* Bits 21-24 are always unmasked, so this retains their values. */
361- SET_MASKED (nh -> flow_lbl [0 ], (u8 )(fl >> 16 ), (u8 )(mask >> 16 ));
362- SET_MASKED (nh -> flow_lbl [1 ], (u8 )(fl >> 8 ), (u8 )(mask >> 8 ));
363- SET_MASKED (nh -> flow_lbl [2 ], (u8 )fl , (u8 )mask );
357+ OVS_SET_MASKED (nh -> flow_lbl [0 ], (u8 )(fl >> 16 ), (u8 )(mask >> 16 ));
358+ OVS_SET_MASKED (nh -> flow_lbl [1 ], (u8 )(fl >> 8 ), (u8 )(mask >> 8 ));
359+ OVS_SET_MASKED (nh -> flow_lbl [2 ], (u8 )fl , (u8 )mask );
364360}
365361
366362static void set_ip_ttl (struct sk_buff * skb , struct iphdr * nh , u8 new_ttl ,
367363 u8 mask )
368364{
369- new_ttl = MASKED (nh -> ttl , new_ttl , mask );
365+ new_ttl = OVS_MASKED (nh -> ttl , new_ttl , mask );
370366
371367 csum_replace2 (& nh -> check , htons (nh -> ttl << 8 ), htons (new_ttl << 8 ));
372368 nh -> ttl = new_ttl ;
@@ -392,15 +388,15 @@ static int set_ipv4(struct sk_buff *skb, struct sw_flow_key *flow_key,
392388 * makes sense to check if the value actually changed.
393389 */
394390 if (mask -> ipv4_src ) {
395- new_addr = MASKED (nh -> saddr , key -> ipv4_src , mask -> ipv4_src );
391+ new_addr = OVS_MASKED (nh -> saddr , key -> ipv4_src , mask -> ipv4_src );
396392
397393 if (unlikely (new_addr != nh -> saddr )) {
398394 set_ip_addr (skb , nh , & nh -> saddr , new_addr );
399395 flow_key -> ipv4 .addr .src = new_addr ;
400396 }
401397 }
402398 if (mask -> ipv4_dst ) {
403- new_addr = MASKED (nh -> daddr , key -> ipv4_dst , mask -> ipv4_dst );
399+ new_addr = OVS_MASKED (nh -> daddr , key -> ipv4_dst , mask -> ipv4_dst );
404400
405401 if (unlikely (new_addr != nh -> daddr )) {
406402 set_ip_addr (skb , nh , & nh -> daddr , new_addr );
@@ -488,7 +484,8 @@ static int set_ipv6(struct sk_buff *skb, struct sw_flow_key *flow_key,
488484 * (__be32 * )nh & htonl (IPV6_FLOWINFO_FLOWLABEL );
489485 }
490486 if (mask -> ipv6_hlimit ) {
491- SET_MASKED (nh -> hop_limit , key -> ipv6_hlimit , mask -> ipv6_hlimit );
487+ OVS_SET_MASKED (nh -> hop_limit , key -> ipv6_hlimit ,
488+ mask -> ipv6_hlimit );
492489 flow_key -> ip .ttl = nh -> hop_limit ;
493490 }
494491 return 0 ;
@@ -517,8 +514,8 @@ static int set_udp(struct sk_buff *skb, struct sw_flow_key *flow_key,
517514
518515 uh = udp_hdr (skb );
519516 /* Either of the masks is non-zero, so do not bother checking them. */
520- src = MASKED (uh -> source , key -> udp_src , mask -> udp_src );
521- dst = MASKED (uh -> dest , key -> udp_dst , mask -> udp_dst );
517+ src = OVS_MASKED (uh -> source , key -> udp_src , mask -> udp_src );
518+ dst = OVS_MASKED (uh -> dest , key -> udp_dst , mask -> udp_dst );
522519
523520 if (uh -> check && skb -> ip_summed != CHECKSUM_PARTIAL ) {
524521 if (likely (src != uh -> source )) {
@@ -558,12 +555,12 @@ static int set_tcp(struct sk_buff *skb, struct sw_flow_key *flow_key,
558555 return err ;
559556
560557 th = tcp_hdr (skb );
561- src = MASKED (th -> source , key -> tcp_src , mask -> tcp_src );
558+ src = OVS_MASKED (th -> source , key -> tcp_src , mask -> tcp_src );
562559 if (likely (src != th -> source )) {
563560 set_tp_port (skb , & th -> source , src , & th -> check );
564561 flow_key -> tp .src = src ;
565562 }
566- dst = MASKED (th -> dest , key -> tcp_dst , mask -> tcp_dst );
563+ dst = OVS_MASKED (th -> dest , key -> tcp_dst , mask -> tcp_dst );
567564 if (likely (dst != th -> dest )) {
568565 set_tp_port (skb , & th -> dest , dst , & th -> check );
569566 flow_key -> tp .dst = dst ;
@@ -590,8 +587,8 @@ static int set_sctp(struct sk_buff *skb, struct sw_flow_key *flow_key,
590587 old_csum = sh -> checksum ;
591588 old_correct_csum = sctp_compute_cksum (skb , sctphoff );
592589
593- sh -> source = MASKED (sh -> source , key -> sctp_src , mask -> sctp_src );
594- sh -> dest = MASKED (sh -> dest , key -> sctp_dst , mask -> sctp_dst );
590+ sh -> source = OVS_MASKED (sh -> source , key -> sctp_src , mask -> sctp_src );
591+ sh -> dest = OVS_MASKED (sh -> dest , key -> sctp_dst , mask -> sctp_dst );
595592
596593 new_csum = sctp_compute_cksum (skb , sctphoff );
597594
@@ -770,12 +767,13 @@ static int execute_masked_set_action(struct sk_buff *skb,
770767
771768 switch (nla_type (a )) {
772769 case OVS_KEY_ATTR_PRIORITY :
773- SET_MASKED (skb -> priority , nla_get_u32 (a ), * get_mask (a , u32 * ));
770+ OVS_SET_MASKED (skb -> priority , nla_get_u32 (a ),
771+ * get_mask (a , u32 * ));
774772 flow_key -> phy .priority = skb -> priority ;
775773 break ;
776774
777775 case OVS_KEY_ATTR_SKB_MARK :
778- SET_MASKED (skb -> mark , nla_get_u32 (a ), * get_mask (a , u32 * ));
776+ OVS_SET_MASKED (skb -> mark , nla_get_u32 (a ), * get_mask (a , u32 * ));
779777 flow_key -> phy .skb_mark = skb -> mark ;
780778 break ;
781779
0 commit comments