1*2d543d20SAndroid Build Coastguard WorkerInfiniband Statements 2*2d543d20SAndroid Build Coastguard Worker===================== 3*2d543d20SAndroid Build Coastguard Worker 4*2d543d20SAndroid Build Coastguard WorkerTo support access control for InfiniBand (IB) partitions and subnet management, security contexts are provided for: Partition Keys (Pkey) that are 16 bit numbers assigned to subnets and their IB end ports. An overview of the SELinux IB implementation can be found at: [http://marc.info/?l=selinux&m=149519833917911&w=2](http://marc.info/?l=selinux&m=149519833917911&w=2). 5*2d543d20SAndroid Build Coastguard Worker 6*2d543d20SAndroid Build Coastguard Workeribpkeycon 7*2d543d20SAndroid Build Coastguard Worker--------- 8*2d543d20SAndroid Build Coastguard Worker 9*2d543d20SAndroid Build Coastguard WorkerLabel IB partition keys. This may be a single key or a range. 10*2d543d20SAndroid Build Coastguard Worker 11*2d543d20SAndroid Build Coastguard Worker**Statement definition:** 12*2d543d20SAndroid Build Coastguard Worker 13*2d543d20SAndroid Build Coastguard Worker```secil 14*2d543d20SAndroid Build Coastguard Worker (ibpkeycon subnet pkey|(pkey_low pkey_high) context_id) 15*2d543d20SAndroid Build Coastguard Worker``` 16*2d543d20SAndroid Build Coastguard Worker 17*2d543d20SAndroid Build Coastguard Worker**Where:** 18*2d543d20SAndroid Build Coastguard Worker 19*2d543d20SAndroid Build Coastguard Worker<table> 20*2d543d20SAndroid Build Coastguard Worker<colgroup> 21*2d543d20SAndroid Build Coastguard Worker<col width="25%" /> 22*2d543d20SAndroid Build Coastguard Worker<col width="75%" /> 23*2d543d20SAndroid Build Coastguard Worker</colgroup> 24*2d543d20SAndroid Build Coastguard Worker<tbody> 25*2d543d20SAndroid Build Coastguard Worker<tr class="odd"> 26*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>ibpkeycon</code></p></td> 27*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>The <code>ibpkeycon</code> keyword.</p></td> 28*2d543d20SAndroid Build Coastguard Worker</tr> 29*2d543d20SAndroid Build Coastguard Worker<tr class="even"> 30*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>subnet</code></p> 31*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>IP address in IPv6 format.</p> 32*2d543d20SAndroid Build Coastguard Worker</tr> 33*2d543d20SAndroid Build Coastguard Worker<tr class="odd"> 34*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>pkey | (pkey_low pkey_high)</code></p> 35*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>A single partition key or a range of partition keys.</p> 36*2d543d20SAndroid Build Coastguard Worker</tr> 37*2d543d20SAndroid Build Coastguard Worker<tr class="even"> 38*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>context_id</code></p></td> 39*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>A previously declared <code>context</code> identifier or an anonymous security context (<code>user role type levelrange</code>), the range MUST be defined whether the policy is MLS/MCS enabled or not.</p></td> 40*2d543d20SAndroid Build Coastguard Worker</tr> 41*2d543d20SAndroid Build Coastguard Worker</tbody> 42*2d543d20SAndroid Build Coastguard Worker</table> 43*2d543d20SAndroid Build Coastguard Worker 44*2d543d20SAndroid Build Coastguard Worker**Example:** 45*2d543d20SAndroid Build Coastguard Worker 46*2d543d20SAndroid Build Coastguard WorkerAn anonymous context for a partition key range of `0x0-0x10` assigned to an IPv6 subnet: 47*2d543d20SAndroid Build Coastguard Worker 48*2d543d20SAndroid Build Coastguard Worker```secil 49*2d543d20SAndroid Build Coastguard Worker (ibpkeycon fe80:: (0 0x10) (system_u system_r kernel_t (low (s3 (cats01 cats02))))) 50*2d543d20SAndroid Build Coastguard Worker``` 51*2d543d20SAndroid Build Coastguard Worker 52*2d543d20SAndroid Build Coastguard Workeribendportcon 53*2d543d20SAndroid Build Coastguard Worker------------ 54*2d543d20SAndroid Build Coastguard Worker 55*2d543d20SAndroid Build Coastguard WorkerLabel IB end ports. 56*2d543d20SAndroid Build Coastguard Worker 57*2d543d20SAndroid Build Coastguard Worker**Statement definition:** 58*2d543d20SAndroid Build Coastguard Worker 59*2d543d20SAndroid Build Coastguard Worker```secil 60*2d543d20SAndroid Build Coastguard Worker (ibendportcon device_id port context_id) 61*2d543d20SAndroid Build Coastguard Worker``` 62*2d543d20SAndroid Build Coastguard Worker 63*2d543d20SAndroid Build Coastguard Worker**Where:** 64*2d543d20SAndroid Build Coastguard Worker 65*2d543d20SAndroid Build Coastguard Worker<table> 66*2d543d20SAndroid Build Coastguard Worker<colgroup> 67*2d543d20SAndroid Build Coastguard Worker<col width="27%" /> 68*2d543d20SAndroid Build Coastguard Worker<col width="72%" /> 69*2d543d20SAndroid Build Coastguard Worker</colgroup> 70*2d543d20SAndroid Build Coastguard Worker<tbody> 71*2d543d20SAndroid Build Coastguard Worker<tr class="odd"> 72*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>ibendportcon</code></p></td> 73*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>The <code>ibendportcon</code> keyword.</p></td> 74*2d543d20SAndroid Build Coastguard Worker</tr> 75*2d543d20SAndroid Build Coastguard Worker<tr class="even"> 76*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>device_id</code></p> 77*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>A single device identifier.</p> 78*2d543d20SAndroid Build Coastguard Worker</tr> 79*2d543d20SAndroid Build Coastguard Worker<tr class="odd"> 80*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>port</code></p> 81*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>A single port number.</p> 82*2d543d20SAndroid Build Coastguard Worker</tr> 83*2d543d20SAndroid Build Coastguard Worker<tr class="even"> 84*2d543d20SAndroid Build Coastguard Worker<td align="left"><p><code>context_id</code></p></td> 85*2d543d20SAndroid Build Coastguard Worker<td align="left"><p>A previously declared <code>context</code> identifier or an anonymous security context (<code>user role type levelrange</code>), the range MUST be defined whether the policy is MLS/MCS enabled or not.</p></td> 86*2d543d20SAndroid Build Coastguard Worker</tr> 87*2d543d20SAndroid Build Coastguard Worker</tbody> 88*2d543d20SAndroid Build Coastguard Worker</table> 89*2d543d20SAndroid Build Coastguard Worker 90*2d543d20SAndroid Build Coastguard Worker**Example:** 91*2d543d20SAndroid Build Coastguard Worker 92*2d543d20SAndroid Build Coastguard WorkerA named context for device `mlx5_0` on port `1`: 93*2d543d20SAndroid Build Coastguard Worker 94*2d543d20SAndroid Build Coastguard Worker```secil 95*2d543d20SAndroid Build Coastguard Worker (ibendportcon mlx5_0 1 system_u_bin_t_l2h) 96*2d543d20SAndroid Build Coastguard Worker``` 97