code: func (b *RedistributeBody) Serialize(version uint8) ([]byte, error) {
  	if version <= 3 {
  		return []byte{uint8(b.Redist)}, nil
  	} else { // version >= 4
  		buf := make([]byte, 4)
  		buf[0] = uint8(b.Afi)
  		buf[1] = uint8(b.Redist)
  		binary.BigEndian.PutUint16(buf[2:4], b.Instance)
  		return buf, nil
  	}
  }
docs: //  Reference: zebra_redistribute_send function in lib/zclient.c of Quagga1.2.x (ZAPI3)
  //  Reference: zebra_redistribute_send function in lib/zclient.c of FRR3.x (ZAPI4)
  //  Reference: zebra_redistribute_send function in lib/zclient.c of FRR5.x (ZAPI5)