diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 17:41:24 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 17:41:24 -0500 |
| commit | 99f1c97dbdb30e958edfd1ced0ae43df62504e07 (patch) | |
| tree | cc61393c912b3c1b095a9c74322f8e1364ab9b3a /include/net/ip.h | |
| parent | b31fde6db2b76a9f7f59bf016652b46cff43f8da (diff) | |
| parent | 8176d297c73a06e6076c9c31f6404047567f6324 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (81 commits)
RDMA/cxgb3: Fix the T3A workaround checks
IB/ipath: Remove unnecessary cast
IPoIB: Constify seq_operations function pointer tables
RDMA/cxgb3: Mark QP as privileged based on user capabilities
RDMA/cxgb3: Fix page shift calculation in build_phys_page_list()
RDMA/cxgb3: Flush the receive queue when closing
IB/ipath: Trivial simplification of ipath_make_ud_req()
IB/mthca: Update latest "native Arbel" firmware revision
IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler
IB/ipath: Add mappings from HW register to PortInfo port physical state
IB/ipath: Changes to support PIO bandwidth check on IBA7220
IB/ipath: Minor cleanup of unused fields and chip-specific errors
IB/ipath: New sysfs entries to control 7220 features
IB/ipath: Add new chip-specific functions to older chips, consistent init
IB/ipath: Remove unused MDIO interface code
IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware
IB/ehca: Add "port connection autodetect mode"
IB/ehca: Define array to store SMI/GSI QPs
IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp()
IB/iser: Add change_queue_depth method
...
Diffstat (limited to 'include/net/ip.h')
| -rw-r--r-- | include/net/ip.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 840dd91b513b..50c8889b1b8d 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
| @@ -266,20 +266,22 @@ static inline void ip_eth_mc_map(__be32 naddr, char *buf) | |||
| 266 | * Leave P_Key as 0 to be filled in by driver. | 266 | * Leave P_Key as 0 to be filled in by driver. |
| 267 | */ | 267 | */ |
| 268 | 268 | ||
| 269 | static inline void ip_ib_mc_map(__be32 naddr, char *buf) | 269 | static inline void ip_ib_mc_map(__be32 naddr, const unsigned char *broadcast, char *buf) |
| 270 | { | 270 | { |
| 271 | __u32 addr; | 271 | __u32 addr; |
| 272 | unsigned char scope = broadcast[5] & 0xF; | ||
| 273 | |||
| 272 | buf[0] = 0; /* Reserved */ | 274 | buf[0] = 0; /* Reserved */ |
| 273 | buf[1] = 0xff; /* Multicast QPN */ | 275 | buf[1] = 0xff; /* Multicast QPN */ |
| 274 | buf[2] = 0xff; | 276 | buf[2] = 0xff; |
| 275 | buf[3] = 0xff; | 277 | buf[3] = 0xff; |
| 276 | addr = ntohl(naddr); | 278 | addr = ntohl(naddr); |
| 277 | buf[4] = 0xff; | 279 | buf[4] = 0xff; |
| 278 | buf[5] = 0x12; /* link local scope */ | 280 | buf[5] = 0x10 | scope; /* scope from broadcast address */ |
| 279 | buf[6] = 0x40; /* IPv4 signature */ | 281 | buf[6] = 0x40; /* IPv4 signature */ |
| 280 | buf[7] = 0x1b; | 282 | buf[7] = 0x1b; |
| 281 | buf[8] = 0; /* P_Key */ | 283 | buf[8] = broadcast[8]; /* P_Key */ |
| 282 | buf[9] = 0; | 284 | buf[9] = broadcast[9]; |
| 283 | buf[10] = 0; | 285 | buf[10] = 0; |
| 284 | buf[11] = 0; | 286 | buf[11] = 0; |
| 285 | buf[12] = 0; | 287 | buf[12] = 0; |
