らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Cisco ACI では Primary Subnet しか DHCP Relay 出来ない

以前に ACI で DHCP Relay を設定する というメモを書きました。 Bridge Domain にひとつしか Subnet を設定していない場合は問題が無いのですが、複数の Subnet を設定する場合は様々な注意が必要です。 そのひとつに「BD に複数 Subnet が設定されていても、DHCP Relay 可能なネットワークはひとつだけ」という点が挙げられます。 ACI では BD Subnet を作成した場合、デフォルトでは Make this IP address primary はチェックされていません。

f:id:sig9:20201018215150p:plain

BD に複数 Subnet を設定した場合、DHCP Relay に応答出来るのは Primary Address のみ です。 仮にデフォルトのまま、非 Primary な Subnet を複数設定した場合、「最初に設定したアドレスが Primary Address として動作し、DHCP Relay 可能になる」 という振る舞いに見えましたが、これは保証されたものではありません。 この場合、show ip interface bridge-domain [BD] の出力結果は以下のようになります。 Subnet として設定したアドレスはいずれも secondary と表示され、「どちらが先に設定されたのか?」が分かりません (※ ちなみに下記は 10.0.2.254 を先に設定しており、Primary Address のような動作をしていますが、下側に表示されています)。

apic# show ip interface bridge-domain Bd1
----- IPv4 Bridge-Domain Information: -----
Tenant       : Tenant1
Interface    : Bd1
VRF Member   : Vrf1
IP Addresses : 10.0.1.254/24,secondary
               10.0.2.254/24,secondary


DHCP policies Applied:
  DHCP Relay Policy  : DhcpRelay1
  DHCP Option Policy : 
  Policy Owner       : tenant
    Relay Address : 10.0.99.254
    EPg           : uni/tn-Tenant1/out-L3Out1/instP-ExtEpg1
IGMP Snooping Policy Info:
  IGMP Snooping Policy Name Applied : uni/tn-common/snPol-default
  Flags                             : 
  Admin State                       : enabled
  Last Memeber Query Interval       : 1
  Query Interval                    : 125
  Query Max Response Time           : 10
  Start Query Count                 : 2

明示的に Make this IP address primary を設定すると、その Subnet が DHCP Relay として動作します。

f:id:sig9:20201018220300p:plain

CLI で確認すると Primary にした Subnet からは secondary 表示が消えていることが分かります。

apic# show ip interface bridge-domain Bd1
----- IPv4 Bridge-Domain Information: -----
Tenant       : Tenant1
Interface    : Bd1
VRF Member   : Vrf1
IP Addresses : 10.0.1.254/24          
               10.0.2.254/24,secondary


DHCP policies Applied:
  DHCP Relay Policy  : DhcpRelay1
  DHCP Option Policy : 
  Policy Owner       : tenant
    Relay Address : 10.0.99.254
    EPg           : uni/tn-Tenant1/out-L3Out1/instP-ExtEpg1
IGMP Snooping Policy Info:
  IGMP Snooping Policy Name Applied : uni/tn-common/snPol-default
  Flags                             : 
  Admin State                       : enabled
  Last Memeber Query Interval       : 1
  Query Interval                    : 125
  Query Max Response Time           : 10
  Start Query Count                 : 2
  Start Query Interval              : 31

同一の BD の複数 Subnet へ同時に Make this IP address primary を設定しようとすると以下のエラーが表示されます。 Make this IP address primary の設定を出来るのは同一 BD 内で常に「最大ひとつ」だけです (ひとつも Primary 設定しないことは可能です)。

f:id:sig9:20201018220731p:plain