Difference between revisions of "VPP/DHCPv6"

From fd.io
< VPP
Jump to: navigation, search
Line 49: Line 49:
 
   };
 
   };
 
    
 
    
/** \brief Add/delete IPv6 address optionally using available prefix
+
  /** \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_index - software interface index of interface
+
      @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,
+
      @param prefix_group - prefix group,
                          ~0 means no prefix should be used
+
                            ~0 means no prefix should be used
*/
+
  */
autoreply define control_plane_ip6_address_add_del
+
  autoreply define control_plane_ip6_address_add_del
{
+
  {
  u32 client_index;
+
    u32 client_index;
  u32 context;
+
    u32 context;
  u32 sw_if_index;
+
    u32 sw_if_index;
  u32 prefix_group;
+
    u32 prefix_group;
  u8 address[16];
+
    u8 address[16];
  u8 prefix_length;
+
    u8 prefix_length;
  u8 is_add;
+
    u8 is_add;
};
+
  };

Revision as of 11:21, 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;
 };