Blame view

include/net/mpls.h 932 Bytes
25cd9ba0a   Simon Horman   openvswitch: Add ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  /*
   * Copyright (c) 2014 Nicira, Inc.
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of version 2 of the GNU General Public
   * License as published by the Free Software Foundation.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   * General Public License for more details.
   */
  
  #ifndef _NET_MPLS_H
  #define _NET_MPLS_H 1
  
  #include <linux/if_ether.h>
  #include <linux/netdevice.h>
  
  #define MPLS_HLEN 4
9095e10ed   Jiri Benc   mpls: move mpls_h...
21
22
23
  struct mpls_shim_hdr {
  	__be32 label_stack_entry;
  };
25cd9ba0a   Simon Horman   openvswitch: Add ...
24
25
26
27
28
  static inline bool eth_p_mpls(__be16 eth_type)
  {
  	return eth_type == htons(ETH_P_MPLS_UC) ||
  		eth_type == htons(ETH_P_MPLS_MC);
  }
9095e10ed   Jiri Benc   mpls: move mpls_h...
29
30
31
32
  static inline struct mpls_shim_hdr *mpls_hdr(const struct sk_buff *skb)
  {
  	return (struct mpls_shim_hdr *)skb_network_header(skb);
  }
25cd9ba0a   Simon Horman   openvswitch: Add ...
33
  #endif