Difference between revisions of "VPP/DHCPv6"

From fd.io
< VPP
Jump to: navigation, search
(Created page with " = DHCPv6 = == DHCPv6 IA_NA == To enable/disable DHCPv6 IA_NA client on an interface: dhcp6 client <interface> [disable] Binary API: /** \brief Enable/disable DHCPv6 cl...")
 
Line 29: Line 29:
 
To show the state of clients and prefixes:
 
To show the state of clients and prefixes:
 
   show ip6 pd clients
 
   show ip6 pd clients
   show ip6 pd prefixes
+
   show ip6 prefixes
  
To set interfaces which should acquire IP addresses from available prefixes:
+
To add/delete IPv6 address potentially using available prefix from specified prefix group:
   set ip6 pd addresses (<interface>+ | del)
+
   set ip6 addresses <interface> [prefix group <n>] <address> [del]
  
 
Binary API:
 
Binary API:
Line 49: Line 49:
 
   };
 
   };
 
    
 
    
  /** \brief Set IPv6 address using prefix obtained from DHCPv6 PD
+
/** \brief Add/delete IPv6 address optionally using available prefix
      @param client_index - opaque cookie to identify the sender
+
    @param client_index - opaque cookie to identify the sender
      @param context - sender context, to match reply w/ request
+
    @param context - sender context, to match reply w/ request
      @param sw_if_indices - list of software interface indices of interfaces
+
    @param sw_if_index - software interface index of interface
                            to add/delete address to/from
+
                        to add/delete address to/from
  */
+
    @param prefix_group - prefix group,
  autoreply define ip6_pd_addresses_set
+
                          ~0 means no prefix should be used
  {
+
*/
    u32 client_index;
+
autoreply define control_plane_ip6_address_add_del
    u32 context;
+
{
    u32 n_interfaces;
+
  u32 client_index;
    u32 sw_if_indices[n_interfaces];
+
  u32 context;
   };
+
  u32 sw_if_index;
 +
  u32 prefix_group;
 +
  u8 address[16];
 +
   u8 prefix_length;
 +
  u8 is_add;
 +
};

Revision as of 11:20, 30 May 2018

DHCPv6

DHCPv6 IA_NA

To enable/disable DHCPv6 IA_NA client on an interface:

 dhcp6 client <interface> [disable]

Binary API:

 /** \brief Enable/disable DHCPv6 client on interface
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param sw_if_index - interface to enable/disable client on
     @param enable - 1 to enable, 0 to disable
 */
 autoreply define dhcp6_client_enable_disable
 {
   u32 client_index;
   u32 context;
   u32 sw_if_index;
   u8 enable;
 };

DHCPv6 prefix delegation

To enable/disable DHCPv6 prefix delegation client on an interface:

 dhcp6 pd client <interface> [disable]

To show the state of clients and prefixes:

 show ip6 pd clients
 show ip6 prefixes

To add/delete IPv6 address potentially using available prefix from specified prefix group:

 set ip6 addresses <interface> [prefix group <n>] <address> [del]

Binary API:

 /** \brief Enable/disable DHCPv6 PD client on interface
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param sw_if_index - interface to enable/disable client on
     @param enable - 1 to enable, 0 to disable
 */
 autoreply define dhcp6_pd_client_enable_disable
 {
   u32 client_index;
   u32 context;
   u32 sw_if_index;
   u8 enable;
 };
 

/** \brief Add/delete IPv6 address optionally using available prefix

   @param client_index - opaque cookie to identify the sender
   @param context - sender context, to match reply w/ request
   @param sw_if_index - software interface index of interface
                        to add/delete address to/from
   @param prefix_group - prefix group,
                         ~0 means no prefix should be used
  • /

autoreply define control_plane_ip6_address_add_del {

 u32 client_index;
 u32 context;
 u32 sw_if_index;
 u32 prefix_group;
 u8 address[16];
 u8 prefix_length;
 u8 is_add;

};